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

Issue 203523009: Access old space marking bits from runtime only when incremental marking is in MARKING state. (Closed)

Created:
6 years, 9 months ago by Hannes Payer (out of office)
Modified:
6 years, 9 months ago
Reviewers:
Michael Starzinger
CC:
v8-dev
Visibility:
Public.

Description

Access old space marking bits from runtime only when incremental marking is in MARKING state. BUG= R=mstarzinger@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=20057

Patch Set 1 #

Patch Set 2 : #

Total comments: 4

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+52 lines, -57 lines) Patch
M src/builtins.cc View 1 2 1 chunk +2 lines, -4 lines 1 comment Download
M src/heap.h View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M src/heap.cc View 1 2 1 chunk +12 lines, -0 lines 0 comments Download
M src/mark-compact.h View 1 2 3 1 chunk +1 line, -2 lines 0 comments Download
M src/mark-compact.cc View 1 2 3 3 chunks +5 lines, -6 lines 0 comments Download
M src/objects.cc View 1 2 3 4 15 chunks +22 lines, -39 lines 0 comments Download
M src/objects-inl.h View 1 chunk +2 lines, -1 line 0 comments Download
M src/runtime.cc View 1 2 1 chunk +3 lines, -5 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Hannes Payer (out of office)
The marking bits should never be accessed outside the GC unless we now for sure ...
6 years, 9 months ago (2014-03-19 08:30:39 UTC) #1
Michael Starzinger
LGTM with one comment to address and one suggestion. https://codereview.chromium.org/203523009/diff/20001/src/objects.cc File src/objects.cc (right): https://codereview.chromium.org/203523009/diff/20001/src/objects.cc#newcode2281 src/objects.cc:2281: ...
6 years, 9 months ago (2014-03-19 09:30:34 UTC) #2
Hannes Payer (out of office)
Committed patchset #5 manually as r20057 (presubmit successful).
6 years, 9 months ago (2014-03-19 10:49:03 UTC) #3
Michael Starzinger
Hmm ... https://codereview.chromium.org/203523009/diff/30004/src/builtins.cc File src/builtins.cc (right): https://codereview.chromium.org/203523009/diff/30004/src/builtins.cc#newcode272 src/builtins.cc:272: heap->AdjustLiveBytes(elms->address(), -size_delta, Heap::FROM_MUTATOR); Unfortunately this is not ...
6 years, 9 months ago (2014-03-19 11:25:26 UTC) #4
Hannes Payer (out of office)
6 years, 9 months ago (2014-03-19 11:27:50 UTC) #5
Message was sent while issue was closed.
https://codereview.chromium.org/203523009/diff/20001/src/objects.cc
File src/objects.cc (right):

https://codereview.chromium.org/203523009/diff/20001/src/objects.cc#newcode2281
src/objects.cc:2281: static void RightTrimFixedArray(Heap* heap, FixedArray*
elms, int to_trim) {
On 2014/03/19 09:30:35, Michael Starzinger wrote:
> As discussed offline: There also is access to the mark-bits in
> LeftTrimFixedArray. The access is well hidden in Heap::TransferMark(), where
we
> also need to do an early return if incremental marking is not running.

Done.

https://codereview.chromium.org/203523009/diff/20001/src/objects.cc#newcode2307
src/objects.cc:2307: Marking::IsBlack(Marking::MarkBitFrom(elms))) {
On 2014/03/19 09:30:35, Michael Starzinger wrote:
> As discussed offline: I am not sure distinguishing between friends of
"Marking"
> or not will help, because it mainly depends on the call-path leading there,
not
> so much the call-site
> 
> Another proposal would be to factor our this general logic for adjusting live
> bytes into a Heap::AdjustLiveBytes() helper that would take care of checking
the
> proper pre-conditions. The RightTrimMode would probably need to be renamed to
> something like LiveBytesAdjustmentMode.

Done.

Powered by Google App Engine
This is Rietveld 408576698