5#ifndef V8_SANDBOX_ISOLATE_H_
6#define V8_SANDBOX_ISOLATE_H_
22#ifdef V8_ENABLE_SANDBOX
26 template <
typename IsolateT>
27 IsolateForSandbox(IsolateT* isolate)
30 inline ExternalPointerTable& GetExternalPointerTableFor(
31 ExternalPointerTagRange tag_range);
32 inline ExternalPointerTable::Space* GetExternalPointerTableSpaceFor(
33 ExternalPointerTagRange tag_range, Address host);
35 inline CodePointerTable::Space* GetCodePointerTableSpaceFor(
38 inline TrustedPointerTable& GetTrustedPointerTableFor(IndirectPointerTag tag);
39 inline TrustedPointerTable::Space* GetTrustedPointerTableSpaceFor(
40 IndirectPointerTag tag);
45 Tagged<HeapObject> witness, ExternalPointerHandle handle);
49 inline bool SharesPointerTablesWith(IsolateForSandbox other)
const;
69 template <
typename IsolateT>
82#ifdef V8_COMPRESS_POINTERS
85 template <
typename IsolateT>
86 IsolateForPointerCompression(IsolateT* isolate)
89 inline ExternalPointerTable& GetExternalPointerTableFor(
90 ExternalPointerTagRange tag_range);
91 inline ExternalPointerTable::Space* GetExternalPointerTableSpaceFor(
92 ExternalPointerTagRange tag_range, Address host);
94 inline CppHeapPointerTable& GetCppHeapPointerTable();
95 inline CppHeapPointerTable::Space* GetCppHeapPointerTableSpace();
103 template <
typename IsolateT>
constexpr IsolateForPointerCompression(IsolateT *)
constexpr IsolateForSandbox()=default
constexpr IsolateForSandbox(IsolateT *)
V8_INLINE IsolateForSandbox GetCurrentIsolateForSandbox()
kInterpreterTrampolineOffset Tagged< HeapObject >
V8_INLINE IsolateForSandbox GetIsolateForSandbox(Tagged< HeapObject >)
#define V8_EXPORT_PRIVATE