Commit 39d58fd9 authored by Michael Lippautz's avatar Michael Lippautz Committed by V8 LUCI CQ

cppgc-js: Fix TraceTrait for TracedReference

The trait is expected to return a nullptr for the base address. This
is required for ephemeron tracing to trigger eagerly tracing a value.

This will be required when Blink uses a type alias to TracedReference.

Bug: v8:12165
Change-Id: Ibe142eaff41616c9de6ae0db9878f8489a5e4142
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3253345Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77619}
parent 15b1ce39
...@@ -318,6 +318,11 @@ namespace cppgc { ...@@ -318,6 +318,11 @@ namespace cppgc {
template <typename T> template <typename T>
struct TraceTrait<v8::TracedReference<T>> { struct TraceTrait<v8::TracedReference<T>> {
static cppgc::TraceDescriptor GetTraceDescriptor(
const v8::TracedReference<T>* ref) {
return {nullptr, Trace};
}
static void Trace(Visitor* visitor, const v8::TracedReference<T>* self) { static void Trace(Visitor* visitor, const v8::TracedReference<T>* self) {
static_cast<v8::JSVisitor*>(visitor)->Trace(*self); static_cast<v8::JSVisitor*>(visitor)->Trace(*self);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment