Index: src/handles-inl.h |
diff --git a/src/handles-inl.h b/src/handles-inl.h |
index f12a811fd5b2e3a0048d14adb19273cd4eb24881..5a3e9ed2744ac9c0a0ef1c319648d23e174508f1 100644 |
--- a/src/handles-inl.h |
+++ b/src/handles-inl.h |
@@ -91,6 +91,10 @@ bool Handle<T>::IsDereferenceAllowed(bool allow_deferred) const { |
handle < roots_array_start + Heap::kStrongRootListLength) { |
return true; |
} |
+ if (isolate->optimizing_compiler_thread()->IsOptimizerThread() && |
+ !Heap::RelocationLock::IsLockedByOptimizerThread(isolate->heap())) { |
+ return false; |
+ } |
switch (isolate->HandleDereferenceGuardState()) { |
case HandleDereferenceGuard::ALLOW: |
return true; |