[pypy-commit] pypy gc_no_cleanup_nursery: enforce more and skip some tests
fijal
noreply at buildbot.pypy.org
Thu Sep 25 12:27:22 CEST 2014
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: gc_no_cleanup_nursery
Changeset: r73698:b61f12a5227e
Date: 2014-09-25 12:26 +0200
http://bitbucket.org/pypy/pypy/changeset/b61f12a5227e/
Log: enforce more and skip some tests
diff --git a/rpython/jit/backend/llgraph/runner.py b/rpython/jit/backend/llgraph/runner.py
--- a/rpython/jit/backend/llgraph/runner.py
+++ b/rpython/jit/backend/llgraph/runner.py
@@ -642,8 +642,12 @@
def bh_new_array(self, length, arraydescr):
array = lltype.malloc(arraydescr.A, length, zero=True)
+ assert getkind(arraydescr.A.OF) != 'ref' # getkind crashes on structs
return lltype.cast_opaque_ptr(llmemory.GCREF, array)
- bh_new_array_clear = bh_new_array
+
+ def bh_new_array_clear(self, length, arraydescr):
+ array = lltype.malloc(arraydescr.A, length, zero=True)
+ return lltype.cast_opaque_ptr(llmemory.GCREF, array)
def bh_classof(self, struct):
struct = lltype.cast_opaque_ptr(rclass.OBJECTPTR, struct)
diff --git a/rpython/jit/backend/test/runner_test.py b/rpython/jit/backend/test/runner_test.py
--- a/rpython/jit/backend/test/runner_test.py
+++ b/rpython/jit/backend/test/runner_test.py
@@ -4449,6 +4449,10 @@
assert res.getint() == struct.unpack("I", struct.pack("f", 12.5))[0]
def test_zero_ptr_field(self):
+ from rpython.jit.backend.llsupport.llmodel import AbstractLLCPU
+
+ if not isinstance(self.cpu, AbstractLLCPU):
+ py.test.skip("llgraph can't do zero_ptr_field")
T = lltype.GcStruct('T')
S = lltype.GcStruct('S', ('x', lltype.Ptr(T)))
tdescr = self.cpu.sizeof(T)
@@ -4469,7 +4473,12 @@
s = lltype.cast_opaque_ptr(lltype.Ptr(S), ref)
assert not s.x
- def test_zero_ptr_field(self):
+ def test_zero_ptr_field_2(self):
+ from rpython.jit.backend.llsupport.llmodel import AbstractLLCPU
+
+ if not isinstance(self.cpu, AbstractLLCPU):
+ py.test.skip("llgraph does not do zero_ptr_field")
+
from rpython.jit.backend.llsupport import symbolic
S = lltype.GcStruct('S', ('x', lltype.Signed),
('p', llmemory.GCREF),
@@ -4490,6 +4499,11 @@
assert s.y == -4398176
def test_zero_array(self):
+ from rpython.jit.backend.llsupport.llmodel import AbstractLLCPU
+
+ if not isinstance(self.cpu, AbstractLLCPU):
+ py.test.skip("llgraph does not do zero_array")
+
PAIR = lltype.Struct('PAIR', ('a', lltype.Signed), ('b', lltype.Signed))
for OF in [lltype.Signed, rffi.INT, rffi.SHORT, rffi.UCHAR, PAIR]:
A = lltype.GcArray(OF)
More information about the pypy-commit
mailing list