|
Oilpan: disable conservative GCs during initial GC mixin construction.
Another, more effective, attempt at disallowing conservative GCs from
striking while constructing a GC mixin object and it is not in a
well-formed state to allow a GC to strike.
GC mixins now override 'operator new', which along with taking care of
the allocation request, disables conservative GCs. GCs are kept disabled
until the constructors of the mixin's inherited classes have run and
the mixin itself is in a well-formed state to re-enable GCs.
Arrange for that re-enabling by way of a private field to an empty type
with a constructor that takes care of the underlying details. All of this
is hidden from direct view to the Blink code, still only requiring that
GC mixin instances declare themselves as such by using the
USING_GARBAGE_COLLECTED_MIXIN(Type) macro.
R=haraken
BUG= 456823
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=191501
Total comments: 3
Total comments: 3
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+306 lines, -90 lines) |
Patch |
|
M |
Source/core/css/CSSValue.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
Source/core/dom/Node.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
Source/core/dom/shadow/ShadowRoot.cpp
|
View
|
1
2
3
4
5
6
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
Source/core/frame/DeviceSingleWindowEventController.h
|
View
|
|
2 chunks |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
Source/core/html/HTMLObjectElement.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/html/canvas/WebGL2RenderingContextBase.h
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/html/canvas/WebGLRenderingContextBase.h
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/html/shadow/MediaControlElementTypes.h
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/svg/SVGAElement.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/svg/SVGImageElement.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/svg/SVGSVGElement.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/svg/SVGTextPathElement.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/svg/SVGUseElement.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/workers/SharedWorker.h
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/platform/heap/Heap.h
|
View
|
1
2
3
4
5
6
|
3 chunks |
+2 lines, -64 lines |
0 comments
|
Download
|
|
M |
Source/platform/heap/HeapTest.cpp
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+114 lines, -1 line |
0 comments
|
Download
|
|
M |
Source/platform/heap/ThreadState.h
|
View
|
1
2
3
4
5
6
|
2 chunks |
+16 lines, -8 lines |
0 comments
|
Download
|
|
M |
Source/platform/heap/Visitor.h
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+156 lines, -4 lines |
0 comments
|
Download
|
Total messages: 31 (4 generated)
|