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

Issue 1652953002: Make copyToVector() robust against conservative GCs. (Closed)

Created:
4 years, 10 months ago by sof
Modified:
4 years, 10 months ago
Reviewers:
oilpan-reviews, haraken
CC:
chromium-reviews, blink-reviews-css, dglazkov+blink, apavlov+blink_chromium.org, darktears, blink-reviews, blink-reviews-wtf_chromium.org, Mikhail, rwlbuis
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Make copyToVector() robust against conservative GCs. When resizing copyToVector()'s incoming vector to match the size of the collection being copied from, do this in a manner that locks out GCs across that vector backing store allocation. If not, there's a risk that the collection's size might shrink across that GC, and leave the vector as having an overestimated size. copyToVector() will in that case unexpectedly encounter empty elements in the tail, and fail. This can only happen for Oilpan heap collections having weak references.. and that collection is not directly stack-reachable when a conservative GC triggers. Rare, but copyToVector()'s obligation to make that safe rather than its callers. R=haraken BUG=581698 Committed: https://crrev.com/f7ecadae84cdc1271ba7420844f143ea0e961590 Cr-Commit-Position: refs/heads/master@{#372693}

Patch Set 1 #

Patch Set 2 : remove unnecessary 'template' use #

Unified diffs Side-by-side diffs Delta from patch set Stats (+30 lines, -9 lines) Patch
M third_party/WebKit/Source/core/css/CSSFontSelector.cpp View 1 chunk +2 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/wtf/HashCountedSet.h View 2 chunks +10 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/wtf/HashSet.h View 1 chunk +5 lines, -1 line 0 comments Download
M third_party/WebKit/Source/wtf/Vector.h View 1 1 chunk +13 lines, -0 lines 0 comments Download

Messages

Total messages: 19 (10 generated)
sof
please take a look.
4 years, 10 months ago (2016-02-01 14:36:45 UTC) #3
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1652953002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1652953002/1
4 years, 10 months ago (2016-02-01 14:36:46 UTC) #4
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_compile_dbg on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_compile_dbg/builds/15486) chromeos_daisy_chromium_compile_only_ng on ...
4 years, 10 months ago (2016-02-01 14:51:41 UTC) #6
haraken
LGTM
4 years, 10 months ago (2016-02-01 15:09:24 UTC) #7
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1652953002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1652953002/20001
4 years, 10 months ago (2016-02-01 15:46:01 UTC) #9
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-02-01 16:57:27 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1652953002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1652953002/20001
4 years, 10 months ago (2016-02-01 18:19:42 UTC) #15
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 10 months ago (2016-02-01 18:29:32 UTC) #17
commit-bot: I haz the power
4 years, 10 months ago (2016-02-01 18:31:15 UTC) #19
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/f7ecadae84cdc1271ba7420844f143ea0e961590
Cr-Commit-Position: refs/heads/master@{#372693}

Powered by Google App Engine
This is Rietveld 408576698