[pypy-commit] pypy gc-incminimark-pinning: add first simple JIT test with a pinned object
groggi
noreply at buildbot.pypy.org
Thu Aug 14 19:05:24 CEST 2014
Author: Gregor Wegberg <code at gregorwegberg.com>
Branch: gc-incminimark-pinning
Changeset: r72812:b5b57f12e441
Date: 2014-08-14 19:03 +0200
http://bitbucket.org/pypy/pypy/changeset/b5b57f12e441/
Log: add first simple JIT test with a pinned object
diff --git a/rpython/jit/backend/llsupport/test/zrpy_gc_test.py b/rpython/jit/backend/llsupport/test/zrpy_gc_test.py
--- a/rpython/jit/backend/llsupport/test/zrpy_gc_test.py
+++ b/rpython/jit/backend/llsupport/test/zrpy_gc_test.py
@@ -775,3 +775,32 @@
def test_compile_framework_call_assembler(self):
self.run('compile_framework_call_assembler')
+
+ def define_pinned_simple(cls):
+ from rpython.rlib.jit import promote
+ class H:
+ inst = None
+ helper = H()
+
+ @dont_look_inside
+ def get_y():
+ if not helper.inst:
+ helper.inst = X()
+ helper.inst.x = 101
+ assert rgc.pin(helper.inst)
+ else:
+ assert rgc._is_pinned(helper.inst)
+ return helper.inst
+
+ def fn(n, x, *args):
+ t = get_y()
+ promote(t)
+ t.x += 11
+ n -= 1
+ return (n, x) + args
+
+ return None, fn, None
+
+ def test_pinned_simple(self):
+ self.run('pinned_simple')
+
More information about the pypy-commit
mailing list