Author: Maciej Fijalkowski <fij...@gmail.com> Branch: optresult Changeset: r78110:69624489a478 Date: 2015-06-15 13:02 +0200 http://bitbucket.org/pypy/pypy/changeset/69624489a478/
Log: add a fast path to avoid issues with JitVirtualRef diff --git a/rpython/jit/backend/llsupport/descr.py b/rpython/jit/backend/llsupport/descr.py --- a/rpython/jit/backend/llsupport/descr.py +++ b/rpython/jit/backend/llsupport/descr.py @@ -130,8 +130,10 @@ cls = llmemory.cast_adr_to_ptr( heaptracker.int2adr(self.parent_descr.get_vtable()), lltype.Ptr(rclass.OBJECT_VTABLE)) - assert rclass.ll_isinstance(lltype.cast_opaque_ptr( - rclass.OBJECTPTR, struct), cls) + tpptr = lltype.cast_opaque_ptr(rclass.OBJECTPTR, struct).typeptr + if tpptr != cls: + assert rclass.ll_isinstance(lltype.cast_opaque_ptr( + rclass.OBJECTPTR, struct), cls) else: pass _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit