[pypy-svn] r64640 - pypy/branch/pyjitpl5/pypy/jit/backend/minimal

arigo at codespeak.net arigo at codespeak.net
Fri Apr 24 15:01:51 CEST 2009


Author: arigo
Date: Fri Apr 24 15:01:49 2009
New Revision: 64640

Modified:
   pypy/branch/pyjitpl5/pypy/jit/backend/minimal/runner.py
Log:
Fix do_new_with_vtable.
Test: test_zrpy_exception.TestException.test_bridge_from_interpreter_exc


Modified: pypy/branch/pyjitpl5/pypy/jit/backend/minimal/runner.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/backend/minimal/runner.py	(original)
+++ pypy/branch/pyjitpl5/pypy/jit/backend/minimal/runner.py	Fri Apr 24 15:01:49 2009
@@ -258,7 +258,14 @@
         p = sizedescr.alloc()
         return BoxPtr(p)
 
-    do_new_with_vtable = do_new
+    def do_new_with_vtable(self, args, sizedescr):
+        assert isinstance(sizedescr, SizeDescr)
+        assert sizedescr.alloc is not None
+        p = sizedescr.alloc()
+        classadr = args[0].getaddr(self)
+        pobj = lltype.cast_opaque_ptr(rclass.OBJECTPTR, p)
+        pobj.typeptr = llmemory.cast_adr_to_ptr(classadr, rclass.CLASSTYPE)
+        return BoxPtr(p)
 
     def do_getfield_gc(self, args, fielddescr):
         assert isinstance(fielddescr, FieldDescr)



More information about the Pypy-commit mailing list