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

Issue 197863003: Check consistency of manual trace and finalization dispatching. (Closed)

Created:
6 years, 9 months ago by zerny-chromium
Modified:
6 years, 9 months ago
CC:
chromium-reviews, oilpan-reviews
Visibility:
Public.

Description

Check consistency of manual trace and finalization dispatching. This adds checks that overridden trace methods are always virtual and that manual implementations are always on non-virtual/polymorphic classes. At each subclass definition of a class implementing manual trace/finalize dispatching, the plugin checks for a dispatch to the subclass if possible. BUG=334149 R=ager@chromium.org NOTRY=true Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=257710

Patch Set 1 #

Patch Set 2 : finalization and considered-abstract #

Total comments: 12

Patch Set 3 : typos #

Patch Set 4 : review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+553 lines, -42 lines) Patch
M tools/clang/blink_gc_plugin/BlinkGCPlugin.cpp View 1 2 3 13 chunks +192 lines, -12 lines 0 comments Download
M tools/clang/blink_gc_plugin/Config.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M tools/clang/blink_gc_plugin/RecordInfo.h View 1 2 3 1 chunk +3 lines, -1 line 0 comments Download
M tools/clang/blink_gc_plugin/RecordInfo.cpp View 1 2 3 5 chunks +42 lines, -4 lines 0 comments Download
A tools/clang/blink_gc_plugin/tests/finalize_after_dispatch.h View 1 1 chunk +64 lines, -0 lines 0 comments Download
A tools/clang/blink_gc_plugin/tests/finalize_after_dispatch.cpp View 1 2 3 1 chunk +63 lines, -0 lines 0 comments Download
A tools/clang/blink_gc_plugin/tests/finalize_after_dispatch.txt View 1 2 3 1 chunk +8 lines, -0 lines 0 comments Download
A + tools/clang/blink_gc_plugin/tests/non_virtual_trace.h View 2 chunks +4 lines, -8 lines 0 comments Download
A + tools/clang/blink_gc_plugin/tests/non_virtual_trace.cpp View 1 chunk +6 lines, -3 lines 0 comments Download
A tools/clang/blink_gc_plugin/tests/non_virtual_trace.txt View 1 chunk +7 lines, -0 lines 0 comments Download
A tools/clang/blink_gc_plugin/tests/trace_after_dispatch.h View 1 1 chunk +55 lines, -0 lines 0 comments Download
A tools/clang/blink_gc_plugin/tests/trace_after_dispatch.cpp View 1 2 3 1 chunk +48 lines, -0 lines 0 comments Download
A tools/clang/blink_gc_plugin/tests/trace_after_dispatch.txt View 1 2 3 1 chunk +13 lines, -0 lines 0 comments Download
A + tools/clang/blink_gc_plugin/tests/virtual_and_trace_after_dispatch.h View 1 2 chunks +11 lines, -14 lines 0 comments Download
A tools/clang/blink_gc_plugin/tests/virtual_and_trace_after_dispatch.cpp View 1 2 3 1 chunk +30 lines, -0 lines 0 comments Download
A tools/clang/blink_gc_plugin/tests/virtual_and_trace_after_dispatch.txt View 1 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
zerny-chromium
The dispatch checks are not accurate since some subclasses are not actually dispatched to because ...
6 years, 9 months ago (2014-03-17 16:00:48 UTC) #1
zerny-chromium
This patch adds checks for manual finalize dispatching. The issue regarding dispatching to shared intermediates ...
6 years, 9 months ago (2014-03-18 07:45:59 UTC) #2
Mads Ager (chromium)
LGTM with minor comments. https://codereview.chromium.org/197863003/diff/20001/tools/clang/blink_gc_plugin/BlinkGCPlugin.cpp File tools/clang/blink_gc_plugin/BlinkGCPlugin.cpp (right): https://codereview.chromium.org/197863003/diff/20001/tools/clang/blink_gc_plugin/BlinkGCPlugin.cpp#newcode739 tools/clang/blink_gc_plugin/BlinkGCPlugin.cpp:739: if (base->IsUnmixedGCMixin()) Can we find ...
6 years, 9 months ago (2014-03-18 09:19:31 UTC) #3
zerny-chromium
Thanks for the review! https://codereview.chromium.org/197863003/diff/20001/tools/clang/blink_gc_plugin/BlinkGCPlugin.cpp File tools/clang/blink_gc_plugin/BlinkGCPlugin.cpp (right): https://codereview.chromium.org/197863003/diff/20001/tools/clang/blink_gc_plugin/BlinkGCPlugin.cpp#newcode739 tools/clang/blink_gc_plugin/BlinkGCPlugin.cpp:739: if (base->IsUnmixedGCMixin()) On 2014/03/18 09:19:32, ...
6 years, 9 months ago (2014-03-18 10:03:41 UTC) #4
zerny-chromium
The CQ bit was checked by zerny@chromium.org
6 years, 9 months ago (2014-03-18 10:03:50 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/zerny@chromium.org/197863003/60001
6 years, 9 months ago (2014-03-18 10:04:19 UTC) #6
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-18 11:22:20 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on linux_chromium_rel
6 years, 9 months ago (2014-03-18 11:22:20 UTC) #8
zerny-chromium
The CQ bit was checked by zerny@chromium.org
6 years, 9 months ago (2014-03-18 18:36:00 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/zerny@chromium.org/197863003/60001
6 years, 9 months ago (2014-03-18 18:50:40 UTC) #10
commit-bot: I haz the power
6 years, 9 months ago (2014-03-18 19:09:56 UTC) #11
Message was sent while issue was closed.
Change committed as 257710

Powered by Google App Engine
This is Rietveld 408576698