v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
value-serializer.cc File Reference
Include dependency graph for value-serializer.cc:

Go to the source code of this file.

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 
#define EXIT_DCHECK()
 
#define ITERATION_SHIFTED(shift)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 
#define READ_NEXT_ERROR_TAG()
 

Enumerations

enum class  v8::internal::SerializationTag : uint8_t {
  v8::internal::kVersion = 0xFF , v8::internal::kPadding = '\0' , v8::internal::kVerifyObjectCount = '?' , v8::internal::kTheHole = '-' ,
  v8::internal::kUndefined = '_' , v8::internal::kNull = '0' , v8::internal::kTrue = 'T' , v8::internal::kFalse = 'F' ,
  v8::internal::kInt32 = 'I' , v8::internal::kUint32 = 'U' , v8::internal::kDouble = 'N' , v8::internal::kBigInt = 'Z' ,
  v8::internal::kUtf8String = 'S' , v8::internal::kOneByteString = '"' , v8::internal::kTwoByteString = 'c' , v8::internal::kObjectReference = '^' ,
  v8::internal::kBeginJSObject = 'o' , v8::internal::kEndJSObject = '{' , v8::internal::kBeginSparseJSArray = 'a' , v8::internal::kEndSparseJSArray = '@' ,
  v8::internal::kBeginDenseJSArray = 'A' , v8::internal::kEndDenseJSArray = '$' , v8::internal::kDate = 'D' , v8::internal::kTrueObject = 'y' ,
  v8::internal::kFalseObject = 'x' , v8::internal::kNumberObject = 'n' , v8::internal::kBigIntObject = 'z' , v8::internal::kStringObject = 's' ,
  v8::internal::kRegExp = 'R' , v8::internal::kBeginJSMap = ';' , v8::internal::kEndJSMap = ':' , v8::internal::kBeginJSSet = '\'' ,
  v8::internal::kEndJSSet = ',' , v8::internal::kArrayBuffer = 'B' , v8::internal::kResizableArrayBuffer = '~' , v8::internal::kArrayBufferTransfer = 't' ,
  v8::internal::kArrayBufferView = 'V' , v8::internal::kSharedArrayBuffer = 'u' , v8::internal::kSharedObject = 'p' , v8::internal::kWasmModuleTransfer = 'w' ,
  v8::internal::kHostObject = '\\' , v8::internal::kWasmMemoryTransfer = 'm' , v8::internal::kError = 'r' , v8::internal::kLegacyReservedMessagePort = 'M' ,
  v8::internal::kLegacyReservedBlob = 'b' , v8::internal::kLegacyReservedBlobIndex = 'i' , v8::internal::kLegacyReservedFile = 'f' , v8::internal::kLegacyReservedFileIndex = 'e' ,
  v8::internal::kLegacyReservedDOMFileSystem = 'd' , v8::internal::kLegacyReservedFileList = 'l' , v8::internal::kLegacyReservedFileListIndex = 'L' , v8::internal::kLegacyReservedImageData = '#' ,
  v8::internal::kLegacyReservedImageBitmap = 'g' , v8::internal::kLegacyReservedImageBitmapTransfer = 'G' , v8::internal::kLegacyReservedOffscreenCanvas = 'H' , v8::internal::kLegacyReservedCryptoKey = 'K' ,
  v8::internal::kLegacyReservedRTCCertificate = 'k'
}
 

Functions

template<typename T >
static size_t v8::internal::BytesNeededForVarint (T value)
 
static void v8::internal::CommitProperties (DirectHandle< JSObject > object, DirectHandle< Map > map, base::Vector< const DirectHandle< Object > > properties)
 
static bool v8::internal::IsValidObjectKey (Tagged< Object > value, Isolate *isolate)
 
static Maybe< boolv8::internal::SetPropertiesFromKeyValuePairs (Isolate *isolate, DirectHandle< JSObject > object, DirectHandle< Object > *data, uint32_t num_properties)
 

Variables

static const uint32_t v8::internal::kLatestVersion = 15
 

Macro Definition Documentation

◆ EXIT_DCHECK

#define EXIT_DCHECK ( )
Value:
DCHECK_EQ(position_, expected_position); \
DCHECK_EQ(value, expected_value)
const v8::base::TimeTicks end_
Definition sweeper.cc:54
const int position_
#define DCHECK_LE(v1, v2)
Definition logging.h:490

◆ ITERATION_SHIFTED

#define ITERATION_SHIFTED ( shift)
Value:
if (shift < sizeof(T) * 8) { \
uint8_t byte = *position_; \
position_++; \
if (byte < 0x80) { \
value |= static_cast<T>(byte) << shift; \
EXIT_DCHECK(); \
return Just(value); \
} else { \
value |= static_cast<T>(byte & 0x7F) << shift; \
} \
}

◆ READ_NEXT_ERROR_TAG

#define READ_NEXT_ERROR_TAG ( )
Value:
do { \
if (!ReadVarint<uint8_t>().To(&tag)) { \
return MaybeDirectHandle<JSObject>(); \
} \
} while (false)

◆ TYPED_ARRAY_CASE [1/2]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
case kExternal##Type##Array: \
tag = ArrayBufferViewTag::k##Type##Array; \
break;

◆ TYPED_ARRAY_CASE [2/2]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
case ArrayBufferViewTag::k##Type##Array: \
external_array_type = kExternal##Type##Array; \
element_size = sizeof(ctype); \
break;