[pypy-svn] r54324 - in pypy/branch/oo-jit/pypy: annotation jit/codegen/llgraph jit/rainbow/test jit/timeshifter
antocuni at codespeak.net
antocuni at codespeak.net
Fri May 2 16:00:09 CEST 2008
Author: antocuni
Date: Fri May 2 16:00:08 2008
New Revision: 54324
Modified:
pypy/branch/oo-jit/pypy/annotation/model.py
pypy/branch/oo-jit/pypy/jit/codegen/llgraph/rgenop.py
pypy/branch/oo-jit/pypy/jit/rainbow/test/test_llinterp.py
pypy/branch/oo-jit/pypy/jit/timeshifter/oop.py
Log:
more translation fixes; skip tests that are known to fail
Modified: pypy/branch/oo-jit/pypy/annotation/model.py
==============================================================================
--- pypy/branch/oo-jit/pypy/annotation/model.py (original)
+++ pypy/branch/oo-jit/pypy/annotation/model.py Fri May 2 16:00:08 2008
@@ -595,6 +595,8 @@
return s_val.ootype
if isinstance(s_val, SomeOOStaticMeth):
return s_val.method
+ if isinstance(s_val, SomeOOClass):
+ return s_val.ootype
if isinstance(s_val, SomeInteriorPtr):
p = s_val.ll_ptrtype
if 0 in p.offsets:
@@ -633,6 +635,8 @@
return SomeOOStaticMeth(T)
elif T == ootype.Class:
return SomeOOClass(ootype.ROOT)
+ elif T == ootype.Object:
+ return SomeOOObject()
elif isinstance(T, ExternalType):
return SomeExternalInstance(T._class_)
elif isinstance(T, lltype.InteriorPtr):
Modified: pypy/branch/oo-jit/pypy/jit/codegen/llgraph/rgenop.py
==============================================================================
--- pypy/branch/oo-jit/pypy/jit/codegen/llgraph/rgenop.py (original)
+++ pypy/branch/oo-jit/pypy/jit/codegen/llgraph/rgenop.py Fri May 2 16:00:08 2008
@@ -290,6 +290,11 @@
"genop_oononnull: bad currently_writing")
return LLVar(llimpl.genop(self.b, 'oononnull', [gv_obj], gv_Bool.v))
+ def genop_ooisnull(self, gv_obj):
+ ll_assert(self.rgenop.currently_writing is self,
+ "genop_ooisnull: bad currently_writing")
+ return LLVar(llimpl.genop(self.b, 'ooisnull', [gv_obj], gv_Bool.v))
+
def genop_cast_int_to_ptr(self, gv_PTRTYPE, gv_int):
ll_assert(self.rgenop.currently_writing is self,
"genop_cast_int_to_ptr: bad currently_writing")
Modified: pypy/branch/oo-jit/pypy/jit/rainbow/test/test_llinterp.py
==============================================================================
--- pypy/branch/oo-jit/pypy/jit/rainbow/test/test_llinterp.py (original)
+++ pypy/branch/oo-jit/pypy/jit/rainbow/test/test_llinterp.py Fri May 2 16:00:08 2008
@@ -18,6 +18,15 @@
test_dfa_compile = skip
test_dfa_compile2 = skip
test_dfa_compile3 = skip
+ test_multiple_portal_calls = skip
+ test_cast_ptr_to_int = skip
+ test_residual_red_call_with_promoted_exc = skip
+ test_residual_oop_raising = skip
+ test_simple_recursive_portal_call = skip
+ test_simple_recursive_portal_call2 = skip
+ test_recursive_portal_call = skip
+ test_indirect_call_voidargs = skip
+ test_vdict_and_vlist = skip
Modified: pypy/branch/oo-jit/pypy/jit/timeshifter/oop.py
==============================================================================
--- pypy/branch/oo-jit/pypy/jit/timeshifter/oop.py (original)
+++ pypy/branch/oo-jit/pypy/jit/timeshifter/oop.py Fri May 2 16:00:08 2008
@@ -280,6 +280,9 @@
self.ARGS = [METH.SELFTYPE] + list(METH.ARGS)
self.RESULT = METH.RESULT
+ wrapper = ootype.build_unbound_method_wrapper(meth)
+ self.fnptr = self.rtyper.annotate_helper_fn(wrapper, self.ARGS)
+
# we assume the number and position of the arguments are the
# same as in the original oosend
self.OOPARGTYPES = [self.SELFTYPE] + list(METH.ARGS)
@@ -289,7 +292,6 @@
methname = methname.lstrip('ll_')
self.method = 'oop_%s_method_%s' % (self.typename, methname)
self.is_method = True
- self.fnptr = meth
class SendOopSpecDesc_list(SendOopSpecDesc):
More information about the Pypy-commit
mailing list