OSDN Git Service

Properly relocate objects with exposed identity hash codes.
authorCarl Shapiro <cshapiro@google.com>
Tue, 4 May 2010 03:14:14 +0000 (20:14 -0700)
committerCarl Shapiro <cshapiro@google.com>
Tue, 4 May 2010 07:52:52 +0000 (00:52 -0700)
commit2396fda0f5907178632a14d70a94257023e33d42
tree82cd09fe8101d2a8e86d4042f3e15eff59e06942
parent02a7882ba97645ca3e2d4490a28a77c1226664a8
Properly relocate objects with exposed identity hash codes.

When the transporter encounters an identity hashed object it will
allocate an additional word in to-space that it fills with the
identity hash code.  The identity has code is the from-space address
for uncopied objects and a word immediately after the instance for
copied objects.  The transporter will update the hash code state when
it relocates the identity hash code.

All size computations are now performed by objectSize which now
interprets the hash code state.  Similarly, all transportation logic
has been moved to transportObject which knows how to allocate and fill
the word holding the identity hash code.

Change-Id: I4920e18299850168b41158de748c8331be541ca1
vm/alloc/Copying.c