Author: Antonio Cuni <[email protected]>
Branch: virtual-raw-mallocs
Changeset: r59478:3724e2688557
Date: 2012-12-17 17:30 +0100
http://bitbucket.org/pypy/pypy/changeset/3724e2688557/
Log: rewrite the failing test to use an untyped buffer and
{get,set}arrayitem_gc ops, because this is what happends in cffi
diff --git a/pypy/jit/metainterp/test/test_virtual.py
b/pypy/jit/metainterp/test/test_virtual.py
--- a/pypy/jit/metainterp/test/test_virtual.py
+++ b/pypy/jit/metainterp/test/test_virtual.py
@@ -3,7 +3,7 @@
from pypy.rlib.objectmodel import compute_unique_id
from pypy.jit.codewriter.policy import StopAtXPolicy
from pypy.jit.metainterp.test.support import LLJitMixin, OOJitMixin
-from pypy.rpython.lltypesystem import lltype, rclass
+from pypy.rpython.lltypesystem import lltype, rclass, rffi
from pypy.rpython.lltypesystem.lloperation import llop
from pypy.rpython.ootypesystem import ootype
from pypy.jit.codewriter import heaptracker
@@ -1195,8 +1195,6 @@
('floatval', lltype.Float),
('extra', lltype.Signed))
-RAW_NODE = lltype.Struct('NODE', ('value', lltype.Signed))
-
class TestLLtype_NotObject(VirtualTests, LLJitMixin):
_new_op = 'new'
_field_prefix = ''
@@ -1212,18 +1210,17 @@
res = 0
while i < n:
mydriver.jit_merge_point()
- node = lltype.malloc(RAW_NODE, flavor='raw')
- node.value = i
- node.value += 1
- res += node.value
- i = node.value
- lltype.free(node, flavor='raw')
+ buffer = lltype.malloc(rffi.CCHARP.TO, 1, flavor='raw')
+ buffer[0] = chr(i+1)
+ res += ord(buffer[0])
+ i = ord(buffer[0])
+ lltype.free(buffer, flavor='raw')
return res
assert f(10) == 55
res = self.meta_interp(f, [10])
assert res == 55
self.check_trace_count(1)
- self.check_resops(setfield_raw=0, getfield_raw=0)
+ self.check_resops(setarrayitem_raw=0, getarrayitem_raw=0)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit