Author: David Schneider <david.schnei...@picle.org> Branch: jitframe-on-heap Changeset: r62096:eaa83da7cec2 Date: 2013-03-05 19:27 +0100 http://bitbucket.org/pypy/pypy/changeset/eaa83da7cec2/
Log: update get_gcmap diff --git a/rpython/jit/backend/arm/regalloc.py b/rpython/jit/backend/arm/regalloc.py --- a/rpython/jit/backend/arm/regalloc.py +++ b/rpython/jit/backend/arm/regalloc.py @@ -32,6 +32,7 @@ from rpython.jit.backend.llsupport.descr import unpack_arraydescr from rpython.jit.backend.llsupport.descr import unpack_fielddescr from rpython.jit.backend.llsupport.descr import unpack_interiorfielddescr +from rpython.rlib.rarithmetic import r_longlong, r_uint # xxx hack: set a default value for TargetToken._ll_loop_code. If 0, we know @@ -341,14 +342,14 @@ for box, loc in self.rm.reg_bindings.iteritems(): if loc in forbidden_regs: continue - if box.type == REF and self.fm.stays_alive(box): + if box.type == REF and self.rm.is_still_alive(box): assert not noregs - assert isinstance(loc, RegLoc) - val = gpr_reg_mgr_cls.all_reg_indexes[loc.value] + assert loc.is_reg() + val = loc.value gcmap[val // WORD // 8] |= r_uint(1) << (val % (WORD * 8)) for box, loc in self.fm.bindings.iteritems(): - if box.type == REF and self.fm.stays_alive(box): - assert isinstance(loc, StackLoc) + if box.type == REF and self.rm.is_still_alive(box): + assert loc.is_stack() val = loc.value // WORD gcmap[val // WORD // 8] |= r_uint(1) << (val % (WORD * 8)) for i in range(len(gcmap)): _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit