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

#include <spaces.h>

Inheritance diagram for NewSpacePage:
Collaboration diagram for NewSpacePage:

Public Member Functions

NewSpacePagenext_page () const
 
void set_next_page (NewSpacePage *page)
 
NewSpacePageprev_page () const
 
void set_prev_page (NewSpacePage *page)
 
SemiSpacesemi_space ()
 
bool is_anchor ()
 
Address address ()
 
- Public Member Functions inherited from MemoryChunk
Address address ()
 
bool is_valid ()
 
MemoryChunknext_chunk () const
 
MemoryChunkprev_chunk () const
 
void set_next_chunk (MemoryChunk *next)
 
void set_prev_chunk (MemoryChunk *prev)
 
Spaceowner () const
 
void set_owner (Space *space)
 
VirtualMemoryreserved_memory ()
 
void InitializeReservedMemory ()
 
void set_reserved_memory (VirtualMemory *reservation)
 
bool scan_on_scavenge ()
 
void initialize_scan_on_scavenge (bool scan)
 
void set_scan_on_scavenge (bool scan)
 
int store_buffer_counter ()
 
void set_store_buffer_counter (int counter)
 
bool Contains (Address addr)
 
bool ContainsLimit (Address addr)
 
void SetFlag (int flag)
 
void ClearFlag (int flag)
 
void SetFlagTo (int flag, bool value)
 
bool IsFlagSet (int flag)
 
void SetFlags (intptr_t flags, intptr_t mask)
 
intptr_t GetFlags ()
 
void ResetLiveBytes ()
 
void IncrementLiveBytes (int by)
 
int LiveBytes ()
 
int write_barrier_counter ()
 
void set_write_barrier_counter (int counter)
 
size_t size () const
 
void set_size (size_t size)
 
void SetArea (Address area_start, Address area_end)
 
Executability executable ()
 
bool ContainsOnlyData ()
 
bool InNewSpace ()
 
bool InToSpace ()
 
bool InFromSpace ()
 
Bitmapmarkbits ()
 
void PrintMarkbits ()
 
uint32_t AddressToMarkbitIndex (Address addr)
 
Address MarkbitIndexToAddress (uint32_t index)
 
void InsertAfter (MemoryChunk *other)
 
void Unlink ()
 
Heapheap ()
 
bool IsEvacuationCandidate ()
 
bool ShouldSkipEvacuationSlotRecording ()
 
SkipListskip_list ()
 
void set_skip_list (SkipList *skip_list)
 
SlotsBufferslots_buffer ()
 
SlotsBuffer ** slots_buffer_address ()
 
void MarkEvacuationCandidate ()
 
void ClearEvacuationCandidate ()
 
Address area_start ()
 
Address area_end ()
 
int area_size ()
 

Static Public Member Functions

static bool IsAtStart (Address addr)
 
static bool IsAtEnd (Address addr)
 
static NewSpacePageFromAddress (Address address_in_page)
 
static NewSpacePageFromLimit (Address address_limit)
 
- Static Public Member Functions inherited from MemoryChunk
static MemoryChunkFromAddress (Address a)
 
static MemoryChunkFromAnyPointerAddress (Address addr)
 
static void IncrementLiveBytesFromGC (Address address, int by)
 
static void IncrementLiveBytesFromMutator (Address address, int by)
 
static uint32_t FastAddressToMarkbitIndex (Address addr)
 

Static Public Attributes

static const intptr_t kCopyOnFlipFlagsMask
 
static const int kAreaSize = Page::kNonCodeObjectAreaSize
 
- Static Public Attributes inherited from MemoryChunk
static const int kWriteBarrierCounterGranularity = 500
 
static const int kPointersToHereAreInterestingMask
 
static const int kPointersFromHereAreInterestingMask
 
static const int kEvacuationCandidateMask
 
static const int kSkipEvacuationSlotsRecordingMask
 
static const intptr_t kAlignment
 
