V8 Project
|
#include <serialize.h>
Public Member Functions | |
String * | source () |
List< uint32_t > * | stub_keys () |
![]() | |
Serializer (Isolate *isolate, SnapshotByteSink *sink) | |
~Serializer () | |
void | VisitPointers (Object **start, Object **end) |
int | CurrentAllocationAddress (int space) const |
Isolate * | isolate () const |
SerializationAddressMapper * | address_mapper () |
void | PutRoot (int index, HeapObject *object, HowToCode how, WhereToPoint where, int skip) |
Static Public Member Functions | |
static ScriptData * | Serialize (Isolate *isolate, Handle< SharedFunctionInfo > info, Handle< String > source) |
static Handle< SharedFunctionInfo > | Deserialize (Isolate *isolate, ScriptData *data, Handle< String > source) |
![]() | |
static void | Iterate (Isolate *isolate, ObjectVisitor *visitor) |
static int | nop () |
Static Public Attributes | |
static const int | kSourceObjectIndex = 0 |
static const int | kCodeStubsBaseIndex = 1 |
![]() | |
static const int | kNumberOfPreallocatedSpaces = LO_SPACE |
static const int | kNumberOfSpaces = INVALID_SPACE |
Private Member Functions | |
CodeSerializer (Isolate *isolate, SnapshotByteSink *sink, String *source, Code *main_code) | |
virtual void | SerializeObject (Object *o, HowToCode how_to_code, WhereToPoint where_to_point, int skip) |
void | SerializeBuiltin (Code *builtin, HowToCode how_to_code, WhereToPoint where_to_point) |
void | SerializeCodeStub (Code *stub, HowToCode how_to_code, WhereToPoint where_to_point) |
void | SerializeSourceObject (HowToCode how_to_code, WhereToPoint where_to_point) |
void | SerializeHeapObject (HeapObject *heap_object, HowToCode how_to_code, WhereToPoint where_to_point) |
int | AddCodeStubKey (uint32_t stub_key) |
DISALLOW_COPY_AND_ASSIGN (CodeSerializer) | |
Private Attributes | |
DisallowHeapAllocation | no_gc_ |
String * | source_ |
Code * | main_code_ |
List< uint32_t > | stub_keys_ |
Definition at line 578 of file serialize.h.
|
inlineprivate |
Definition at line 599 of file serialize.h.
References v8::internal::Serializer::InitializeCodeAddressMap(), v8::internal::Heap::kStrongRootListLength, and v8::internal::Serializer::set_root_index_wave_front().
Definition at line 2002 of file serialize.cc.
|
static |
Definition at line 2024 of file serialize.cc.
References v8::internal::SerializedCodeData::CodeStubKeys(), v8::internal::Deserializer::DeserializePartial(), v8::internal::Deserializer::FlushICacheForNewCodeObjects(), v8::internal::SerializedCodeData::GetReservation(), v8::internal::Serializer::isolate(), v8::internal::SerializerDeserializer::kNumberOfSpaces, v8::internal::ScriptData::length(), v8::internal::Vector< T >::length(), v8::internal::NEW_SPACE, v8::internal::SerializedCodeData::Payload(), v8::internal::SerializedCodeData::PayloadLength(), v8::internal::PrintF(), v8::internal::Deserializer::set_reservation(), v8::internal::Deserializer::SetAttachedObjects(), and v8::internal::SerializerDeserializer::STATIC_ASSERT().
Referenced by v8::internal::Compiler::CompileScript().
|
private |
|
static |
Definition at line 1836 of file serialize.cc.
References v8::internal::Handle< T >::cast(), v8::internal::cs, v8::internal::SerializedCodeData::GetScriptData(), v8::internal::Serializer::isolate(), v8::internal::ScriptData::length(), and v8::internal::PrintF().
Referenced by v8::internal::Compiler::CompileScript().
|
private |
Definition at line 1962 of file serialize.cc.
References v8::internal::Builtins::builtin_count, v8::internal::Code::builtin_index(), DCHECK, DCHECK_LE, DCHECK_LT, v8::internal::Serializer::isolate(), v8::internal::SerializerDeserializer::kBuiltin, v8::internal::SerializerDeserializer::kFromCode, v8::internal::SerializerDeserializer::kInnerPointer, v8::internal::SerializerDeserializer::kPlain, v8::internal::SerializerDeserializer::kStartOfObject, name, v8::internal::PrintF(), v8::internal::SnapshotByteSink::Put(), v8::internal::SnapshotByteSink::PutInt(), and v8::internal::Serializer::sink_.
|
private |
Definition at line 1981 of file serialize.cc.
References DCHECK, v8::internal::SerializerDeserializer::kAttachedReference, v8::internal::SerializerDeserializer::kFromCode, v8::internal::SerializerDeserializer::kInnerPointer, v8::internal::SerializerDeserializer::kPlain, v8::internal::SerializerDeserializer::kStartOfObject, v8::internal::PrintF(), v8::internal::SnapshotByteSink::Put(), v8::internal::SnapshotByteSink::PutInt(), v8::internal::Serializer::sink_, and v8::internal::Code::stub_key().
|
private |
Definition at line 1939 of file serialize.cc.
References v8::internal::PrintF(), v8::internal::Serializer::ObjectSerializer::Serialize(), v8::internal::Object::ShortPrint(), and v8::internal::Serializer::sink_.
|
privatevirtual |
Implements v8::internal::Serializer.
Definition at line 1868 of file serialize.cc.
References v8::internal::Serializer::address_mapper_, BUILTIN, v8::internal::Isolate::builtins(), CHECK, IC_KIND_CASE, IC_KIND_LIST, v8::internal::SerializationAddressMapper::IsMapped(), v8::internal::Serializer::isolate(), v8::internal::Code::kind(), v8::internal::Serializer::kInvalidRootIndex, v8::internal::SerializerDeserializer::kSkip, v8::internal::Code::NUMBER_OF_KINDS, v8::internal::SnapshotByteSink::Put(), v8::internal::SnapshotByteSink::PutInt(), v8::internal::Serializer::PutRoot(), v8::internal::Serializer::RootIndex(), v8::internal::Serializer::SerializeReferenceToPreviousObject(), v8::internal::Serializer::sink_, and v8::internal::STUB.
|
private |
Definition at line 2014 of file serialize.cc.
References DCHECK, v8::internal::SerializerDeserializer::kAttachedReference, v8::internal::SerializerDeserializer::kPlain, v8::internal::SerializerDeserializer::kStartOfObject, v8::internal::PrintF(), v8::internal::SnapshotByteSink::Put(), v8::internal::SnapshotByteSink::PutInt(), and v8::internal::Serializer::sink_.
|
inline |
|
static |
Definition at line 589 of file serialize.h.
|
static |
Definition at line 588 of file serialize.h.
|
private |
Definition at line 621 of file serialize.h.
|
private |
Definition at line 619 of file serialize.h.
|
private |
Definition at line 620 of file serialize.h.
Referenced by source().
Definition at line 622 of file serialize.h.
Referenced by stub_keys().