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

Issue 14007008: New GC APIs, try 2. (Closed)

Created:
7 years, 8 months ago by marja
Modified:
7 years, 8 months ago
CC:
v8-dev, loislo, alph
Base URL:
git://github.com/v8/v8.git@master
Visibility:
Public.

Description

New GC APIs, try 2. With these APIs, the embedder doesn't need to copy Persistent handles around. BUG= Committed: http://code.google.com/p/v8/source/detail?r=14423

Patch Set 1 #

Patch Set 2 : store objects not plain arrays #

Patch Set 3 : using std containers -> this is faster! #

Patch Set 4 : small fix (should not matter for functionality) for patch set 2 #

Patch Set 5 : More efficient handling for single-object groups. #

Patch Set 6 : . #

Patch Set 7 : . #

Patch Set 8 : Setting initial capacity + tests. #

Patch Set 9 : . #

Total comments: 8

Patch Set 10 : Moving funcs & code review. #

Total comments: 4

Patch Set 11 : Renaming. #

Total comments: 2

Patch Set 12 : Added SetReference(parent, child) #

Total comments: 6

Patch Set 13 : code review #

Total comments: 2

Patch Set 14 : code review (yurys) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+836 lines, -114 lines) Patch
M include/v8.h View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +62 lines, -0 lines 0 comments Download
M include/v8-profiler.h View 1 2 3 4 5 6 7 8 9 1 chunk +5 lines, -0 lines 0 comments Download
M src/api.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +31 lines, -0 lines 0 comments Download
M src/global-handles.h View 1 2 3 4 5 6 7 8 9 10 11 12 6 chunks +97 lines, -51 lines 0 comments Download
M src/global-handles.cc View 1 2 3 4 5 6 7 8 9 10 11 12 8 chunks +162 lines, -12 lines 0 comments Download
M src/heap-profiler.h View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M src/heap-profiler.cc View 1 2 3 4 5 6 7 8 9 1 chunk +5 lines, -0 lines 0 comments Download
M src/heap-snapshot-generator.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +8 lines, -8 lines 0 comments Download
M src/mark-compact.cc View 1 2 chunks +4 lines, -4 lines 0 comments Download
M test/cctest/test-api.cc View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +301 lines, -5 lines 0 comments Download
M test/cctest/test-global-handles.cc View 1 2 3 4 5 6 7 8 9 10 6 chunks +144 lines, -25 lines 0 comments Download
M test/cctest/test-heap-profiler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +13 lines, -7 lines 0 comments Download
M test/cctest/test-mark-compact.cc View 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 18 (0 generated)
marja
mstarzinger, ptal. Here's a rewritten version of the new GC APIs on the V8 side. ...
7 years, 8 months ago (2013-04-19 16:47:16 UTC) #1
Michael Starzinger
LGTM with two nits. I will land this for you as soon as the nits ...
7 years, 8 months ago (2013-04-22 11:34:51 UTC) #2
yurys
https://codereview.chromium.org/14007008/diff/22001/include/v8.h File include/v8.h (right): https://codereview.chromium.org/14007008/diff/22001/include/v8.h#newcode3553 include/v8.h:3553: static void SetRetainedObjectInfo(Isolate* isolate, As discussed offline, this method ...
7 years, 8 months ago (2013-04-22 12:05:46 UTC) #3
yurys
https://codereview.chromium.org/14007008/diff/22001/include/v8.h File include/v8.h (right): https://codereview.chromium.org/14007008/diff/22001/include/v8.h#newcode3549 include/v8.h:3549: static void SetObjectGroupId(Isolate* isolate, Since these methods are new ...
7 years, 8 months ago (2013-04-22 12:10:43 UTC) #4
marja
Thanks for comments! I moved SetObjectGroupId and AddImplicitReference to Isolate, and SetRetainedObjectInfo to HeapProfiler. https://codereview.chromium.org/14007008/diff/22001/include/v8.h ...
7 years, 8 months ago (2013-04-22 13:49:06 UTC) #5
yurys
https://codereview.chromium.org/14007008/diff/29001/include/v8.h File include/v8.h (right): https://codereview.chromium.org/14007008/diff/29001/include/v8.h#newcode3158 include/v8.h:3158: void AddImplicitReference(UniqueId id, Method name is a bit confusing. ...
7 years, 8 months ago (2013-04-22 14:39:54 UTC) #6
marja
Name suggestions sg. https://codereview.chromium.org/14007008/diff/29001/include/v8.h File include/v8.h (right): https://codereview.chromium.org/14007008/diff/29001/include/v8.h#newcode3158 include/v8.h:3158: void AddImplicitReference(UniqueId id, On 2013/04/22 14:39:54, ...
7 years, 8 months ago (2013-04-23 12:00:04 UTC) #7
yurys
https://codereview.chromium.org/14007008/diff/32001/include/v8.h File include/v8.h (right): https://codereview.chromium.org/14007008/diff/32001/include/v8.h#newcode3159 include/v8.h:3159: void SetReferenceFromGroup(UniqueId id, I've just realized that this change ...
7 years, 8 months ago (2013-04-23 15:25:15 UTC) #8
marja
https://codereview.chromium.org/14007008/diff/32001/include/v8.h File include/v8.h (right): https://codereview.chromium.org/14007008/diff/32001/include/v8.h#newcode3159 include/v8.h:3159: void SetReferenceFromGroup(UniqueId id, On 2013/04/23 15:25:15, Yury Semikhatsky wrote: ...
7 years, 8 months ago (2013-04-23 16:08:52 UTC) #9
yurys
On 2013/04/23 16:08:52, marja wrote: > https://codereview.chromium.org/14007008/diff/32001/include/v8.h > File include/v8.h (right): > > https://codereview.chromium.org/14007008/diff/32001/include/v8.h#newcode3159 > ...
7 years, 8 months ago (2013-04-23 16:22:06 UTC) #10
marja
You're right, that case is broken. So, I'd add an API for declaring an implicit ...
7 years, 8 months ago (2013-04-23 16:35:30 UTC) #11
marja
Hmmh, I'm overcomplicating things probably. It should be doable to add that API and then ...
7 years, 8 months ago (2013-04-23 16:37:37 UTC) #12
marja
I added an API for declaring references from an object too (not only from an ...
7 years, 8 months ago (2013-04-24 09:22:02 UTC) #13
Michael Starzinger
LGTM with nits. I'll land this as soon as Yury gave his OK. https://codereview.chromium.org/14007008/diff/39001/src/global-handles.cc File ...
7 years, 8 months ago (2013-04-24 13:58:56 UTC) #14
marja
https://codereview.chromium.org/14007008/diff/39001/src/global-handles.cc File src/global-handles.cc (right): https://codereview.chromium.org/14007008/diff/39001/src/global-handles.cc#newcode442 src/global-handles.cc:442: const int GlobalHandles::kObjectGroupConnectionsCapacity = 20; On 2013/04/24 13:58:56, Michael ...
7 years, 8 months ago (2013-04-24 14:05:42 UTC) #15
yurys
LGTM, I'd appreciate a new test for heap profiler that would cover references reported using ...
7 years, 8 months ago (2013-04-24 14:21:24 UTC) #16
marja
Thanks for review! https://codereview.chromium.org/14007008/diff/51001/test/cctest/test-heap-profiler.cc File test/cctest/test-heap-profiler.cc (right): https://codereview.chromium.org/14007008/diff/51001/test/cctest/test-heap-profiler.cc#newcode1212 test/cctest/test-heap-profiler.cc:1212: isolate_->SetReference(v8::Persistent<v8::Object>::Cast(objects_[0]), On 2013/04/24 14:21:24, Yury Semikhatsky ...
7 years, 8 months ago (2013-04-24 14:33:53 UTC) #17
Michael Starzinger
7 years, 8 months ago (2013-04-24 15:59:35 UTC) #18
Message was sent while issue was closed.
Committed patchset #14 manually as r14423 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698