Author: Brian Kearns <bdkea...@gmail.com>
Branch: 
Changeset: r69995:d026840bbc03
Date: 2014-03-16 23:06 -0400
http://bitbucket.org/pypy/pypy/changeset/d026840bbc03/

Log:    set oopspecindex for all versions of raw_malloc_varsize_char and
        raw_free

diff --git a/rpython/jit/codewriter/jtransform.py 
b/rpython/jit/codewriter/jtransform.py
--- a/rpython/jit/codewriter/jtransform.py
+++ b/rpython/jit/codewriter/jtransform.py
@@ -555,7 +555,7 @@
             name += '_no_track_allocation'
         TYPE = op.args[0].value
         op1 = self.prepare_builtin_call(op, name, args, (TYPE,), TYPE)
-        if name == 'raw_malloc_varsize' and TYPE.OF == lltype.Char:
+        if name.startswith('raw_malloc_varsize') and TYPE.OF == lltype.Char:
             return self._handle_oopspec_call(op1, args,
                                              
EffectInfo.OS_RAW_MALLOC_VARSIZE_CHAR,
                                              EffectInfo.EF_CAN_RAISE)
@@ -589,7 +589,7 @@
             name += '_no_track_allocation'
         op1 = self.prepare_builtin_call(op, name, [op.args[0]], (STRUCT,),
                                         STRUCT)
-        if name == 'raw_free':
+        if name.startswith('raw_free'):
             return self._handle_oopspec_call(op1, [op.args[0]],
                                              EffectInfo.OS_RAW_FREE,
                                              EffectInfo.EF_CANNOT_RAISE)
diff --git a/rpython/jit/codewriter/test/test_jtransform.py 
b/rpython/jit/codewriter/test/test_jtransform.py
--- a/rpython/jit/codewriter/test/test_jtransform.py
+++ b/rpython/jit/codewriter/test/test_jtransform.py
@@ -60,7 +60,7 @@
 class FakeResidualCallControl:
     def guess_call_kind(self, op):
         return 'residual'
-    def getcalldescr(self, op, **kwds):
+    def getcalldescr(self, op, oopspecindex=None, extraeffect=None):
         return 'calldescr'
     def calldescr_canraise(self, calldescr):
         return True
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
@@ -1,4 +1,3 @@
-import pytest
 from rpython.jit.metainterp.test.support import LLJitMixin
 from rpython.rtyper.lltypesystem import lltype, rffi
 from rpython.rlib.rawstorage import (alloc_raw_storage, raw_storage_setitem,
@@ -46,7 +45,6 @@
         self.check_operations_history({'call': 2, 'guard_no_exception': 1,
                                        '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({'finish': 1}, 
omit_finish=False)
 
     def test_raw_storage_float(self):
@@ -61,7 +59,6 @@
         self.check_operations_history({'call': 2, 'guard_no_exception': 1,
                                        '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({'finish': 1}, 
omit_finish=False)
 
     def test_raw_storage_byte(self):
@@ -76,7 +73,6 @@
         self.check_operations_history({'call': 2, 'guard_no_exception': 1,
                                        '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({'finish': 1}, 
omit_finish=False)
 
     def test_raw_storage_options(self):
@@ -91,7 +87,6 @@
         self.check_operations_history({'call': 2, 'guard_no_exception': 1,
                                        '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({'finish': 1}, 
omit_finish=False)
 
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to