v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StartupSerializer Class Reference

#include <serialize.h>

Inheritance diagram for StartupSerializer:
Collaboration diagram for StartupSerializer:

Public Member Functions

 StartupSerializer (SnapshotByteSink *sink)
 
virtual void SerializeStrongReferences ()
 
virtual void SerializeObject (Object *o, HowToCode how_to_code, WhereToPoint where_to_point, int skip)
 
void SerializeWeakReferences ()
 
void Serialize ()
 
- Public Member Functions inherited from Serializer
 Serializer (SnapshotByteSink *sink)
 
 ~Serializer ()
 
void VisitPointers (Object **start, Object **end)
 
int CurrentAllocationAddress (int space)
 
SerializationAddressMapperaddress_mapper ()
 
void PutRoot (int index, HeapObject *object, HowToCode how, WhereToPoint where, int skip)
 

Additional Inherited Members

- Static Public Member Functions inherited from Serializer
static void Enable ()
 
static void Disable ()
 
static void TooLateToEnableNow ()
 
static bool enabled ()
 
- Static Public Member Functions inherited from SerializerDeserializer
static void Iterate (ObjectVisitor *visitor)
 
static int nop ()
 
- Protected Types inherited from SerializerDeserializer
enum  Where {
  kNewObject = 0, kRootArray = 0x9, kPartialSnapshotCache = 0xa, kExternalReference = 0xb,
  kSkip = 0xc, kNop = 0xd, kBackref = 0x10, kBackrefWithSkip = 0x18,
  kPointedToMask = 0x3f
}
 
enum  HowToCode { kPlain = 0, kFromCode = 0x40, kHowToCodeMask = 0x40 }
 
enum  WithSkip { kNoSkipDistance = 0, kHasSkipDistance = 0x40, kWithSkipMask = 0x40 }
 
enum  WhereToPoint { kStartOfObject = 0, kInnerPointer = 0x80, kWhereToPointMask = 0x80 }
 
- Protected Member Functions inherited from Serializer
int RootIndex (HeapObject *heap_object, HowToCode from)
 
intptr_t root_index_wave_front ()
 
void set_root_index_wave_front (intptr_t value)
 
void SerializeReferenceToPreviousObject (int space, int address, HowToCode how_to_code, WhereToPoint where_to_point, int skip)
 
void InitializeAllocators ()
 
int Allocate (int space, int size)
 
int EncodeExternalReference (Address addr)
 
int SpaceAreaSize (int space)
 
void Pad ()
 
- Static Protected Member Functions inherited from Serializer
static int SpaceOfObject (HeapObject *object)
 
- Static Protected Member Functions inherited from SerializerDeserializer
static int CodeForRepeats (int repeats)
 
static int RepeatsForCode (int byte_code)
 
static int RootArrayConstantFromByteCode (int byte_code)
 
- Protected Attributes inherited from Serializer
Isolateisolate_
 
int fullness_ [LAST_SPACE+1]
 
SnapshotByteSinksink_
 
int current_root_index_
 
ExternalReferenceEncoderexternal_reference_encoder_
 
SerializationAddressMapper address_mapper_
 
intptr_t root_index_wave_front_
 
- Static Protected Attributes inherited from Serializer
static const int kInvalidRootIndex = -1
 
static bool serialization_enabled_ = false
 
static bool too_late_to_enable_now_ = false
 
- Static Protected Attributes inherited from SerializerDeserializer
static const int kRawData = 0x20
 
static const int kSynchronize = 0x70
 
static const int kNativesStringResource = 0x71
 
static const int kRepeat = 0x72
 
static const int kConstantRepeat = 0x73
 
static const int kMaxRepeats = 0x7f - 0x72
 
static const int kRootArrayConstants = 0xa0
 
static const int kRootArrayNumberOfConstantEncodings = 0x20
 
static const int kNumberOfSpaces = LO_SPACE
 
static const int kAnyOldSpace = -1
 
static const int kSpaceMask = 7
 

Detailed Description

Definition at line 627 of file serialize.h.

Constructor & Destructor Documentation

StartupSerializer ( SnapshotByteSink sink)
inlineexplicit

Definition at line 629 of file serialize.h.

Member Function Documentation

void SerializeWeakReferences ( )

Definition at line 1246 of file serialize.cc.

References Isolate::heap(), HEAP, Serializer::Pad(), and v8::internal::VISIT_ALL.

Referenced by main(), and StartupSerializer::Serialize().


The documentation for this class was generated from the following files: