[pypy-commit] pypy default: Expand a bit the comments.
arigo
noreply at buildbot.pypy.org
Thu Apr 19 16:52:12 CEST 2012
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r54539:b89254c1241f
Date: 2012-04-19 16:49 +0200
http://bitbucket.org/pypy/pypy/changeset/b89254c1241f/
Log: Expand a bit the comments.
diff --git a/pypy/jit/backend/x86/assembler.py b/pypy/jit/backend/x86/assembler.py
--- a/pypy/jit/backend/x86/assembler.py
+++ b/pypy/jit/backend/x86/assembler.py
@@ -1657,14 +1657,17 @@
# XXX hard-coded assumption: to go from an object to its class
# we use the following algorithm:
# - read the typeid from mem(locs[0]), i.e. at offset 0
- # - keep the lower 16 bits read there
- # - multiply by 4 and use it as an offset in type_info_group
- # - add 16 bytes, to go past the TYPE_INFO structure
+ # - keep the lower half-word read there
+ # - multiply by 4 (on 32-bits only) and use it as an
+ # offset in type_info_group
+ # - add 16/32 bytes, to go past the TYPE_INFO structure
loc = locs[1]
assert isinstance(loc, ImmedLoc)
classptr = loc.value
# here, we have to go back from 'classptr' to the value expected
- # from reading the 16 bits in the object header
+ # from reading the half-word in the object header. Note that
+ # this half-word is at offset 0 on a little-endian machine;
+ # it would be at offset 2 or 4 on a big-endian machine.
from pypy.rpython.memory.gctypelayout import GCData
sizeof_ti = rffi.sizeof(GCData.TYPE_INFO)
type_info_group = llop.gc_get_type_info_group(llmemory.Address)
More information about the pypy-commit
mailing list