[pypy-commit] pypy default: Another passing test about green fields
arigo
noreply at buildbot.pypy.org
Fri Oct 9 17:56:23 CEST 2015
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r80090:7498b2a47354
Date: 2015-10-09 16:36 +0200
http://bitbucket.org/pypy/pypy/changeset/7498b2a47354/
Log: Another passing test about green fields
diff --git a/rpython/jit/metainterp/test/test_greenfield.py b/rpython/jit/metainterp/test/test_greenfield.py
--- a/rpython/jit/metainterp/test/test_greenfield.py
+++ b/rpython/jit/metainterp/test/test_greenfield.py
@@ -1,5 +1,5 @@
from rpython.jit.metainterp.test.support import LLJitMixin
-from rpython.rlib.jit import JitDriver
+from rpython.rlib.jit import JitDriver, assert_green
class GreenFieldsTests:
@@ -52,6 +52,27 @@
self.check_trace_count(6)
self.check_resops(guard_value=0)
+ def test_green_field_3(self):
+ myjitdriver = JitDriver(greens=['ctx.x'], reds=['ctx'])
+ class Ctx(object):
+ _immutable_fields_ = ['x']
+ def __init__(self, x, y):
+ self.x = x
+ self.y = y
+ def f(x, y):
+ ctx = Ctx(x, y)
+ while ctx.y > 0:
+ myjitdriver.can_enter_jit(ctx=ctx)
+ myjitdriver.jit_merge_point(ctx=ctx)
+ assert_green(ctx.x)
+ ctx.y -= ctx.x
+ return -2100
+ def g():
+ return f(5, 35) + f(6, 42)
+ #
+ res = self.meta_interp(g, [])
+ assert res == -4200
+
class TestLLtypeGreenFieldsTests(GreenFieldsTests, LLJitMixin):
pass
More information about the pypy-commit
mailing list