V8 Project
|
#include <spaces.h>
Static Public Member Functions | |
static bool | IsAtStart (Address addr) |
static bool | IsAtEnd (Address addr) |
static NewSpacePage * | FromAddress (Address address_in_page) |
static NewSpacePage * | FromLimit (Address address_limit) |
static bool | OnSamePage (Address address1, Address address2) |
![]() | |
static MemoryChunk * | FromAddress (Address a) |
static const MemoryChunk * | FromAddress (const byte *a) |
static MemoryChunk * | FromAnyPointerAddress (Heap *heap, Address addr) |
static void | IncrementLiveBytesFromGC (Address address, int by) |
static void | IncrementLiveBytesFromMutator (Address address, int by) |
static uint32_t | FastAddressToMarkbitIndex (Address addr) |
static void | UpdateHighWaterMark (Address mark) |
Static Public Attributes | |
static const intptr_t | kCopyOnFlipFlagsMask |
static const int | kAreaSize = Page::kMaxRegularHeapObjectSize |
![]() | |
static const int | kWriteBarrierCounterGranularity = 500 |
static const int | kPointersToHereAreInterestingMask |
static const int | kPointersFromHereAreInterestingMask |
static const int | kEvacuationCandidateMask = 1 << EVACUATION_CANDIDATE |
static const int | kSkipEvacuationSlotsRecordingMask |
static const intptr_t | kAlignment |
static const intptr_t | kAlignmentMask = kAlignment - 1 |
static const intptr_t | kSizeOffset = 0 |
static const intptr_t | kLiveBytesOffset |
static const size_t | kSlotsBufferOffset = kLiveBytesOffset + kIntSize |
static const size_t | kWriteBarrierCounterOffset |
static const size_t | kHeaderSize |
static const int | kBodyOffset |
static const int | kObjectStartAlignment = 32 * kPointerSize |
static const int | kObjectStartOffset |
static const int | kFlagsOffset = kPointerSize |
Private Member Functions | |
NewSpacePage (SemiSpace *owner) | |
void | InitializeAsAnchor (SemiSpace *owner) |
Static Private Member Functions | |
static NewSpacePage * | Initialize (Heap *heap, Address start, SemiSpace *semi_space) |
Friends | |
class | SemiSpace |
class | SemiSpaceIterator |
|
inlineexplicitprivate |
Definition at line 2044 of file spaces.h.
References InitializeAsAnchor(), and v8::internal::MemoryChunk::owner().
|
inlinestatic |
Definition at line 2021 of file spaces.h.
References v8::internal::Page::kPageAlignmentMask.
Referenced by FromLimit(), v8::internal::PromotionQueue::insert(), OnSamePage(), v8::internal::PromotionQueue::remove(), v8::internal::Heap::ShouldBePromoted(), and v8::internal::SemiSpace::ShrinkTo().
|
inlinestatic |
Definition at line 2031 of file spaces.h.
References FromAddress().
Referenced by v8::internal::NewSpace::AddFreshPage(), v8::internal::Heap::DoScavenge(), v8::internal::SemiSpaceIterator::Next(), and v8::internal::SemiSpace::set_age_mark().
|
staticprivate |
Definition at line 398 of file spaces.cc.
References v8::internal::MemoryChunk::area_end(), v8::internal::MemoryChunk::area_start(), DCHECK, v8::internal::MemoryChunk::heap(), v8::internal::SemiSpace::id(), v8::internal::MemoryChunk::IN_FROM_SPACE, v8::internal::MemoryChunk::IN_TO_SPACE, v8::internal::Heap::incremental_marking(), v8::internal::MemoryChunk::Initialize(), v8::internal::MemoryChunk::initialize_scan_on_scavenge(), v8::internal::MemoryChunk::IsFlagSet(), v8::internal::kFromSpace, v8::internal::MemoryChunk::kObjectStartOffset, v8::internal::Page::kPageSize, v8::internal::NOT_EXECUTABLE, NULL, semi_space(), v8::internal::MemoryChunk::set_next_chunk(), v8::internal::MemoryChunk::set_prev_chunk(), v8::internal::MemoryChunk::SetFlag(), and v8::internal::IncrementalMarking::SetNewSpacePageFlags().
Referenced by v8::internal::SemiSpace::Commit(), and v8::internal::SemiSpace::GrowTo().
|
private |
Definition at line 420 of file spaces.cc.
References semi_space(), v8::internal::MemoryChunk::set_next_chunk(), v8::internal::MemoryChunk::set_owner(), v8::internal::MemoryChunk::set_prev_chunk(), and v8::internal::MemoryChunk::SetFlags().
Referenced by NewSpacePage().
|
inline |
Definition at line 2007 of file spaces.h.
References v8::internal::MemoryChunk::InNewSpace().
Referenced by v8::internal::PromotionQueue::insert(), v8::internal::SemiSpaceIterator::Next(), and v8::internal::PromotionQueue::remove().
Definition at line 2014 of file spaces.h.
References v8::internal::Page::kPageAlignmentMask.
Referenced by v8::internal::Heap::DoScavenge(), and v8::internal::SemiSpaceIterator::Next().
Definition at line 2009 of file spaces.h.
References v8::internal::MemoryChunk::kObjectStartOffset, and v8::internal::Page::kPageAlignmentMask.
Referenced by v8::internal::NewSpace::AddFreshPage(), v8::internal::PromotionQueue::insert(), and v8::internal::PromotionQueue::remove().
|
inline |
Definition at line 1993 of file spaces.h.
References v8::internal::MemoryChunk::next_chunk().
Referenced by v8::internal::SemiSpace::AdvancePage(), v8::internal::Heap::DoScavenge(), v8::internal::SemiSpace::first_page(), v8::internal::SemiSpace::FlipPages(), v8::internal::SemiSpaceIterator::Next(), v8::internal::SemiSpace::Reset(), v8::internal::SemiSpace::space_start(), and v8::internal::SemiSpace::Swap().
|
inlinestatic |
Definition at line 2036 of file spaces.h.
References FromAddress().
Referenced by v8::internal::Heap::FindAllocationMemento().
|
inline |
Definition at line 1999 of file spaces.h.
References v8::internal::MemoryChunk::prev_chunk().
Referenced by v8::internal::SemiSpace::FlipPages(), v8::internal::SemiSpace::GrowTo(), v8::internal::PromotionQueue::insert(), v8::internal::PromotionQueue::remove(), and v8::internal::SemiSpace::space_end().
|
inline |
Definition at line 2005 of file spaces.h.
References v8::internal::MemoryChunk::owner().
Referenced by Initialize(), and InitializeAsAnchor().
|
inline |
Definition at line 1997 of file spaces.h.
References v8::internal::MemoryChunk::set_next_chunk().
Referenced by v8::internal::SemiSpace::FlipPages(), v8::internal::SemiSpace::ShrinkTo(), and v8::internal::SemiSpace::Uncommit().
|
inline |
Definition at line 2003 of file spaces.h.
References v8::internal::MemoryChunk::set_prev_chunk().
Referenced by v8::internal::SemiSpace::FlipPages(), v8::internal::SemiSpace::ShrinkTo(), and v8::internal::SemiSpace::Uncommit().
|
friend |
|
static |
Definition at line 1991 of file spaces.h.
Referenced by v8::internal::NewSpace::Capacity(), and v8::internal::NewSpace::Size().
|
static |
Definition at line 1986 of file spaces.h.
Referenced by v8::internal::SemiSpace::GrowTo(), and v8::internal::SemiSpace::Swap().