Author: hager <[email protected]>
Branch: ppc-jit-backend
Changeset: r52444:da57d1e43b4c
Date: 2012-02-14 11:46 +0100
http://bitbucket.org/pypy/pypy/changeset/da57d1e43b4c/
Log: alloc SCRATCH reg in emit_getinteriorfield_gc
diff --git a/pypy/jit/backend/ppc/opassembler.py
b/pypy/jit/backend/ppc/opassembler.py
--- a/pypy/jit/backend/ppc/opassembler.py
+++ b/pypy/jit/backend/ppc/opassembler.py
@@ -542,6 +542,7 @@
def emit_getinteriorfield_gc(self, op, arglocs, regalloc):
(base_loc, index_loc, res_loc,
ofs_loc, ofs, itemsize, fieldsize) = arglocs
+ self.mc.alloc_scratch_reg()
self.mc.load_imm(r.SCRATCH, itemsize.value)
self.mc.mullw(r.SCRATCH.value, index_loc.value, r.SCRATCH.value)
if ofs.value > 0:
@@ -560,6 +561,7 @@
self.mc.lbzx(res_loc.value, base_loc.value, r.SCRATCH.value)
else:
assert 0
+ self.mc.free_scratch_reg()
#XXX Hack, Hack, Hack
if not we_are_translated():
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit