[pypy-commit] pypy ppc-jit-backend: Implement emit_setfield_raw, emit_getfield_raw, emit_getfield_raw_pure, emit_getfield_gc_pure, emit_setarrayitem_raw, emit_getarrayitem_raw, emit_getarrayitem_gc_pure

edelsohn noreply at buildbot.pypy.org
Fri Aug 26 22:34:35 CEST 2011


Author: edelsohn
Branch: ppc-jit-backend
Changeset: r46805:5fedcd54c3cb
Date: 2011-08-26 16:32 -0400
http://bitbucket.org/pypy/pypy/changeset/5fedcd54c3cb/

Log:	Implement emit_setfield_raw, emit_getfield_raw,
	emit_getfield_raw_pure, emit_getfield_gc_pure,
	emit_setarrayitem_raw, emit_getarrayitem_raw,
	emit_getarrayitem_gc_pure

diff --git a/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py b/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py
--- a/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py
+++ b/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py
@@ -1202,6 +1202,9 @@
         elif width == 1:
             self.stb(value_reg, addr_reg, offset)
 
+    def emit_setfield_raw(self, op, cpu):
+        self.emit_setfield_gc(op, cpu)
+
     def emit_getfield_gc(self, op, cpu):
         args = op.getarglist()
         fptr = args[0]
@@ -1231,6 +1234,15 @@
         cpu.reg_map[result] = cpu.next_free_register
         cpu.next_free_register += 1
 
+    def emit_getfield_raw(self, op, cpu):
+        self.emit_getfield_gc(op, cpu)
+
+    def emit_getfield_raw_pure(self, op, cpu):
+        self.emit_getfield_gc(op, cpu)
+
+    def emit_getfield_gc_pure(self, op, cpu):
+        self.emit_getfield_gc(op, cpu)
+
     def emit_arraylen_gc(self, op, cpu):
         args = op.getarglist()
         fptr = args[0]
@@ -1274,6 +1286,9 @@
         elif width == 1:
             self.stbx(value_reg, field_addr_reg, offset_reg)
 
+    def emit_setarrayitem_raw(self, op, cpu):
+        self.emit_setarrayitem_gc(op, cpu)
+
     def emit_getarrayitem_gc(self, op, cpu):
         args = op.getarglist()
         fptr = args[0]
@@ -1315,6 +1330,12 @@
         cpu.reg_map[result] = cpu.next_free_register
         cpu.next_free_register += 1
 
+    def emit_getarrayitem_raw(self, op, cpu):
+        self.emit_getarrayitem_gc(op, cpu)
+
+    def emit_getarrayitem_gc_pure(self, op, cpu):
+        self.emit_getarrayitem_gc(op, cpu)
+
     ############################
     # unary integer operations #
     ############################


More information about the pypy-commit mailing list