|
|
Created:
4 years ago by Michael Lippautz Modified:
4 years ago CC:
Mads Ager (chromium), blink-reviews, chromium-reviews, haraken, kouhei+heap_chromium.org, oilpan-reviews Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
Description[wrapper-tracing] Simplify tracing by forbidding tracing from within mixins
We don't have a single use case where we would require wrapper tracing from
within mixins. Remove the infra that would be needed, including the catch-all
handler.
Note that we can now statically check not tracing from within a mixin using a
static_assert.
BUG=chromium:468240
Committed: https://crrev.com/a22545438325b77d8926b8e6adefd0dfe34ee1a0
Cr-Commit-Position: refs/heads/master@{#440389}
Patch Set 1 #
Total comments: 5
Patch Set 2 : Addressed comments #Patch Set 3 : IsGarbageCollectedMixin -> NeedsAdjustAndMark #Patch Set 4 : Guard DCHECK with DCHECK_IS_ON() as the method is only conditionally compiled #
Messages
Total messages: 36 (20 generated)
Description was changed from ========== [wrapper-tracing] Simplify tracing by forbidding tracing from within mixins BUG= ========== to ========== [wrapper-tracing] Simplify tracing by forbidding tracing from within mixins BUG=chromium:468240 ==========
mlippautz@chromium.org changed reviewers: + haraken@chromium.org, hlopko@chromium.org, jochen@chromium.org
https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... File third_party/WebKit/Source/platform/heap/TraceTraits.h (right): https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... third_party/WebKit/Source/platform/heap/TraceTraits.h:206: static_assert(!NeedsAdjustAndMark<T>::value, This static_assert makes sure we don't trace T for T being a mixin.
The CQ bit was checked by mlippautz@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... File third_party/WebKit/Source/platform/heap/TraceTraits.h (right): https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... third_party/WebKit/Source/platform/heap/TraceTraits.h:206: static_assert(!NeedsAdjustAndMark<T>::value, On 2016/12/21 17:22:14, Michael Lippautz wrote: > This static_assert makes sure we don't trace T for T being a mixin. IsGarbageCollectedMixin<T>::value is the more readable alternative.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
I like the simplification, lgtm to land this
LGTM
https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... File third_party/WebKit/Source/platform/heap/TraceTraits.h (right): https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... third_party/WebKit/Source/platform/heap/TraceTraits.h:208: return reinterpret_cast<const T*>(t); Also we can add DCHECK(t->checkHeader()).
Thanks! https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... File third_party/WebKit/Source/platform/heap/TraceTraits.h (right): https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... third_party/WebKit/Source/platform/heap/TraceTraits.h:206: static_assert(!NeedsAdjustAndMark<T>::value, On 2016/12/21 18:57:28, sof wrote: > On 2016/12/21 17:22:14, Michael Lippautz wrote: > > This static_assert makes sure we don't trace T for T being a mixin. > > IsGarbageCollectedMixin<T>::value is the more readable alternative. Done. https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... third_party/WebKit/Source/platform/heap/TraceTraits.h:208: return reinterpret_cast<const T*>(t); On 2016/12/22 00:50:07, haraken wrote: > > Also we can add DCHECK(t->checkHeader()). Done.
The CQ bit was checked by mlippautz@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from haraken@chromium.org, hlopko@chromium.org Link to the patchset: https://codereview.chromium.org/2595053002/#ps20001 (title: "Addressed comments")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: cast_shell_android on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_a...)
On 2016/12/21 18:57:28, sof wrote: > https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... > File third_party/WebKit/Source/platform/heap/TraceTraits.h (right): > > https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... > third_party/WebKit/Source/platform/heap/TraceTraits.h:206: > static_assert(!NeedsAdjustAndMark<T>::value, > On 2016/12/21 17:22:14, Michael Lippautz wrote: > > This static_assert makes sure we don't trace T for T being a mixin. > > IsGarbageCollectedMixin<T>::value is the more readable alternative. Actually, IsGarbageCollectedMixin seems to be true also for the mixin application, which is not the intended assertion behavior. E.g. we have to allow Document, applying the TreeScope mixin, to trace wrappers.
The CQ bit was checked by mlippautz@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from haraken@chromium.org, hlopko@chromium.org Link to the patchset: https://codereview.chromium.org/2595053002/#ps40001 (title: "IsGarbageCollectedMixin -> NeedsAdjustAndMark")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2016/12/22 09:06:44, Michael Lippautz wrote: > On 2016/12/21 18:57:28, sof wrote: > > > https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... > > File third_party/WebKit/Source/platform/heap/TraceTraits.h (right): > > > > > https://codereview.chromium.org/2595053002/diff/1/third_party/WebKit/Source/p... > > third_party/WebKit/Source/platform/heap/TraceTraits.h:206: > > static_assert(!NeedsAdjustAndMark<T>::value, > > On 2016/12/21 17:22:14, Michael Lippautz wrote: > > > This static_assert makes sure we don't trace T for T being a mixin. > > > > IsGarbageCollectedMixin<T>::value is the more readable alternative. > > Actually, IsGarbageCollectedMixin seems to be true also for the mixin > application, which is not the intended assertion behavior. E.g. we have to allow > Document, applying the TreeScope mixin, to trace wrappers. Hmm, ok - I thought !NeedsAdjustAndMark<T>::value == IsGarbageCollectedMixin<T>::value.
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-...)
The CQ bit was checked by mlippautz@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from haraken@chromium.org, hlopko@chromium.org Link to the patchset: https://codereview.chromium.org/2595053002/#ps60001 (title: "Guard DCHECK with DCHECK_IS_ON() as the method is only conditionally compiled")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== [wrapper-tracing] Simplify tracing by forbidding tracing from within mixins BUG=chromium:468240 ========== to ========== [wrapper-tracing] Simplify tracing by forbidding tracing from within mixins We don't have a single use case where we would require wrapper tracing from within mixins. Remove the infra that would be needed, including the catch-all handler. Note that we can now statically check not tracing from within a mixin using a static_assert. BUG=chromium:468240 ==========
Description was changed from ========== [wrapper-tracing] Simplify tracing by forbidding tracing from within mixins We don't have a single use case where we would require wrapper tracing from within mixins. Remove the infra that would be needed, including the catch-all handler. Note that we can now statically check not tracing from within a mixin using a static_assert. BUG=chromium:468240 ========== to ========== [wrapper-tracing] Simplify tracing by forbidding tracing from within mixins We don't have a single use case where we would require wrapper tracing from within mixins. Remove the infra that would be needed, including the catch-all handler. Note that we can now statically check not tracing from within a mixin using a static_assert. BUG=chromium:468240 ==========
hpayer@chromium.org changed reviewers: + hpayer@chromium.org
Awesome catch Michi, LGTM
CQ is committing da patch. Bot data: {"patchset_id": 60001, "attempt_start_ts": 1482399653843580, "parent_rev": "2c2b8bbeb2c04cb5e30e8c1b1581ecf1ca02b362", "commit_rev": "fe6b9b58ec9390050092264385ab338d34ab03ad"}
Message was sent while issue was closed.
Description was changed from ========== [wrapper-tracing] Simplify tracing by forbidding tracing from within mixins We don't have a single use case where we would require wrapper tracing from within mixins. Remove the infra that would be needed, including the catch-all handler. Note that we can now statically check not tracing from within a mixin using a static_assert. BUG=chromium:468240 ========== to ========== [wrapper-tracing] Simplify tracing by forbidding tracing from within mixins We don't have a single use case where we would require wrapper tracing from within mixins. Remove the infra that would be needed, including the catch-all handler. Note that we can now statically check not tracing from within a mixin using a static_assert. BUG=chromium:468240 Review-Url: https://codereview.chromium.org/2595053002 ==========
Message was sent while issue was closed.
Committed patchset #4 (id:60001)
Message was sent while issue was closed.
Description was changed from ========== [wrapper-tracing] Simplify tracing by forbidding tracing from within mixins We don't have a single use case where we would require wrapper tracing from within mixins. Remove the infra that would be needed, including the catch-all handler. Note that we can now statically check not tracing from within a mixin using a static_assert. BUG=chromium:468240 Review-Url: https://codereview.chromium.org/2595053002 ========== to ========== [wrapper-tracing] Simplify tracing by forbidding tracing from within mixins We don't have a single use case where we would require wrapper tracing from within mixins. Remove the infra that would be needed, including the catch-all handler. Note that we can now statically check not tracing from within a mixin using a static_assert. BUG=chromium:468240 Committed: https://crrev.com/a22545438325b77d8926b8e6adefd0dfe34ee1a0 Cr-Commit-Position: refs/heads/master@{#440389} ==========
Message was sent while issue was closed.
Patchset 4 (id:??) landed as https://crrev.com/a22545438325b77d8926b8e6adefd0dfe34ee1a0 Cr-Commit-Position: refs/heads/master@{#440389} |