Author: Brian Kearns <[email protected]>
Branch: 
Changeset: r69993:3dfe9fa95df6
Date: 2014-03-16 21:22 -0400
http://bitbucket.org/pypy/pypy/changeset/3dfe9fa95df6/

Log:    ensure the guard_no_exception is removed after making a virtual raw
        buffer

diff --git a/rpython/jit/metainterp/optimizeopt/virtualize.py 
b/rpython/jit/metainterp/optimizeopt/virtualize.py
--- a/rpython/jit/metainterp/optimizeopt/virtualize.py
+++ b/rpython/jit/metainterp/optimizeopt/virtualize.py
@@ -705,6 +705,7 @@
             return
         size = sizebox.value
         self.make_virtual_raw_memory(size, op.result, op)
+        self.last_emitted_operation = REMOVED
 
     def do_RAW_FREE(self, op):
         value = self.getvalue(op.getarg(1))
diff --git a/rpython/jit/metainterp/test/test_rawmem.py 
b/rpython/jit/metainterp/test/test_rawmem.py
--- a/rpython/jit/metainterp/test/test_rawmem.py
+++ b/rpython/jit/metainterp/test/test_rawmem.py
@@ -47,9 +47,7 @@
                                        'raw_store': 1, 'raw_load': 1,
                                        'finish': 1})
         pytest.skip("XXX alloc_raw_storage doesn't generate virtualizable raw 
buffer")
-        self.metainterp.staticdata.stats.check_resops(
-            {'guard_no_exception': 1, 'finish': 1},
-            omit_finish=False)
+        self.metainterp.staticdata.stats.check_resops({'finish': 1}, 
omit_finish=False)
 
     def test_raw_storage_float(self):
         def f():
@@ -64,9 +62,7 @@
                                        'raw_store': 1, 'raw_load': 1,
                                        'finish': 1})
         pytest.skip("XXX alloc_raw_storage doesn't generate virtualizable raw 
buffer")
-        self.metainterp.staticdata.stats.check_resops(
-            {'guard_no_exception': 1, 'finish': 1},
-            omit_finish=False)
+        self.metainterp.staticdata.stats.check_resops({'finish': 1}, 
omit_finish=False)
 
     def test_raw_storage_byte(self):
         def f():
@@ -81,9 +77,7 @@
                                        'raw_store': 1, 'raw_load': 1,
                                        'finish': 1})
         pytest.skip("XXX alloc_raw_storage doesn't generate virtualizable raw 
buffer")
-        self.metainterp.staticdata.stats.check_resops(
-            {'guard_no_exception': 1, 'finish': 1},
-            omit_finish=False)
+        self.metainterp.staticdata.stats.check_resops({'finish': 1}, 
omit_finish=False)
 
     def test_raw_storage_options(self):
         def f():
@@ -98,9 +92,7 @@
                                        'raw_store': 1, 'raw_load': 1,
                                        'finish': 1})
         pytest.skip("XXX alloc_raw_storage doesn't generate virtualizable raw 
buffer")
-        self.metainterp.staticdata.stats.check_resops(
-            {'guard_no_exception': 1, 'finish': 1},
-            omit_finish=False)
+        self.metainterp.staticdata.stats.check_resops({'finish': 1}, 
omit_finish=False)
 
 
 class TestRawMem(RawMemTests, LLJitMixin):
diff --git a/rpython/jit/metainterp/test/test_virtual.py 
b/rpython/jit/metainterp/test/test_virtual.py
--- a/rpython/jit/metainterp/test/test_virtual.py
+++ b/rpython/jit/metainterp/test/test_virtual.py
@@ -1150,8 +1150,7 @@
         res = self.meta_interp(f, [10])
         assert res == 55
         self.check_trace_count(1)
-        self.check_resops(getarrayitem_raw=0, setarrayitem_raw=0,
-                          raw_load=0, raw_store=0)
+        self.check_resops({'guard_true': 2, 'int_add': 4, 'int_lt': 2, 'jump': 
1})
 
     def test_raw_malloc_resume(self):
         mydriver = JitDriver(greens=[], reds = 'auto')
@@ -1173,8 +1172,9 @@
         res = self.meta_interp(f, [10])
         assert res == 4000+55
         self.check_trace_count(2)
-        self.check_resops(getarrayitem_raw=0, setarrayitem_raw=0,
-                          raw_load=0, raw_store=0)
+        self.check_resops({'guard_false': 2, 'guard_true': 5,
+                           'int_add': 8, 'int_gt': 3, 'int_lt': 4, 'int_mul': 
2,
+                           'jump': 2})
 
     def test_raw_malloc_no_virtualstate(self):
         mydriver = JitDriver(greens=[], reds = 'auto')
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to