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

Issue 2868103002: [deserializer] Make large object deserialization GC safe (Closed)

Created:
3 years, 7 months ago by Jakob Kummerow
Modified:
3 years, 7 months ago
CC:
v8-reviews_googlegroups.com, Hannes Payer (out of office), Camillo Bruni
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

[deserializer] Make large object deserialization GC safe When black allocation is turned on at deserialization time, then slots in deserialized objects have to be visited by the incremental marker. For spaces with reservations, this has always been done; for large object space with its special handling, this patch adds it. Additionally, we must ensure that no incremental steps that might cause incremental marking to finish are performed while there is an AlwaysAllocateScope around. BUG=chromium:718859 Review-Url: https://codereview.chromium.org/2868103002 Cr-Commit-Position: refs/heads/master@{#45231} Committed: https://chromium.googlesource.com/v8/v8/+/6bfee50e15f1dda1bcc164d969d2c94453aa04dd

Patch Set 1 #

Total comments: 8

Patch Set 2 : addressed comments #

Patch Set 3 : fix tests for --no-turbo #

Patch Set 4 : fix tests for --noopt #

Unified diffs Side-by-side diffs Delta from patch set Stats (+119 lines, -26 lines) Patch
M src/heap/heap.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M src/heap/heap.cc View 1 2 chunks +29 lines, -22 lines 0 comments Download
M src/heap/incremental-marking.cc View 1 1 chunk +3 lines, -1 line 0 comments Download
M src/snapshot/deserializer.cc View 1 2 chunks +4 lines, -2 lines 0 comments Download
M test/cctest/test-serialize.cc View 1 2 3 1 chunk +81 lines, -0 lines 0 comments Download

Messages

Total messages: 32 (20 generated)
Jakob Kummerow
Ulan, PTAL. Camillo, FYI. Big thanks to both of you for your contributions to tracking ...
3 years, 7 months ago (2017-05-09 17:56:16 UTC) #2
Michael Lippautz
Amazing find! https://codereview.chromium.org/2868103002/diff/1/test/cctest/test-serialize.cc File test/cctest/test-serialize.cc (right): https://codereview.chromium.org/2868103002/diff/1/test/cctest/test-serialize.cc#newcode1177 test/cctest/test-serialize.cc:1177: IncrementalMarking* marking = heap->incremental_marking(); I think you ...
3 years, 7 months ago (2017-05-09 18:27:44 UTC) #8
ulan_google
LGTM! Please address Michael's comments regarding the test before landing.
3 years, 7 months ago (2017-05-09 19:27:56 UTC) #10
Yang
On 2017/05/09 19:27:56, ulan_google wrote: > LGTM! > > Please address Michael's comments regarding the ...
3 years, 7 months ago (2017-05-09 21:14:56 UTC) #11
Hannes Payer (out of office)
Can you elaborate on the AlwaysAllocate/incremental marking change? https://codereview.chromium.org/2868103002/diff/1/src/snapshot/deserializer.cc File src/snapshot/deserializer.cc (right): https://codereview.chromium.org/2868103002/diff/1/src/snapshot/deserializer.cc#newcode182 src/snapshot/deserializer.cc:182: RecordWritesForLargeObjects(); ...
3 years, 7 months ago (2017-05-09 21:19:51 UTC) #13
ulan
lgtm (from chromium account)
3 years, 7 months ago (2017-05-10 09:09:48 UTC) #15
Hannes Payer (out of office)
After discussing the always allocate scope offline. LGTM
3 years, 7 months ago (2017-05-10 09:14:03 UTC) #16
Jakob Kummerow
Thanks for the reviews; comments addressed. https://codereview.chromium.org/2868103002/diff/1/src/snapshot/deserializer.cc File src/snapshot/deserializer.cc (right): https://codereview.chromium.org/2868103002/diff/1/src/snapshot/deserializer.cc#newcode182 src/snapshot/deserializer.cc:182: RecordWritesForLargeObjects(); On 2017/05/09 ...
3 years, 7 months ago (2017-05-10 11:09:07 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2868103002/40001
3 years, 7 months ago (2017-05-10 11:42:21 UTC) #24
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_arm_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm_rel_ng/builds/21465) v8_linux_arm_rel_ng_triggered on master.tryserver.v8 (JOB_FAILED, ...
3 years, 7 months ago (2017-05-10 12:01:48 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2868103002/60001
3 years, 7 months ago (2017-05-10 12:15:28 UTC) #29
commit-bot: I haz the power
3 years, 7 months ago (2017-05-10 12:54:11 UTC) #32
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://chromium.googlesource.com/v8/v8/+/6bfee50e15f1dda1bcc164d969d2c94453a...

Powered by Google App Engine
This is Rietveld 408576698