diff options
Diffstat (limited to 'deps/v8/src/execution/isolate-utils-inl.h')
-rw-r--r-- | deps/v8/src/execution/isolate-utils-inl.h | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/deps/v8/src/execution/isolate-utils-inl.h b/deps/v8/src/execution/isolate-utils-inl.h index 0c739eafd9..2cc66a473c 100644 --- a/deps/v8/src/execution/isolate-utils-inl.h +++ b/deps/v8/src/execution/isolate-utils-inl.h @@ -13,34 +13,19 @@ namespace v8 { namespace internal { -inline const Isolate* GetIsolateForPtrComprFromOnHeapAddress(Address address) { +inline constexpr IsolateRoot GetIsolateForPtrComprFromOnHeapAddress( + Address address) { #ifdef V8_COMPRESS_POINTERS - return Isolate::FromRoot(GetIsolateRoot(address)); + return IsolateRoot(GetIsolateRootAddress(address)); #else - return nullptr; + return IsolateRoot(); #endif // V8_COMPRESS_POINTERS } -inline const Isolate* GetIsolateForPtrCompr(HeapObject object) { +inline IsolateRoot GetIsolateForPtrCompr(HeapObject object) { return GetIsolateForPtrComprFromOnHeapAddress(object.ptr()); } -inline const Isolate* GetIsolateForPtrCompr(const Isolate* isolate) { -#ifdef V8_COMPRESS_POINTERS - return isolate; -#else - return nullptr; -#endif // V8_COMPRESS_POINTERS -} - -inline const Isolate* GetIsolateForPtrCompr(const LocalIsolate* isolate) { -#ifdef V8_COMPRESS_POINTERS - return isolate->GetIsolateForPtrCompr(); -#else - return nullptr; -#endif // V8_COMPRESS_POINTERS -} - V8_INLINE Heap* GetHeapFromWritableObject(HeapObject object) { // Avoid using the below GetIsolateFromWritableObject because we want to be // able to get the heap, but not the isolate, for off-thread objects. @@ -48,7 +33,8 @@ V8_INLINE Heap* GetHeapFromWritableObject(HeapObject object) { #if defined V8_ENABLE_THIRD_PARTY_HEAP return Heap::GetIsolateFromWritableObject(object)->heap(); #elif defined V8_COMPRESS_POINTERS - Isolate* isolate = Isolate::FromRoot(GetIsolateRoot(object.ptr())); + Isolate* isolate = + Isolate::FromRootAddress(GetIsolateRootAddress(object.ptr())); DCHECK_NOT_NULL(isolate); return isolate->heap(); #else @@ -62,7 +48,8 @@ V8_INLINE Isolate* GetIsolateFromWritableObject(HeapObject object) { #ifdef V8_ENABLE_THIRD_PARTY_HEAP return Heap::GetIsolateFromWritableObject(object); #elif defined V8_COMPRESS_POINTERS - Isolate* isolate = Isolate::FromRoot(GetIsolateRoot(object.ptr())); + Isolate* isolate = + Isolate::FromRootAddress(GetIsolateRootAddress(object.ptr())); DCHECK_NOT_NULL(isolate); return isolate; #else |