Beispiel #1
0
 def main():
     loop(1)
     op = jit_hooks.resop_new(
         rop.INT_ADD,
         [jit_hooks.boxint_new(3),
          jit_hooks.boxint_new(4)], jit_hooks.boxint_new(1))
     assert hlstr(jit_hooks.resop_getopname(op)) == 'int_add'
     assert jit_hooks.resop_getopnum(op) == rop.INT_ADD
     box = jit_hooks.resop_getarg(op, 0)
     assert jit_hooks.box_getint(box) == 3
     box2 = jit_hooks.box_clone(box)
     assert box2 != box
     assert jit_hooks.box_getint(box2) == 3
     assert not jit_hooks.box_isconst(box2)
     box3 = jit_hooks.box_constbox(box)
     assert jit_hooks.box_getint(box) == 3
     assert jit_hooks.box_isconst(box3)
     box4 = jit_hooks.box_nonconstbox(box)
     assert not jit_hooks.box_isconst(box4)
     box5 = jit_hooks.boxint_new(18)
     jit_hooks.resop_setarg(op, 0, box5)
     assert jit_hooks.resop_getarg(op, 0) == box5
     box6 = jit_hooks.resop_getresult(op)
     assert jit_hooks.box_getint(box6) == 1
     jit_hooks.resop_setresult(op, box5)
     assert jit_hooks.resop_getresult(op) == box5
Beispiel #2
0
 def main():
     loop(1)
     op = jit_hooks.resop_new(rop.INT_ADD,
                              [jit_hooks.boxint_new(3),
                               jit_hooks.boxint_new(4)],
                              jit_hooks.boxint_new(1))
     assert hlstr(jit_hooks.resop_getopname(op)) == 'int_add'
     assert jit_hooks.resop_getopnum(op) == rop.INT_ADD
     box = jit_hooks.resop_getarg(op, 0)
     assert jit_hooks.box_getint(box) == 3
     box2 = jit_hooks.box_clone(box)
     assert box2 != box
     assert jit_hooks.box_getint(box2) == 3
     assert not jit_hooks.box_isconst(box2)
     box3 = jit_hooks.box_constbox(box)
     assert jit_hooks.box_getint(box) == 3
     assert jit_hooks.box_isconst(box3)
     box4 = jit_hooks.box_nonconstbox(box)
     assert not jit_hooks.box_isconst(box4)
     box5 = jit_hooks.boxint_new(18)
     jit_hooks.resop_setarg(op, 0, box5)
     assert jit_hooks.resop_getarg(op, 0) == box5
     box6 = jit_hooks.resop_getresult(op)
     assert jit_hooks.box_getint(box6) == 1
     jit_hooks.resop_setresult(op, box5)
     assert jit_hooks.resop_getresult(op) == box5
Beispiel #3
0
def descr_new_dmp(space, w_tp, w_args, repr, jd_name, call_depth, call_id, w_greenkey):

    args = [space.interp_w(WrappedBox, w_arg).llbox for w_arg in space.listview(w_args)]
    num = rop.DEBUG_MERGE_POINT
    return DebugMergePoint(
        space, jit_hooks.resop_new(num, args, jit_hooks.emptyval()), repr, jd_name, call_depth, call_id, w_greenkey
    )
Beispiel #4
0
def descr_new_resop(space, w_tp, num, w_args, w_res, offset=-1, repr=""):
    args = [space.interp_w(WrappedBox, w_arg).llbox for w_arg in space.listview(w_args)]
    if space.is_none(w_res):
        llres = jit_hooks.emptyval()
    else:
        if not isinstance(w_res, WrappedBox):
            raise OperationError(space.w_TypeError, space.wrap("expected box type, got %s" % space.type(w_res)))
        llres = w_res.llbox
    return WrappedOp(jit_hooks.resop_new(num, args, llres), offset, repr)
Beispiel #5
0
def descr_new_dmp(space, w_tp, w_args, repr, jd_name, call_depth, call_id,
                  w_greenkey):

    args = [
        space.interp_w(WrappedBox, w_arg).llbox
        for w_arg in space.listview(w_args)
    ]
    num = rop.DEBUG_MERGE_POINT
    return DebugMergePoint(
        space, jit_hooks.resop_new(num, args, jit_hooks.emptyval()), repr,
        jd_name, call_depth, call_id, w_greenkey)
Beispiel #6
0
def descr_new_resop(space, w_tp, num, w_args, w_res, offset=-1, repr=''):
    args = [
        space.interp_w(WrappedBox, w_arg).llbox
        for w_arg in space.listview(w_args)
    ]
    if space.is_none(w_res):
        llres = jit_hooks.emptyval()
    else:
        if not isinstance(w_res, WrappedBox):
            raise OperationError(
                space.w_TypeError,
                space.wrap("expected box type, got %s" % space.type(w_res)))
        llres = w_res.llbox
    return WrappedOp(jit_hooks.resop_new(num, args, llres), offset, repr)