static const intptr_t kAlignmentMask = kAlignment - 1
 
static const intptr_t kSizeOffset = kPointerSize + kPointerSize
 
static const intptr_t kLiveBytesOffset
 
static const size_t kSlotsBufferOffset = kLiveBytesOffset + kIntSize
 
static const size_t kWriteBarrierCounterOffset
 
static const size_t kHeaderSize = kWriteBarrierCounterOffset + kPointerSize
 
static const int kBodyOffset
 
static const int kObjectStartAlignment = 32 * kPointerSize
 
static const int kObjectStartOffset
 
static const int kFlagsOffset = kPointerSize * 3
 

Friends

class SemiSpace
 
class SemiSpaceIterator
 

Additional Inherited Members

- Public Types inherited from MemoryChunk
enum  MemoryChunkFlags {
  IS_EXECUTABLE, ABOUT_TO_BE_FREED, POINTERS_TO_HERE_ARE_INTERESTING, POINTERS_FROM_HERE_ARE_INTERESTING,
  SCAN_ON_SCAVENGE, IN_FROM_SPACE, IN_TO_SPACE, NEW_SPACE_BELOW_AGE_MARK,
  CONTAINS_ONLY_DATA, EVACUATION_CANDIDATE, RESCAN_ON_EVACUATION, WAS_SWEPT_PRECISELY,
  WAS_SWEPT_CONSERVATIVELY, NUM_MEMORY_CHUNK_FLAGS
}
 
- Static Protected Member Functions inherited from MemoryChunk
static MemoryChunkInitialize (Heap *heap, Address base, size_t size, Address area_start, Address area_end, Executability executable, Space *owner)
 
- Protected Attributes inherited from MemoryChunk
MemoryChunknext_chunk_
 
MemoryChunkprev_chunk_
 
size_t size_
 
intptr_t flags_
 
Address area_start_
 
Address area_end_
 
VirtualMemory reservation_
 
Address owner_
 
Heapheap_
 
int store_buffer_counter_
 
int live_byte_count_
 
SlotsBufferslots_buffer_
 
SkipListskip_list_
 
intptr_t write_barrier_counter_
 

Detailed Description

Definition at line 1749 of file spaces.h.

Member Function Documentation

Address address ( )
inline

Definition at line 1791 of file spaces.h.

Referenced by PromotionQueue::ActivateGuardIfOnTheSamePage().

static NewSpacePage* FromAddress ( Address  address_in_page)
inlinestatic
static NewSpacePage* FromLimit ( Address  address_limit)
inlinestatic
bool is_anchor ( )
inline
static bool IsAtEnd ( Address  addr)
inlinestatic

Definition at line 1787 of file spaces.h.

References Page::kPageAlignmentMask.

Referenced by SemiSpaceIterator::Next().

static bool IsAtStart ( Address  addr)
inlinestatic
NewSpacePage* prev_page ( ) const
inline
SemiSpace* semi_space ( )
inline

Definition at line 1776 of file spaces.h.

References MemoryChunk::owner().

void set_next_page ( NewSpacePage page)
inline

Definition at line 1764 of file spaces.h.

References MemoryChunk::set_next_chunk().

Referenced by SemiSpace::ShrinkTo(), and SemiSpace::Uncommit().

void set_prev_page ( NewSpacePage page)
inline

Definition at line 1772 of file spaces.h.

References MemoryChunk::set_prev_chunk().

Referenced by SemiSpace::ShrinkTo(), and SemiSpace::Uncommit().

Friends And Related Function Documentation

friend class SemiSpace
friend

Definition at line 1826 of file spaces.h.

friend class SemiSpaceIterator
friend

Definition at line 1827 of file spaces.h.

Field Documentation

const int kAreaSize = Page::kNonCodeObjectAreaSize
static

Definition at line 1758 of file spaces.h.

Referenced by NewSpace::EffectiveCapacity(), and NewSpace::Size().

const intptr_t kCopyOnFlipFlagsMask
static

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