Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r66213:dbfb39c958a1 Date: 2013-08-19 17:09 +0200 http://bitbucket.org/pypy/pypy/changeset/dbfb39c958a1/
Log: Oups. Revert the previous change and document why it was wrong diff --git a/rpython/rlib/rgc.py b/rpython/rlib/rgc.py --- a/rpython/rlib/rgc.py +++ b/rpython/rlib/rgc.py @@ -343,13 +343,12 @@ return intmask(id(Class)) def cast_gcref_to_int(gcref): + # This is meant to be used on cast_instance_to_gcref results. + # Don't use this on regular gcrefs obtained e.g. with + # lltype.cast_opaque_ptr(). if we_are_translated(): return lltype.cast_ptr_to_int(gcref) else: - from rpython.rtyper.lltypesystem.ll2ctypes import _llgcopaque - if isinstance(gcref._obj, _llgcopaque): - from rpython.rtyper.lltypesystem import rffi - return rffi.cast(lltype.Signed, gcref) return id(gcref._x) def dump_rpy_heap(fd): diff --git a/rpython/rlib/test/test_rgc.py b/rpython/rlib/test/test_rgc.py --- a/rpython/rlib/test/test_rgc.py +++ b/rpython/rlib/test/test_rgc.py @@ -228,8 +228,3 @@ x1 = X() n = rgc.get_rpy_memory_usage(rgc.cast_instance_to_gcref(x1)) assert n >= 8 and n <= 64 - -def test_cast_gcref_to_int(): - from rpython.rtyper.lltypesystem import rffi - x = rffi.cast(llmemory.GCREF, 123456) - assert rgc.cast_gcref_to_int(x) == 123456 _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit