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