[pypy-commit] pypy stmgc-c7: various fixes until llsupport/test/* pass again
arigo
noreply at buildbot.pypy.org
Wed Nov 12 12:04:07 CET 2014
Author: Armin Rigo <arigo at tunes.org>
Branch: stmgc-c7
Changeset: r74477:67cf1848a979
Date: 2014-11-12 12:03 +0100
http://bitbucket.org/pypy/pypy/changeset/67cf1848a979/
Log: various fixes until llsupport/test/* pass again
diff --git a/rpython/jit/backend/llsupport/rewrite.py b/rpython/jit/backend/llsupport/rewrite.py
--- a/rpython/jit/backend/llsupport/rewrite.py
+++ b/rpython/jit/backend/llsupport/rewrite.py
@@ -70,7 +70,7 @@
continue
if op.is_guard():
self.emit_pending_zeros()
- elif op.can_malloc():
+ elif op.is_call():
self.emitting_an_operation_that_can_collect()
elif op.getopnum() == rop.LABEL:
self.emitting_an_operation_that_can_collect()
@@ -547,7 +547,7 @@
def must_apply_write_barrier(self, val, v):
if val not in self.write_barrier_applied:
- if isinstance(v, BoxPtr) or (isinstance(v, ConstPtr) and
+ if (isinstance(v, BoxPtr) or (isinstance(v, ConstPtr) and
rgc.needs_write_barrier(v.value))):
return True
return False
diff --git a/rpython/jit/backend/llsupport/stmrewrite.py b/rpython/jit/backend/llsupport/stmrewrite.py
--- a/rpython/jit/backend/llsupport/stmrewrite.py
+++ b/rpython/jit/backend/llsupport/stmrewrite.py
@@ -84,7 +84,7 @@
return
# ---------- other ignored ops ----------
if opnum in (rop.STM_SHOULD_BREAK_TRANSACTION, rop.FORCE_TOKEN,
- rop.READ_TIMESTAMP, rop.MARK_OPAQUE_PTR,
+ rop.MARK_OPAQUE_PTR,
rop.JIT_DEBUG, rop.KEEPALIVE,
rop.QUASIIMMUT_FIELD, rop.RECORD_KNOWN_CLASS,
):
diff --git a/rpython/jit/backend/llsupport/test/test_rewrite.py b/rpython/jit/backend/llsupport/test/test_rewrite.py
--- a/rpython/jit/backend/llsupport/test/test_rewrite.py
+++ b/rpython/jit/backend/llsupport/test/test_rewrite.py
@@ -103,7 +103,6 @@
signedframedescr = self.cpu.signedframedescr
floatframedescr = self.cpu.floatframedescr
casmdescr.compiled_loop_token = clt
- tzdescr = None # noone cares
#
namespace.update(locals())
#
diff --git a/rpython/jit/backend/llsupport/test/test_stmrewrite.py b/rpython/jit/backend/llsupport/test/test_stmrewrite.py
--- a/rpython/jit/backend/llsupport/test/test_stmrewrite.py
+++ b/rpython/jit/backend/llsupport/test/test_stmrewrite.py
@@ -4,7 +4,8 @@
from rpython.jit.metainterp import resoperation
from rpython.jit.backend.llsupport.test.test_rewrite import (
RewriteTests, BaseFakeCPU)
-from rpython.rtyper.lltypesystem import lltype, rclass, rffi, llmemory
+from rpython.rtyper.lltypesystem import lltype, rffi, llmemory
+from rpython.rtyper import rclass
def test_all_operations_with_gc_in_their_name():
@@ -72,6 +73,7 @@
for name, value in self.gc_ll_descr.__dict__.items():
if name.endswith('descr') and name[1] == '2' and len(name) == 8:
namespace[name] = value # "X2Ydescr"
+ self.gc_ll_descr.malloc_zero_filled = True
RewriteTests.check_rewrite(self, frm_operations, to_operations,
**namespace)
@@ -340,7 +342,6 @@
"i3 = int_add(i1, i2)", # all pure operations
"f3 = float_abs(f1)",
"i3 = force_token()",
- "i3 = read_timestamp()",
"i3 = mark_opaque_ptr(p1)",
"jit_debug(i1, i2)",
"keepalive(i1)",
@@ -546,14 +547,14 @@
self.check_rewrite("""
[p1, p2, i2, p3, i3]
setarrayitem_gc(p1, i2, p2, descr=adescr) #noptr
- i4 = read_timestamp()
+ i4 = force_token()
setarrayitem_gc(p1, i3, p3, descr=adescr) #noptr
jump()
""", """
[p1, p2, i2, p3, i3]
cond_call_gc_wb_array(p1, i2, descr=wbdescr)
setarrayitem_gc(p1, i2, p2, descr=adescr)
- i4 = read_timestamp()
+ i4 = force_token()
cond_call_gc_wb_array(p1, i3, descr=wbdescr)
setarrayitem_gc(p1, i3, p3, descr=adescr)
$DUMMYALLOC
@@ -564,14 +565,14 @@
self.check_rewrite("""
[p1, p2, i2, p3, i3]
setinteriorfield_gc(p1, i2, p2, descr=intzdescr)
- i4 = read_timestamp()
+ i4 = force_token()
setinteriorfield_gc(p1, i3, p3, descr=intzdescr)
jump()
""", """
[p1, p2, i2, p3, i3]
cond_call_gc_wb_array(p1, i2, descr=wbdescr)
setinteriorfield_gc(p1, i2, p2, descr=intzdescr)
- i4 = read_timestamp()
+ i4 = force_token()
cond_call_gc_wb_array(p1, i3, descr=wbdescr)
setinteriorfield_gc(p1, i3, p3, descr=intzdescr)
$DUMMYALLOC
diff --git a/rpython/jit/backend/x86/assembler.py b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -1213,7 +1213,7 @@
if shadowstack_reg is None:
mc.MOV(ecx, self.heap_shadowstack_top())
shadowstack_reg = ecx
- mc.MOV(ebp, mem(shadowstack_reg, -WORD))
+ mc.MOV(ebp, mem(self.SEGMENT_NO, shadowstack_reg, -WORD))
wbdescr = self.cpu.gc_ll_descr.write_barrier_descr
if gcrootmap and wbdescr:
# frame never uses card marking, so we enforce this is not
More information about the pypy-commit
mailing list