![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <value-serializer.h>
Public Member Functions | |
ValueSerializer (Isolate *isolate, v8::ValueSerializer::Delegate *delegate) | |
~ValueSerializer () | |
ValueSerializer (const ValueSerializer &)=delete | |
ValueSerializer & | operator= (const ValueSerializer &)=delete |
void | WriteHeader () |
Maybe< bool > | WriteObject (DirectHandle< Object > object) V8_WARN_UNUSED_RESULT |
std::pair< uint8_t *, size_t > | Release () |
void | TransferArrayBuffer (uint32_t transfer_id, DirectHandle< JSArrayBuffer > array_buffer) |
void | WriteUint32 (uint32_t value) |
void | WriteUint64 (uint64_t value) |
void | WriteRawBytes (const void *source, size_t length) |
void | WriteDouble (double value) |
void | WriteByte (uint8_t value) |
void | SetTreatArrayBufferViewsAsHostObjects (bool mode) |
Private Attributes | |
Isolate *const | isolate_ |
v8::ValueSerializer::Delegate *const | delegate_ |
uint8_t * | buffer_ = nullptr |
size_t | buffer_size_ = 0 |
size_t | buffer_capacity_ = 0 |
bool | has_custom_host_objects_ = false |
bool | treat_array_buffer_views_as_host_objects_ = false |
bool | out_of_memory_ = false |
Zone | zone_ |
IdentityMap< uint32_t, ZoneAllocationPolicy > | id_map_ |
uint32_t | next_id_ = 0 |
IdentityMap< uint32_t, ZoneAllocationPolicy > | array_buffer_transfer_map_ |
SharedObjectConveyorHandles * | shared_object_conveyor_ = nullptr |
Writes V8 objects in a binary format that allows the objects to be cloned according to the HTML structured clone algorithm.
Format is based on Blink's previous serialization logic.
Definition at line 50 of file value-serializer.h.
v8::internal::ValueSerializer::ValueSerializer | ( | Isolate * | isolate, |
v8::ValueSerializer::Delegate * | delegate ) |
v8::internal::ValueSerializer::~ValueSerializer | ( | ) |
|
delete |
Definition at line 414 of file value-serializer.cc.
|
private |
Definition at line 1284 of file value-serializer.cc.
|
delete |
std::pair< uint8_t *, size_t > v8::internal::ValueSerializer::Release | ( | ) |
Definition at line 401 of file value-serializer.cc.
void v8::internal::ValueSerializer::SetTreatArrayBufferViewsAsHostObjects | ( | bool | mode | ) |
Definition at line 324 of file value-serializer.cc.
|
private |
Definition at line 1308 of file value-serializer.cc.
|
private |
Definition at line 1301 of file value-serializer.cc.
void v8::internal::ValueSerializer::TransferArrayBuffer | ( | uint32_t | transfer_id, |
DirectHandle< JSArrayBuffer > | array_buffer ) |
Definition at line 554 of file value-serializer.cc.
Definition at line 384 of file value-serializer.cc.
void v8::internal::ValueSerializer::WriteByte | ( | uint8_t | value | ) |
void v8::internal::ValueSerializer::WriteDouble | ( | double | value | ) |
void v8::internal::ValueSerializer::WriteHeader | ( | ) |
Definition at line 319 of file value-serializer.cc.
|
private |
Definition at line 549 of file value-serializer.cc.
|
private |
Definition at line 1241 of file value-serializer.cc.
|
private |
Definition at line 738 of file value-serializer.cc.
|
private |
Definition at line 962 of file value-serializer.cc.
|
private |
Definition at line 1052 of file value-serializer.cc.
Definition at line 854 of file value-serializer.cc.
|
private |
Definition at line 1092 of file value-serializer.cc.
|
private |
Definition at line 893 of file value-serializer.cc.
|
private |
Definition at line 674 of file value-serializer.cc.
|
private |
Definition at line 1258 of file value-serializer.cc.
|
private |
Definition at line 723 of file value-serializer.cc.
|
private |
Definition at line 859 of file value-serializer.cc.
|
private |
Definition at line 581 of file value-serializer.cc.
|
private |
Definition at line 887 of file value-serializer.cc.
|
private |
Definition at line 928 of file value-serializer.cc.
|
private |
Definition at line 1170 of file value-serializer.cc.
|
private |
Definition at line 1164 of file value-serializer.cc.
Maybe< bool > v8::internal::ValueSerializer::WriteObject | ( | DirectHandle< Object > | object | ) |
Definition at line 468 of file value-serializer.cc.
Definition at line 522 of file value-serializer.cc.
|
private |
Definition at line 373 of file value-serializer.cc.
void v8::internal::ValueSerializer::WriteRawBytes | ( | const void * | source, |
size_t | length ) |
Definition at line 394 of file value-serializer.cc.
|
private |
Definition at line 1211 of file value-serializer.cc.
Definition at line 543 of file value-serializer.cc.
|
private |
Definition at line 559 of file value-serializer.cc.
|
private |
Definition at line 328 of file value-serializer.cc.
|
private |
Definition at line 378 of file value-serializer.cc.
void v8::internal::ValueSerializer::WriteUint32 | ( | uint32_t | value | ) |
Definition at line 445 of file value-serializer.cc.
void v8::internal::ValueSerializer::WriteUint64 | ( | uint64_t | value | ) |
Definition at line 449 of file value-serializer.cc.
Definition at line 334 of file value-serializer.cc.
Definition at line 353 of file value-serializer.cc.
|
private |
Definition at line 193 of file value-serializer.h.
|
private |
Definition at line 178 of file value-serializer.h.
|
private |
Definition at line 180 of file value-serializer.h.
|
private |
Definition at line 179 of file value-serializer.h.
|
private |
Definition at line 177 of file value-serializer.h.
|
private |
Definition at line 181 of file value-serializer.h.
|
private |
Definition at line 189 of file value-serializer.h.
|
private |
Definition at line 176 of file value-serializer.h.
|
private |
Definition at line 190 of file value-serializer.h.
|
private |
Definition at line 183 of file value-serializer.h.
|
private |
Definition at line 196 of file value-serializer.h.
|
private |
Definition at line 182 of file value-serializer.h.
|
private |
Definition at line 184 of file value-serializer.h.