v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
isolate-data.h File Reference
Include dependency graph for isolate-data.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::IsolateData
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::wasm
 

Macros

#define ISOLATE_DATA_FAST_C_CALL_PADDING(V)
 
#define ISOLATE_DATA_FIELDS(V)
 
#define ISOLATE_DATA_FIELDS_POINTER_COMPRESSION(V)
 
#define ISOLATE_DATA_FIELDS_SANDBOX(V)
 
#define ISOLATE_DATA_FIELDS_LEAPTIERING(V)
 
#define EXTERNAL_REFERENCE_LIST_ISOLATE_FIELDS(V)
 
#define PLUS_1(...)
 
#define FIELD(name, comment, camel)
 
#define FIELD(camel, ...)
 
#define V(CamelName, Size, hacker_name)
 
#define V(Offset, Size, Name)
 
#define THREAD_LOCAL_TOP_MEMBER_OFFSET(Name)
 
#define CASE(camel, size, name)
 
#define FIELDS(V)
 
#define V(PureName, Size, Name)
 

Enumerations

enum class  v8::internal::IsolateFieldId : uint8_t { v8::internal::kUnknown = 0 , v8::internal::FIELD , v8::internal::FIELD }
 

Variables

static constexpr int v8::internal::kFastCCallAlignmentPaddingCount = 1
 
constexpr uint8_t v8::internal::kNumIsolateFieldIds
 

Macro Definition Documentation

◆ CASE

#define CASE ( camel,
size,
name )
Value:
case IsolateFieldId::k##camel: \
return IsolateData::name##_offset();

◆ EXTERNAL_REFERENCE_LIST_ISOLATE_FIELDS

#define EXTERNAL_REFERENCE_LIST_ISOLATE_FIELDS ( V)
Value:
V(isolate_address, "isolate address", IsolateAddress) \
V(jslimit_address, "jslimit address", JsLimitAddress)
#define V(CamelName, Size, hacker_name)

Definition at line 203 of file isolate-data.h.

◆ FIELD [1/2]

#define FIELD ( camel,
... )
Value:
k##camel,

Definition at line 214 of file isolate-data.h.

◆ FIELD [2/2]

#define FIELD ( name,
comment,
camel )
Value:
k##camel,

Definition at line 214 of file isolate-data.h.

◆ FIELDS

#define FIELDS ( V)
Value:
/* This padding aligns IsolateData size by 8 bytes. */ \
V(Padding, \
8 + RoundUp<8>(static_cast<int>(kPaddingOffset)) - kPaddingOffset) \
/* Total size. */ \
V(Size, 0)
#define ISOLATE_DATA_FIELDS(V)
constexpr T RoundUp(T x, intptr_t m)
Definition macros.h:387

Definition at line 397 of file isolate-data.h.

◆ ISOLATE_DATA_FAST_C_CALL_PADDING

#define ISOLATE_DATA_FAST_C_CALL_PADDING ( V)
Value:
V(kFastCCallAlignmentPaddingOffset, \
kFastCCallAlignmentPaddingCount* kSystemPointerSize, \
fast_c_call_alignment_padding)

Definition at line 46 of file isolate-data.h.

◆ ISOLATE_DATA_FIELDS

#define ISOLATE_DATA_FIELDS ( V)

Definition at line 119 of file isolate-data.h.

◆ ISOLATE_DATA_FIELDS_LEAPTIERING

#define ISOLATE_DATA_FIELDS_LEAPTIERING ( V)

Definition at line 199 of file isolate-data.h.

◆ ISOLATE_DATA_FIELDS_POINTER_COMPRESSION

#define ISOLATE_DATA_FIELDS_POINTER_COMPRESSION ( V)

Definition at line 174 of file isolate-data.h.

◆ ISOLATE_DATA_FIELDS_SANDBOX

#define ISOLATE_DATA_FIELDS_SANDBOX ( V)

Definition at line 188 of file isolate-data.h.

◆ PLUS_1

#define PLUS_1 ( ...)
Value:
+1

◆ THREAD_LOCAL_TOP_MEMBER_OFFSET

#define THREAD_LOCAL_TOP_MEMBER_OFFSET ( Name)
Value:
static constexpr uint32_t Name##_offset() { \
return static_cast<uint32_t>(IsolateData::thread_local_top_offset() + \
OFFSET_OF(ThreadLocalTop, Name##_)); \
}
#define _

Definition at line 360 of file isolate-data.h.

◆ V [1/3]

#define V ( CamelName,
Size,
hacker_name )
Value:
static constexpr int hacker_name##_offset() { \
return k##CamelName##Offset - kIsolateRootBias; \
}

Definition at line 255 of file isolate-data.h.

◆ V [2/3]

#define V ( Offset,
Size,
Name )
Value:
Address Name##_address() const { return reinterpret_cast<Address>(&Name##_); }

Definition at line 255 of file isolate-data.h.

◆ V [3/3]

#define V ( PureName,
Size,
Name )
Value:
static_assert( \
std::is_standard_layout<decltype(IsolateData::Name##_)>::value); \
static_assert(offsetof(IsolateData, Name##_) == k##PureName##Offset);
std::unique_ptr< ValueMirror > value

Definition at line 255 of file isolate-data.h.