summaryrefslogtreecommitdiff
path: root/deps/v8/src/execution/isolate-utils-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/execution/isolate-utils-inl.h')
-rw-r--r--deps/v8/src/execution/isolate-utils-inl.h31
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