Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Issue 151198: X64: Align start of remembered set to a 4-byte boundary (Closed)

Created:
11 years, 5 months ago by William Hesse
Modified:
9 years, 7 months ago
Reviewers:
Lasse Reichstein
CC:
v8-dev
Visibility:
Public.

Description

X64: Align start of remembered set to a 4-byte boundary Committed: http://code.google.com/p/v8/source/detail?r=2337

Patch Set 1 #

Total comments: 1

Patch Set 2 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+3 lines, -1 line) Patch
M src/spaces.h View 1 1 chunk +3 lines, -1 line 0 comments Download

Messages

Total messages: 2 (0 generated)
William Hesse
11 years, 5 months ago (2009-07-02 09:13:11 UTC) #1
Lasse Reichstein
11 years, 5 months ago (2009-07-02 10:27:50 UTC) #2
LGTM.
"But I still think Carthage should be sacked!"

http://codereview.chromium.org/151198/diff/1/2
File src/spaces.h (right):

http://codereview.chromium.org/151198/diff/1/2#newcode233
Line 233: // This needs to be at least 32 * kBitsPerPointer, to align start of
rset.
Should probably be 32 (kBitsPerWord) * kBytesPerPointer.

It's not entirely true. What we align is the start of the part of the RSet that
is actively being used. 
Coneceptually, we have a remembered set for the entire page, including the part
before the object start. In 32-bit mode we know that the first 64 bits of those
are not used, so we can reuse them for something else, effecitvely making the
RSet start at offset 8.
Starting objects at offset 256 will mean that we don't use the first 32 bits of
the RSet, so we can reuse the space. But we don't need that space for anything
else anyway, so we could start the object at byte 160 and the RSet at byte 32,
and just know that we never set the first 20 bits of the RSet. The RSet is still
aligned, we just have 20 more zero bits at the beginning to ignore. On the other
hand, it leaves 96 more bytes in the page - room enough for six HeapNumbers.

Powered by Google App Engine
This is Rietveld 408576698