本文整理汇总了Python中frame.Frame.push_undefined方法的典型用法代码示例。如果您正苦于以下问题:Python Frame.push_undefined方法的具体用法?Python Frame.push_undefined怎么用?Python Frame.push_undefined使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类frame.Frame
的用法示例。
在下文中一共展示了Frame.push_undefined方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from frame import Frame [as 别名]
# 或者: from frame.Frame import push_undefined [as 别名]
#.........这里部分代码省略.........
raise NotImplementedError('op not')
elif lhs.is_object():
self.frame.pop()
self.frame.push_bool(False)
else:
reg = lhs.to_reg()
if lhs.is_bool():
self.assembler.xor(reg, 1)
elif lhs.is_int():
self.assembler.cmp(reg, 0)
self.assembler.xor(reg, reg)
self.assembler.jne(end)
self.assembler.mov(reg, 1)
self.assembler.add_(end)
else:
raise NotImplementedError('op not')
self.frame.pop()
self.frame.take_reg(reg)
self.frame.push('bool', reg)
def op_void(self, node):
self.compile_node(node[0])
lhs = self.frame.peek(-1)
@function(None, Value)
def log(v):
print 'void stub (logging)'
v.dump()
self.call(log, lhs)
self.frame.pop()
self.frame.push_undefined()
def op_plus(self, node):
self.binary(node, 'add')
def op_minus(self, node):
self.binary(node, 'sub')
def binary(self, node, op):
self.compile_node(node[0])
self.compile_node(node[1])
rhs = self.frame.peek(-1)
lhs = self.frame.peek(-2)
if lhs.is_constant() and rhs.is_constant():
value = getattr(self.rt, op)(lhs.to_boxed_int(), rhs.to_boxed_int())
self.frame.pop()
self.frame.pop()
self.frame.push_boxed_int(value)
elif lhs.is_int() and rhs.is_int():
reg1 = rhs.to_reg()
reg2 = lhs.to_reg()
getattr(self.assembler, op)(reg1, reg2)
self.frame.pop()
self.frame.pop()
self.frame.push('int', reg1)
else:
@function(c_int, Value, Value)
def add_stub(lhs, rhs):