Commit af57d316 authored by Clemens Hammacher's avatar Clemens Hammacher Committed by Commit Bot

[cleanup] Replace dynamic check by static check

R=ahaas@chromium.org

Change-Id: Ie2e7f1c527c69ddc998d9c2437475ccea26ebb86
Reviewed-on: https://chromium-review.googlesource.com/570045
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46647}
parent 7dfd16b3
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#ifndef V8_ISOLATE_H_ #ifndef V8_ISOLATE_H_
#define V8_ISOLATE_H_ #define V8_ISOLATE_H_
#include <cstddef>
#include <memory> #include <memory>
#include <queue> #include <queue>
...@@ -1254,10 +1255,7 @@ class Isolate { ...@@ -1254,10 +1255,7 @@ class Isolate {
using Deleter = void (*)(ManagedObjectFinalizer*); using Deleter = void (*)(ManagedObjectFinalizer*);
ManagedObjectFinalizer(void* value, Deleter deleter) ManagedObjectFinalizer(void* value, Deleter deleter)
: value_(value), deleter_(deleter) { : value_(value), deleter_(deleter) {}
DCHECK_EQ(reinterpret_cast<void*>(this),
reinterpret_cast<void*>(&value_));
}
void Dispose() { deleter_(this); } void Dispose() { deleter_(this); }
...@@ -1274,6 +1272,9 @@ class Isolate { ...@@ -1274,6 +1272,9 @@ class Isolate {
ManagedObjectFinalizer* next_ = nullptr; ManagedObjectFinalizer* next_ = nullptr;
}; };
static_assert(offsetof(ManagedObjectFinalizer, value_) == 0,
"value_ must be the first member");
// Register a finalizer to be called at isolate teardown. // Register a finalizer to be called at isolate teardown.
void RegisterForReleaseAtTeardown(ManagedObjectFinalizer*); void RegisterForReleaseAtTeardown(ManagedObjectFinalizer*);
......
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