[pypy-commit] pypy ppc-jit-backend: Removed hardcoded offset from emit_strlen.

hager noreply at buildbot.pypy.org
Tue Aug 30 11:24:31 CEST 2011


Author: hager <sven.hager at uni-duesseldorf.de>
Branch: ppc-jit-backend
Changeset: r46919:3dc0d3bb7884
Date: 2011-08-30 11:24 +0200
http://bitbucket.org/pypy/pypy/changeset/3dc0d3bb7884/

Log:	Removed hardcoded offset from emit_strlen.

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
@@ -1354,10 +1354,12 @@
         base_box = args[0]
         base_reg = cpu.reg_map[base_box]
         free_reg = cpu.next_free_register
+        _, _, ofs_length = symbolic.get_array_token(rstr.STR, 
+                           cpu.translate_support_code)
         if IS_PPC_32:
-            self.lwz(free_reg, base_reg, 4)
+            self.lwz(free_reg, base_reg, ofs_length)
         else:
-            self.ld(free_reg, base_reg, 8)
+            self.ld(free_reg, base_reg, ofs_length)
         result = op.result
         cpu.reg_map[result] = free_reg
         cpu.next_free_register += 1


More information about the pypy-commit mailing list