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

Unified Diff: third_party/WebKit/Source/platform/heap/TraceTraits.h

Issue 2748103002: [wrapper-tracing] Redesign dispatching on non-inheriting cases (Closed)
Patch Set: Addressed comment Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/heap/TraceTraits.h
diff --git a/third_party/WebKit/Source/platform/heap/TraceTraits.h b/third_party/WebKit/Source/platform/heap/TraceTraits.h
index 7d60bff23cdb4d497c3a7a7cb0ba1ba32c405288..d61b64dc5f74fc5aebde7b2528e63d131225e006 100644
--- a/third_party/WebKit/Source/platform/heap/TraceTraits.h
+++ b/third_party/WebKit/Source/platform/heap/TraceTraits.h
@@ -204,9 +204,6 @@ class TraceTrait {
private:
static const T* ToWrapperTracingType(const void* t) {
- static_assert(CanTraceWrappers<T>::value,
- "T should be able to trace wrappers. See "
- "dispatchTraceWrappers in WrapperVisitor.h");
static_assert(!NeedsAdjustAndMark<T>::value,
"wrapper tracing is not supported within mixins");
#if DCHECK_IS_ON()
@@ -241,7 +238,8 @@ void TraceTrait<T>::traceMarkedWrapper(const WrapperVisitor* visitor,
// The term *mark* is misleading here as we effectively trace through the
// API boundary, i.e., tell V8 that an object is alive. Actual marking
// will be done in V8.
- traceable->markAndDispatchTraceWrappers(visitor);
+ visitor->dispatchTraceWrappers(traceable);
+ visitor->markWrappersInAllWorlds(traceable);
}
template <typename T>
« no previous file with comments | « third_party/WebKit/Source/platform/heap/GarbageCollected.h ('k') | third_party/WebKit/Source/platform/heap/WrapperVisitor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698