|
GC plugin: improve error reporting when tracing illegal fields.
Add detection of trace() calls over smart pointer types that either do not
wrap up references to heap objects, or are otherwise not meant to be traced
over. In particular, CrossThread(Weak)Persistent<T> fields are now detected
as being illegal to trace over. Also consider OwnPtr<T>, RefPtr<T> and
std::unique_ptr<T> as illegal to trace over & emit a more concise error
messages for these.
R=
BUG= 619149
Committed: https://crrev.com/3ba6089cd6a901b62ff5a0d8f08a2bd818edcbe8
Committed: https://crrev.com/163954bcdf26d970e2166ec2dabadff3c71fd1c8
Cr-Original-Commit-Position: refs/heads/master@{#399861}
Cr-Commit-Position: refs/heads/master@{#400653}
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+390 lines, -39 lines) |
Patch |
|
M |
tools/clang/blink_gc_plugin/BlinkGCPluginConsumer.cpp
|
View
|
1
3
|
3 chunks |
+6 lines, -3 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/CheckFieldsVisitor.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/CheckFieldsVisitor.cpp
|
View
|
|
3 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/Config.h
|
View
|
1
|
2 chunks |
+9 lines, -4 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/DiagnosticsReporter.h
|
View
|
|
4 chunks |
+6 lines, -2 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/DiagnosticsReporter.cpp
|
View
|
|
8 chunks |
+37 lines, -3 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/Edge.h
|
View
|
|
10 chunks |
+42 lines, -10 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/Edge.cpp
|
View
|
|
3 chunks |
+17 lines, -0 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/RecordInfo.h
|
View
|
1
3
|
4 chunks |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/RecordInfo.cpp
|
View
|
1
2
3
|
5 chunks |
+31 lines, -3 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/TracingStatus.h
|
View
|
|
2 chunks |
+23 lines, -2 lines |
0 comments
|
Download
|
|
A |
tools/clang/blink_gc_plugin/tests/fields_illegal_tracing.h
|
View
|
1
3
|
1 chunk |
+56 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/clang/blink_gc_plugin/tests/fields_illegal_tracing.cpp
|
View
|
1
|
1 chunk |
+23 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/clang/blink_gc_plugin/tests/fields_illegal_tracing.txt
|
View
|
1
3
|
1 chunk |
+50 lines, -0 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/tests/heap/stubs.h
|
View
|
1
2
3
|
2 chunks |
+38 lines, -0 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/tests/persistent_field_in_gc_managed_class.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/tests/persistent_field_in_gc_managed_class.txt
|
View
|
|
1 chunk |
+7 lines, -1 line |
0 comments
|
Download
|
|
A + |
tools/clang/blink_gc_plugin/tests/persistent_no_trace.h
|
View
|
|
2 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
|
A + |
tools/clang/blink_gc_plugin/tests/persistent_no_trace.cpp
|
View
|
|
1 chunk |
+5 lines, -5 lines |
0 comments
|
Download
|
|
A |
tools/clang/blink_gc_plugin/tests/persistent_no_trace.txt
|
View
|
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
tools/clang/blink_gc_plugin/tests/templated_class_with_local_class_requires_trace.txt
|
View
|
|
1 chunk |
+7 lines, -1 line |
0 comments
|
Download
|
Total messages: 27 (11 generated)
|