5#ifndef V8_SNAPSHOT_SERIALIZER_DESERIALIZER_H_
6#define V8_SNAPSHOT_SERIALIZER_DESERIALIZER_H_
39#define UNUSED_SERIALIZER_BYTE_CODES(V) \
41 V(0x22) V(0x23) V(0x24) V(0x25) V(0x26) V(0x27) \
42 V(0x28) V(0x29) V(0x2a) V(0x2b) V(0x2c) V(0x2d) V(0x2e) V(0x2f) \
44 V(0x30) V(0x31) V(0x32) V(0x33) V(0x34) V(0x35) V(0x36) V(0x37) \
45 V(0x38) V(0x39) V(0x3a) V(0x3b) V(0x3c) V(0x3d) V(0x3e) V(0x3f) \
47 V(0x98) V(0x99) V(0x9a) V(0x9b) V(0x9c) V(0x9d) V(0x9e) V(0x9f) \
49 V(0xa0) V(0xa1) V(0xa2) V(0xa3) V(0xa4) V(0xa5) V(0xa6) V(0xa7) \
50 V(0xa8) V(0xa9) V(0xaa) V(0xab) V(0xac) V(0xad) V(0xae) V(0xaf) \
52 V(0xb0) V(0xb1) V(0xb2) V(0xb3) V(0xb4) V(0xb5) V(0xb6) V(0xb7) \
53 V(0xb8) V(0xb9) V(0xba) V(0xbb) V(0xbc) V(0xbd) V(0xbe) V(0xbf) \
55 V(0xc0) V(0xc1) V(0xc2) V(0xc3) V(0xc4) V(0xc5) V(0xc6) V(0xc7) \
56 V(0xc8) V(0xc9) V(0xca) V(0xcb) V(0xcc) V(0xcd) V(0xce) V(0xcf) \
58 V(0xd0) V(0xd1) V(0xd2) V(0xd3) V(0xd4) V(0xd5) V(0xd6) V(0xd7) \
59 V(0xd8) V(0xd9) V(0xda) V(0xdb) V(0xdc) V(0xdd) V(0xde) V(0xdf) \
61 V(0xe0) V(0xe1) V(0xe2) V(0xe3) V(0xe4) V(0xe5) V(0xe6) V(0xe7) \
62 V(0xe8) V(0xe9) V(0xea) V(0xeb) V(0xec) V(0xed) V(0xee) V(0xef) \
64 V(0xf0) V(0xf1) V(0xf2) V(0xf3) V(0xf4) V(0xf5) V(0xf6) V(0xf7) \
65 V(0xf8) V(0xf9) V(0xfa) V(0xfb) V(0xfc) V(0xfd) V(0xfe) V(0xff)
202 typename TValue =
int>
210 static constexpr uint8_t
Encode(TValue value) {
216 static constexpr TValue
Decode(uint8_t bytecode) {
218 Encode(
static_cast<TValue
>(kMaxValue))));
219 return static_cast<TValue
>(bytecode -
kBytecode + kMinValue);
223 template <Bytecode
bytecode>
264 static constexpr int Encode(
int repeat_count) {
interpreter::Bytecode bytecode
@ kAllocateJSDispatchEntry
@ kProtectedPointerPrefix
@ kResolvePendingForwardRef
@ kSandboxedExternalReference
@ kOffHeapResizableBackingStore
@ kSandboxedRawExternalReference
@ kRegisterPendingForwardRef
@ kInitializeSelfIndirectPointer
static const int kRootArrayConstantsCount
static const int kFirstEncodableFixedRawDataSize
static const int kLastEncodableFixedRawDataSize
static const int kFixedRawDataCount
static const int kFixedRepeatRootCount
static const int kDoubleAlignmentSentinel
static void IterateStartupObjectCache(Isolate *isolate, RootVisitor *visitor)
static const int kLastEncodableFixedRepeatRootCount
void RestoreExternalReferenceRedirector(Isolate *isolate, Tagged< AccessorInfo > accessor_info)
static void IterateSharedHeapObjectCache(Isolate *isolate, RootVisitor *visitor)
static const uint32_t kEmptyBackingStoreRefSentinel
static const int kFirstEncodableVariableRepeatRootCount
static const int kHotObjectCount
static const int kFirstEncodableRepeatRootCount
static bool CanBeDeferred(Tagged< HeapObject > o, SlotType slot_type)
constexpr bool IsInRange(T value, U lower_limit, U higher_limit)
static constexpr int kNumberOfSnapshotSpaces
#define DCHECK(condition)
DeserializeEmbedderFieldsCallback(v8::DeserializeInternalFieldsCallback js_cb=v8::DeserializeInternalFieldsCallback(), v8::DeserializeContextDataCallback context_cb=v8::DeserializeContextDataCallback(), v8::DeserializeAPIWrapperCallback api_wrapper_cb=v8::DeserializeAPIWrapperCallback())
v8::DeserializeAPIWrapperCallback api_wrapper_callback
v8::DeserializeInternalFieldsCallback js_object_callback
v8::DeserializeContextDataCallback context_callback
v8::SerializeContextDataCallback context_callback
SerializeEmbedderFieldsCallback(v8::SerializeInternalFieldsCallback js_cb=v8::SerializeInternalFieldsCallback(), v8::SerializeContextDataCallback context_cb=v8::SerializeContextDataCallback(), v8::SerializeAPIWrapperCallback api_wrapper_cb=v8::SerializeAPIWrapperCallback())
v8::SerializeAPIWrapperCallback api_wrapper_callback
v8::SerializeInternalFieldsCallback js_object_callback
static constexpr TValue Decode(uint8_t bytecode)
static constexpr bool IsEncodable(TValue value)
static constexpr uint8_t Encode(TValue value)
static constexpr bool IsEncodable(int repeat_count)
static constexpr int Decode(int value)
static constexpr int Encode(int repeat_count)