v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
cppheap-pointer.h
Go to the documentation of this file.
1// Copyright 2025 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef V8_SANDBOX_CPPHEAP_POINTER_H_
6#define V8_SANDBOX_CPPHEAP_POINTER_H_
7
10
11namespace v8::internal {
12
13// TODO(saelo): consider passing a CppHeapPointerTagRange as template parameter
14// once C++20 is supported everywhere.
15template <CppHeapPointerTag lower_bound, CppHeapPointerTag upper_bound>
17 IsolateForPointerCompression isolate);
18
20 IsolateForPointerCompression isolate,
21 CppHeapPointerTagRange tag_range);
22
23template <CppHeapPointerTag tag>
25 Address field_address, IsolateForPointerCompression isolate, Address value);
26
28 Address field_address, IsolateForPointerCompression isolate, Address value,
30
31} // namespace v8::internal
32
33#endif // V8_SANDBOX_CPPHEAP_POINTER_H_
V8_INLINE Address ReadCppHeapPointerField(Address field_address, IsolateForPointerCompression isolate)
V8_INLINE void WriteLazilyInitializedCppHeapPointerField(Address field_address, IsolateForPointerCompression isolate, Address value)
CppHeapPointerTag
Definition v8-sandbox.h:28
#define V8_INLINE
Definition v8config.h:500