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
StoreBuffer Class Reference

#include <store-buffer.h>

Public Member Functions

 StoreBuffer (Heap *heap)
 
Address TopAddress ()
 
void SetUp ()
 
void TearDown ()
 
void Mark (Address addr)
 
void EnterDirectlyIntoStoreBuffer (Address addr)
 
void IteratePointersToNewSpace (ObjectSlotCallback callback)
 
void Compact ()
 
void GCPrologue ()
 
void GCEpilogue ()
 
Object *** Limit ()
 
Object *** Start ()
 
Object *** Top ()
 
void SetTop (Object ***top)
 
bool old_buffer_is_sorted ()
 
bool old_buffer_is_filtered ()
 
void SortUniq ()
 
void EnsureSpace (intptr_t space_needed)
 
void Verify ()
 
bool PrepareForIteration ()
 
void Filter (int flag)
 

Static Public Member Functions

static void StoreBufferOverflow (Isolate *isolate)
 

Static Public Attributes

static const int kStoreBufferOverflowBit = 1 << (14 + kPointerSizeLog2)
 
static const int kStoreBufferSize = kStoreBufferOverflowBit
 
static const int kStoreBufferLength = kStoreBufferSize / sizeof(Address)
 
static const int kOldStoreBufferLength = kStoreBufferLength * 16
 
static const int kHashSetLengthLog2 = 12
 
static const int kHashSetLength = 1 << kHashSetLengthLog2
 

Friends

class StoreBufferRebuildScope
 
class DontMoveStoreBufferEntriesScope
 

Detailed Description

Definition at line 49 of file store-buffer.h.

Constructor & Destructor Documentation

StoreBuffer ( Heap heap)
explicit

Definition at line 37 of file store-buffer.cc.

Member Function Documentation

void GCEpilogue ( )

Definition at line 428 of file store-buffer.cc.

References StoreBuffer::Verify().

Referenced by Heap::GarbageCollectionEpilogue().

void GCPrologue ( )

Definition at line 369 of file store-buffer.cc.

Referenced by Heap::GarbageCollectionPrologue().

Object*** Limit ( )
inline

Definition at line 96 of file store-buffer.h.

Referenced by StoreBufferRebuilder::Callback(), and StoreBuffer::SetTop().

bool old_buffer_is_filtered ( )
inline

Definition at line 106 of file store-buffer.h.

bool old_buffer_is_sorted ( )
inline

Definition at line 105 of file store-buffer.h.

void SetTop ( Object ***  top)
inline

Definition at line 99 of file store-buffer.h.

References ASSERT, StoreBuffer::Limit(), and StoreBuffer::Start().

Referenced by StoreBufferRebuilder::Callback().

void SortUniq ( )

Definition at line 283 of file store-buffer.cc.

References StoreBuffer::Compact().

Object*** Start ( )
inline

Definition at line 97 of file store-buffer.h.

Referenced by StoreBuffer::SetTop().

void StoreBufferOverflow ( Isolate isolate)
static

Definition at line 120 of file store-buffer.cc.

References StoreBuffer::Compact(), Isolate::heap(), and Heap::store_buffer().

void TearDown ( )

Definition at line 109 of file store-buffer.cc.

References v8::internal::NULL, and Heap::public_set_store_buffer_top().

Referenced by Heap::TearDown().

Object*** Top ( )
inline

Definition at line 98 of file store-buffer.h.

Referenced by StoreBufferRebuilder::Callback().

Address TopAddress ( )
inline

Definition at line 36 of file store-buffer-inl.h.

References Heap::store_buffer_top_address().

Referenced by Serializer::VisitPointers().

void Verify ( )

Definition at line 417 of file store-buffer.cc.

References Heap::lo_space(), Heap::map_space(), and Heap::old_pointer_space().

Referenced by StoreBuffer::GCEpilogue().

Friends And Related Function Documentation

friend class DontMoveStoreBufferEntriesScope
friend

Definition at line 204 of file store-buffer.h.

friend class StoreBufferRebuildScope
friend

Definition at line 203 of file store-buffer.h.

Field Documentation

const int kHashSetLength = 1 << kHashSetLengthLog2
static

Definition at line 89 of file store-buffer.h.

Referenced by StoreBuffer::Compact(), and StoreBuffer::SetUp().

const int kHashSetLengthLog2 = 12
static

Definition at line 88 of file store-buffer.h.

Referenced by StoreBuffer::Compact().

const int kOldStoreBufferLength = kStoreBufferLength * 16
static

Definition at line 87 of file store-buffer.h.

Referenced by StoreBuffer::SetUp().

const int kStoreBufferLength = kStoreBufferSize / sizeof(Address)
static

Definition at line 86 of file store-buffer.h.

const int kStoreBufferOverflowBit = 1 << (14 + kPointerSizeLog2)
static

Definition at line 84 of file store-buffer.h.

Referenced by StoreBuffer::Mark(), and StoreBuffer::SetUp().

const int kStoreBufferSize = kStoreBufferOverflowBit
static

Definition at line 85 of file store-buffer.h.

Referenced by StoreBufferRebuilder::Callback(), and StoreBuffer::SetUp().


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