Exemplo n.º 1
0
def wrap_oplist(space, logops, operations, ops_offset=None):
    l_w = []
    for op in operations:
        if ops_offset is None:
            ofs = -1
        else:
            ofs = ops_offset.get(op, 0)
        l_w.append(WrappedOp(jit_hooks._cast_to_gcref(op), ofs,
                             logops.repr_of_resop(op)))
    return l_w
Exemplo n.º 2
0
def wrap_oplist(space, logops, operations, ops_offset=None):
    l_w = []
    jitdrivers_sd = logops.metainterp_sd.jitdrivers_sd
    for op in operations:
        if ops_offset is None:
            ofs = -1
        else:
            ofs = ops_offset.get(op, 0)
        if op.opnum == rop.DEBUG_MERGE_POINT:
            jd_sd = jitdrivers_sd[op.getarg(0).getint()]
            greenkey = op.getarglist()[2:]
            repr = jd_sd.warmstate.get_location_str(greenkey)
            w_greenkey = wrap_greenkey(space, jd_sd.jitdriver, greenkey, repr)
            l_w.append(DebugMergePoint(space, jit_hooks._cast_to_gcref(op),
                                       logops.repr_of_resop(op),
                                       jd_sd.jitdriver.name,
                                       op.getarg(1).getint(),
                                       w_greenkey))
        else:
            l_w.append(WrappedOp(jit_hooks._cast_to_gcref(op), ofs,
                                 logops.repr_of_resop(op)))
    return l_w
Exemplo n.º 3
0
def wrap_oplist(space, logops, operations, ops_offset=None):
    l_w = []
    jitdrivers_sd = logops.metainterp_sd.jitdrivers_sd
    for op in operations:
        if ops_offset is None:
            ofs = -1
        else:
            ofs = ops_offset.get(op, 0)
        if op.opnum == rop.DEBUG_MERGE_POINT:
            jd_sd = jitdrivers_sd[op.getarg(0).getint()]
            greenkey = op.getarglist()[3:]
            repr = jd_sd.warmstate.get_location_str(greenkey)
            w_greenkey = wrap_greenkey(space, jd_sd.jitdriver, greenkey, repr)
            l_w.append(DebugMergePoint(space, jit_hooks._cast_to_gcref(op),
                                       logops.repr_of_resop(op),
                                       jd_sd.jitdriver.name,
                                       op.getarg(1).getint(),
                                       op.getarg(2).getint(),
                                       w_greenkey))
        else:
            l_w.append(WrappedOp(jit_hooks._cast_to_gcref(op), ofs,
                                 logops.repr_of_resop(op)))
    return l_w