Author: Richard Plangger <planri...@gmail.com>
Branch: s390x-backend
Changeset: r81348:62b16757aa42
Date: 2015-12-16 15:57 +0100
http://bitbucket.org/pypy/pypy/changeset/62b16757aa42/

Log:    fixed issue with gc_store, constant was not pushed to literal pool
        (did not think that value could be constant)

diff --git a/rpython/jit/backend/zarch/assembler.py 
b/rpython/jit/backend/zarch/assembler.py
--- a/rpython/jit/backend/zarch/assembler.py
+++ b/rpython/jit/backend/zarch/assembler.py
@@ -142,6 +142,7 @@
         return startpos
 
     def _build_wb_slowpath(self, withcards, withfloats=False, for_frame=False):
+        return
         descr = self.cpu.gc_ll_descr.write_barrier_descr
         if descr is None:
             return
@@ -276,6 +277,7 @@
         # f) store the address of the new jitframe in the shadowstack
         # c) set the gcmap field to 0 in the new jitframe
         # g) restore registers and return
+        return
         mc = PPCBuilder()
         self.mc = mc
 
diff --git a/rpython/jit/backend/zarch/pool.py 
b/rpython/jit/backend/zarch/pool.py
--- a/rpython/jit/backend/zarch/pool.py
+++ b/rpython/jit/backend/zarch/pool.py
@@ -53,6 +53,10 @@
                 self.reserve_literal(8)
             return
         elif opnum == rop.GC_STORE or opnum == rop.GC_STORE_INDEXED:
+            arg = op.getarg(2)
+            if arg.is_constant():
+                self.offset_map[arg] = self.size
+                self.reserve_literal(8)
             return
         elif opnum in (rop.GC_LOAD_F,
                        rop.GC_LOAD_I,
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to