v8  3.25.30(node0.11.13)
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 IteratePointersToNewSpaceAndClearMaps (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 53 of file store-buffer.h.

Constructor & Destructor Documentation

StoreBuffer ( Heap heap)
explicit

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

Member Function Documentation

void GCEpilogue ( )

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

References StoreBuffer::Verify().

void GCPrologue ( )

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

void IteratePointersToNewSpace ( ObjectSlotCallback  callback)

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

Referenced by StoreBuffer::IteratePointersToNewSpaceAndClearMaps().

void IteratePointersToNewSpaceAndClearMaps ( ObjectSlotCallback  callback)

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

References StoreBuffer::IteratePointersToNewSpace().

Object*** Limit ( )
inline

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

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

bool old_buffer_is_filtered ( )
inline

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

bool old_buffer_is_sorted ( )
inline

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

void SetTop ( Object ***  top)
inline

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

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

Referenced by StoreBufferRebuilder::Callback().

void SortUniq ( )

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

References StoreBuffer::Compact().

Object*** Start ( )
inline

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

Referenced by StoreBuffer::SetTop().

void StoreBufferOverflow ( Isolate isolate)
static
void TearDown ( )

Definition at line 111 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 106 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().

void Verify ( )

Definition at line 400 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 222 of file store-buffer.h.

friend class StoreBufferRebuildScope
friend

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

Field Documentation

const int kHashSetLength = 1 << kHashSetLengthLog2
static

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

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

const int kHashSetLengthLog2 = 12
static

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

Referenced by StoreBuffer::Compact().

const int kOldStoreBufferLength = kStoreBufferLength * 16
static

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

Referenced by StoreBuffer::SetUp().

const int kStoreBufferLength = kStoreBufferSize / sizeof(Address)
static

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

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

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

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

const int kStoreBufferSize = kStoreBufferOverflowBit
static

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

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


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