Author: Richard Plangger <[email protected]>
Branch: s390x-backend
Changeset: r81434:24cc91a9576d
Date: 2015-12-23 10:32 +0100
http://bitbucket.org/pypy/pypy/changeset/24cc91a9576d/
Log: pushing constant base ptr of gc_store/load into literal pool
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(0)
+ if arg.is_constant():
+ self.offset_map[arg] = self.size
+ self.reserve_literal(8)
arg = op.getarg(2)
if arg.is_constant():
self.offset_map[arg] = self.size
@@ -64,6 +68,10 @@
or opnum in (rop.GC_LOAD_INDEXED_F,
rop.GC_LOAD_INDEXED_R,
rop.GC_LOAD_INDEXED_I,):
+ arg = op.getarg(0)
+ if arg.is_constant():
+ self.offset_map[arg] = self.size
+ self.reserve_literal(8)
return
elif op.is_call_release_gil():
for arg in op.getarglist()[1:]:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit