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

Issue 2477823003: [heap] Make LiveObjectIterator concurrency safe (Closed)

Created:
4 years, 1 month ago by Michael Lippautz
Modified:
4 years, 1 month ago
CC:
v8-reviews_googlegroups.com, Hannes Payer (out of office), ulan
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[heap] Make LiveObjectIterator concurrency safe LiveObjectIterator sometimes runs concurrently to the main thread. In this scenarios we are not allowed to access memory of live objects in non-atomic ways. Use synchronized reads where needed. Correctness (already ok in current state): - Reading a larger size is fine per definition. - Reading a smaller size is fine since are guaranteed that one word fillers will follow. BUG=v8:5583 R=ulan@chromium.org,hpayer@chromium.org Committed: https://crrev.com/142d4f97c009b1d9898448308da07ff7a7f0b3cf Cr-Commit-Position: refs/heads/master@{#40798}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Use no barrier read for map #

Patch Set 3 : Use right address #

Patch Set 4 : Fix condition #

Unified diffs Side-by-side diffs Delta from patch set Stats (+8 lines, -4 lines) Patch
M src/heap/mark-compact.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/heap/mark-compact-inl.h View 1 2 3 2 chunks +6 lines, -4 lines 0 comments Download

Messages

Total messages: 20 (10 generated)
Michael Lippautz
ptal I think we should try doing it that way and watch for potential regressions ...
4 years, 1 month ago (2016-11-04 13:00:22 UTC) #1
ulan
lgtm
4 years, 1 month ago (2016-11-04 13:09:13 UTC) #2
Hannes Payer (out of office)
https://codereview.chromium.org/2477823003/diff/1/src/heap/mark-compact-inl.h File src/heap/mark-compact-inl.h (right): https://codereview.chromium.org/2477823003/diff/1/src/heap/mark-compact-inl.h#newcode172 src/heap/mark-compact-inl.h:172: map = black_object->synchronized_map(); Size() uses no barrier accessor. No ...
4 years, 1 month ago (2016-11-07 09:26:55 UTC) #3
Michael Lippautz
https://codereview.chromium.org/2477823003/diff/1/src/heap/mark-compact-inl.h File src/heap/mark-compact-inl.h (right): https://codereview.chromium.org/2477823003/diff/1/src/heap/mark-compact-inl.h#newcode172 src/heap/mark-compact-inl.h:172: map = black_object->synchronized_map(); On 2016/11/07 09:26:55, Hannes Payer wrote: ...
4 years, 1 month ago (2016-11-07 09:36:50 UTC) #4
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/2477823003/40001
4 years, 1 month ago (2016-11-07 09:45:02 UTC) #11
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux64_avx2_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_avx2_rel_ng/builds/11667) v8_linux64_avx2_rel_ng_triggered on master.tryserver.v8 (JOB_FAILED, ...
4 years, 1 month ago (2016-11-07 10:00:12 UTC) #13
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/2477823003/60001
4 years, 1 month ago (2016-11-07 10:44:32 UTC) #16
Hannes Payer (out of office)
lgtm
4 years, 1 month ago (2016-11-07 10:45:05 UTC) #17
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 1 month ago (2016-11-07 11:11:14 UTC) #18
commit-bot: I haz the power
4 years, 1 month ago (2016-11-17 22:24:27 UTC) #20
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/142d4f97c009b1d9898448308da07ff7a7f0b3cf
Cr-Commit-Position: refs/heads/master@{#40798}

Powered by Google App Engine
This is Rietveld 408576698