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

Issue 860063002: Initialize GC mixin bases only when leftmost vtable has been initialized. (Closed)

Created:
5 years, 11 months ago by sof
Modified:
5 years, 11 months ago
Reviewers:
oilpan-reviews, haraken
CC:
blink-reviews, Eric Willigers, krit, rjwright, Mike Lawther (Google), blink-reviews-animation_chromium.org, kouhei+svg_chromium.org, fs, Timothy Loh, dstockwell, ed+blinkwatch_opera.com, shans, f(malita), gyuyoung.kim_webkit.org, darktears, Stephen Chennney, pdr+svgwatchlist_chromium.org, Steve Block, rwlbuis
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Initialize GC mixin bases only when leftmost vtable has been initialized. For GC mixin constructors that allocate on the Oilpan heap, extra care is required. It is unsafe to fully construct these until the vptr for the leftmost object that implement/provide the mixin has been initialized. Should a (conservative) GC kick in while in that mixin's constructor, the object reference to the object instance will be located through stack scanning, but it will not as-yet have its trace method set up. The result is failure to trace the object being constructed (including its mixin base). R=haraken BUG=420515 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=188695

Patch Set 1 #

Total comments: 3

Patch Set 2 : add comments explaining purpose #

Unified diffs Side-by-side diffs Delta from patch set Stats (+113 lines, -35 lines) Patch
M Source/core/svg/SVGAElement.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGCursorElement.cpp View 1 chunk +3 lines, -2 lines 0 comments Download
M Source/core/svg/SVGFEImageElement.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGFilterElement.cpp View 2 chunks +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGFitToViewBox.h View 1 1 chunk +15 lines, -1 line 0 comments Download
M Source/core/svg/SVGFitToViewBox.cpp View 1 1 chunk +11 lines, -3 lines 0 comments Download
M Source/core/svg/SVGGradientElement.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGGraphicsElement.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGImageElement.cpp View 2 chunks +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGMPathElement.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/SVGMarkerElement.cpp View 2 chunks +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGMaskElement.cpp View 2 chunks +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGPatternElement.cpp View 2 chunks +4 lines, -3 lines 0 comments Download
M Source/core/svg/SVGSVGElement.cpp View 2 chunks +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGScriptElement.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/SVGSymbolElement.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/SVGTests.h View 1 1 chunk +14 lines, -1 line 0 comments Download
M Source/core/svg/SVGTests.cpp View 1 1 chunk +12 lines, -4 lines 0 comments Download
M Source/core/svg/SVGTextPathElement.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGURIReference.h View 1 1 chunk +14 lines, -1 line 0 comments Download
M Source/core/svg/SVGURIReference.cpp View 1 1 chunk +8 lines, -2 lines 0 comments Download
M Source/core/svg/SVGUseElement.cpp View 2 chunks +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGViewElement.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGViewSpec.cpp View 1 chunk +3 lines, -2 lines 0 comments Download
M Source/core/svg/animation/SVGSMILElement.cpp View 2 chunks +2 lines, -1 line 0 comments Download

Messages

Total messages: 6 (2 generated)
haraken
Can we have a FIXME on those initialize methods to explain why the initialize() is ...
5 years, 11 months ago (2015-01-20 15:40:32 UTC) #2
sof
haraken wrote: > Can we have a FIXME on those initialize methods to explain why ...
5 years, 11 months ago (2015-01-20 19:02:50 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/860063002/20001
5 years, 11 months ago (2015-01-20 19:03:55 UTC) #5
commit-bot: I haz the power
5 years, 11 months ago (2015-01-20 21:09:23 UTC) #6
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=188695

Powered by Google App Engine
This is Rietveld 408576698