Author: hager <[email protected]>
Branch: ppc-jit-backend
Changeset: r48523:00a70b5f77a9
Date: 2011-10-27 19:13 +0200
http://bitbucket.org/pypy/pypy/changeset/00a70b5f77a9/
Log: GETFIELD_RAW, SETFIELD_RAW, GETFIELD_RAW_PURE, GETFIELD_GC_PURE.
diff --git a/pypy/jit/backend/ppc/ppcgen/opassembler.py
b/pypy/jit/backend/ppc/ppcgen/opassembler.py
--- a/pypy/jit/backend/ppc/ppcgen/opassembler.py
+++ b/pypy/jit/backend/ppc/ppcgen/opassembler.py
@@ -264,7 +264,6 @@
descr._ppc_frame_manager_depth)
regalloc.frame_manager.frame_depth = new_fd
- # XXX adjust 64 bit
def emit_setfield_gc(self, op, arglocs, regalloc):
value_loc, base_loc, ofs, size = arglocs
if size.value == 8:
@@ -289,8 +288,8 @@
self.mc.stbx(value_loc.value, base_loc.value, ofs.value)
else:
assert 0, "size not supported"
+ emit_setfield_raw = emit_setfield_gc
- # XXX adjust 64 bit
def emit_getfield_gc(self, op, arglocs, regalloc):
base_loc, ofs, res, size = arglocs
if size.value == 8:
@@ -315,6 +314,9 @@
self.mc.lbzx(res.value, base_loc.value, ofs.value)
else:
assert 0, "size not supported"
+ emit_getfield_raw = emit_getfield_gc
+ emit_getfield_raw_pure = emit_getfield_gc
+ emit_getfield_gc_pure = emit_getfield_gc
def emit_arraylen_gc(self, op, arglocs, regalloc):
res, base_loc, ofs = arglocs
diff --git a/pypy/jit/backend/ppc/ppcgen/regalloc.py
b/pypy/jit/backend/ppc/ppcgen/regalloc.py
--- a/pypy/jit/backend/ppc/ppcgen/regalloc.py
+++ b/pypy/jit/backend/ppc/ppcgen/regalloc.py
@@ -359,6 +359,8 @@
self.possibly_free_vars(boxes)
return [value_loc, base_loc, ofs_loc, imm(size)]
+ prepare_setfield_raw = prepare_setfield_gc
+
def prepare_getfield_gc(self, op):
a0 = op.getarg(0)
ofs, size, ptr = self._unpack_fielddescr(op.getdescr())
@@ -375,6 +377,10 @@
self.possibly_free_var(op.result)
return [base_loc, ofs_loc, res, imm(size)]
+ prepare_getfield_raw = prepare_getfield_gc
+ prepare_getfield_raw_pure = prepare_getfield_gc
+ prepare_getfield_gc_pure = prepare_getfield_gc
+
def prepare_arraylen_gc(self, op):
arraydescr = op.getdescr()
assert isinstance(arraydescr, BaseArrayDescr)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit