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

Issue 10258001: Enable code flushing even when objects were marked incrementally, (Closed)

Created:
8 years, 8 months ago by Erik Corry
Modified:
8 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Enable code flushing even when objects were marked incrementally, since the incremental visitor is setting the gc_age fields correctly. This means the ResetSharedFunctionInfoCountersDuringIncrementalMarking test passes even if it hits a marking stack overflow. Committed: https://code.google.com/p/v8/source/detail?r=11481

Patch Set 1 #

Patch Set 2 : #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+13 lines, -7 lines) Patch
M src/mark-compact.cc View 2 chunks +1 line, -6 lines 0 comments Download
M test/cctest/test-heap.cc View 1 2 chunks +12 lines, -1 line 1 comment Download

Messages

Total messages: 4 (0 generated)
Erik Corry
8 years, 8 months ago (2012-04-27 14:24:56 UTC) #1
Erik Corry
Updated with the removal of an incorrect assert. This currently passes all tests. If it ...
8 years, 7 months ago (2012-04-30 07:59:45 UTC) #2
ulan
On 2012/04/30 07:59:45, Erik Corry wrote: > Updated with the removal of an incorrect assert. ...
8 years, 7 months ago (2012-04-30 09:00:54 UTC) #3
Vyacheslav Egorov (Chromium)
8 years, 7 months ago (2012-04-30 11:10:41 UTC) #4
Description of the change list is misleading. 

ic_age has nothing to do with _code_ flushing, it affects only _ic_ flushing.

It seems you don't need to enable code flushing (it would not be able to flush a
lot (if anything) because everything is marked and no candidate collected) but
instead you should move    

if (shared->ic_age() != heap->global_ic_age()) {
  shared->ResetForNewContext(heap->global_ic_age());
}

from 

VisitSharedFunctionInfoAndFlushCodeGeneric

to the beginning of 

VisitSharedFunctionInfoAndFlushCode

to clear those shared-function-infos that are marked after incremental marking
is complete.

https://chromiumcodereview.appspot.com/10258001/diff/2002/test/cctest/test-he...
File test/cctest/test-heap.cc (right):

https://chromiumcodereview.appspot.com/10258001/diff/2002/test/cctest/test-he...
test/cctest/test-heap.cc:1660: HEAP->CollectAllGarbage(Heap::kNoGCFlags,
It seems that if !IsStopped() and !should_hurry() we will postpone a full gc at
this point. 

Maybe force should_hurry?

Powered by Google App Engine
This is Rietveld 408576698