Author: Antonio Cuni <[email protected]>
Branch: virtual-raw-mallocs
Changeset: r59477:43d8e4d8dbc0
Date: 2012-12-17 15:07 +0100
http://bitbucket.org/pypy/pypy/changeset/43d8e4d8dbc0/

Log:    a failing test

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
@@ -1195,6 +1195,8 @@
                                ('floatval', lltype.Float),
                                ('extra', lltype.Signed))
 
+RAW_NODE = lltype.Struct('NODE', ('value', lltype.Signed))
+
 class TestLLtype_NotObject(VirtualTests, LLJitMixin):
     _new_op = 'new'
     _field_prefix = ''
@@ -1203,6 +1205,28 @@
     def _new():
         return lltype.malloc(NODE)
 
+    def test_raw_malloc(self):
+        mydriver = JitDriver(greens=[], reds = 'auto')
+        def f(n):
+            i = 0
+            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')
+            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)
+
+
+
 
 OONODE = ootype.Instance('NODE', ootype.ROOT, {})
 OONODE._add_fields({'value': ootype.Signed,
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to