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

Issue 291193005: Attempt no. 3 to fix Heap::IsHeapIterable and HeapIterator (Closed)

Created:
6 years, 7 months ago by Jarin
Modified:
6 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Attempt no. 3 to fix Heap::IsHeapIterable and HeapIterator. Now we remember new space's top pointer after the last GC to find out if there was a new space allocation since the last GC. Unfortunately, this not completely safe - the debugger has a callback hook (that can call to JS) at the end of the GC epilogue that can in theory allocate and possibly make the heap non-iterable. We can only hope this does not happen. BUG=373283 R=hpayer@chromium.org LOG=N Committed: https://code.google.com/p/v8/source/detail?r=21431

Patch Set 1 #

Patch Set 2 : Remember the new space top in GC epilogue #

Patch Set 3 : Remove EnsureHeapIterable and DisallocAllocation calls from LiveEdit::FindActiveGenerators #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+92 lines, -83 lines) Patch
M src/debug.cc View 1 2 5 chunks +2 lines, -7 lines 0 comments Download
M src/heap.h View 1 4 chunks +11 lines, -1 line 0 comments Download
M src/heap.cc View 1 2 5 chunks +15 lines, -5 lines 0 comments Download
M src/heap-profiler.cc View 1 chunk +0 lines, -3 lines 1 comment Download
M src/heap-snapshot-generator.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M src/liveedit.cc View 1 2 8 chunks +9 lines, -18 lines 0 comments Download
M src/runtime.cc View 7 chunks +36 lines, -40 lines 0 comments Download
M test/cctest/test-api.cc View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M test/cctest/test-heap.cc View 2 chunks +1 line, -3 lines 0 comments Download
M test/cctest/test-object-observe.cc View 1 chunk +0 lines, -1 line 0 comments Download
A test/mjsunit/regress/regress-373283.js View 1 chunk +18 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
Jarin
6 years, 7 months ago (2014-05-21 13:35:15 UTC) #1
Hannes Payer (out of office)
LGTM
6 years, 7 months ago (2014-05-22 08:41:52 UTC) #2
Jarin
Committed patchset #3 manually as r21431 (presubmit successful).
6 years, 7 months ago (2014-05-22 11:13:48 UTC) #3
yurys
https://codereview.chromium.org/291193005/diff/40001/src/heap-profiler.cc File src/heap-profiler.cc (left): https://codereview.chromium.org/291193005/diff/40001/src/heap-profiler.cc#oldcode176 src/heap-profiler.cc:176: heap()->CollectAllGarbage(Heap::kMakeHeapIterableMask, Does this mean that we don't need to ...
6 years, 7 months ago (2014-05-22 11:24:49 UTC) #4
Jarin
On 2014/05/22 11:24:49, yurys wrote: > https://codereview.chromium.org/291193005/diff/40001/src/heap-profiler.cc > File src/heap-profiler.cc (left): > > https://codereview.chromium.org/291193005/diff/40001/src/heap-profiler.cc#oldcode176 > ...
6 years, 7 months ago (2014-05-22 11:29:37 UTC) #5
yurys
6 years, 7 months ago (2014-05-22 11:31:38 UTC) #6
Message was sent while issue was closed.
On 2014/05/22 11:29:37, jarin wrote:
> On 2014/05/22 11:24:49, yurys wrote:
> > https://codereview.chromium.org/291193005/diff/40001/src/heap-profiler.cc
> > File src/heap-profiler.cc (left):
> > 
> >
>
https://codereview.chromium.org/291193005/diff/40001/src/heap-profiler.cc#old...
> > src/heap-profiler.cc:176:
> heap()->CollectAllGarbage(Heap::kMakeHeapIterableMask,
> > Does this mean that we don't need to call GC anymore in order to make heap
> > iterable? If this is the case we could speed up heap profiler in a few
places.
> 
> Unfortunately no, the iterator now calls the GC in its constructor.

I see, thanks for clarifying.

Powered by Google App Engine
This is Rietveld 408576698