v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <spaces.h>
Static Public Member Functions | |
static bool | IsAlignedToPageSize (Address a) |
static Page * | Initialize (Heap *heap, MemoryChunk *chunk, Executability executable, PagedSpace *owner) |
Static Public Member Functions inherited from MemoryChunk | |
static MemoryChunk * | FromAddress (Address a) |
static MemoryChunk * | FromAnyPointerAddress (Address addr) |
static void | IncrementLiveBytesFromGC (Address address, int by) |
static void | IncrementLiveBytesFromMutator (Address address, int by) |
static uint32_t | FastAddressToMarkbitIndex (Address addr) |
Friends | |
class | MemoryAllocator |
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 MemoryChunk * | Initialize (Heap *heap, Address base, size_t size, Address area_start, Address area_end, Executability executable, Space *owner) |
Protected Attributes inherited from MemoryChunk | |
MemoryChunk * | next_chunk_ |
MemoryChunk * | prev_chunk_ |
size_t | size_ |
intptr_t | flags_ |
Address | area_start_ |
Address | area_end_ |
VirtualMemory | reservation_ |
Address | owner_ |
Heap * | heap_ |
int | store_buffer_counter_ |
int | live_byte_count_ |
SlotsBuffer * | slots_buffer_ |
SkipList * | skip_list_ |
intptr_t | write_barrier_counter_ |
|
inline |
|
inline |
Definition at line 739 of file spaces.h.
References MemoryChunk::ClearFlag(), and MemoryChunk::WAS_SWEPT_CONSERVATIVELY.
|
inline |
Definition at line 738 of file spaces.h.
References MemoryChunk::ClearFlag(), and MemoryChunk::WAS_SWEPT_PRECISELY.
|
inlinestatic |
Definition at line 162 of file spaces-inl.h.
References MemoryChunk::area_size(), MemoryChunk::area_start(), ASSERT, PagedSpace::Free(), PagedSpace::IncreaseCapacity(), Heap::incremental_marking(), Page::kPageSize, MemoryChunk::owner(), IncrementalMarking::SetOldSpacePageFlags(), and MemoryChunk::size().
Referenced by MemoryAllocator::AllocatePage().
void InitializeAsAnchor | ( | PagedSpace * | owner | ) |
Definition at line 386 of file spaces.cc.
References Page::set_next_page(), MemoryChunk::set_owner(), and Page::set_prev_page().
Referenced by PagedSpace::PagedSpace().
|
inline |
Definition at line 672 of file spaces.h.
References Page::kPageAlignmentMask, and v8::internal::OffsetFrom().
|
inline |
Definition at line 680 of file spaces.h.
References MemoryChunk::FromAddress(), and v8::internal::kPointerSize.
|
inline |
Definition at line 697 of file spaces.h.
References MemoryChunk::address().
|
inlinestatic |
Definition at line 692 of file spaces.h.
References Page::kPageAlignmentMask, and v8::internal::OffsetFrom().
|
inline |
Definition at line 736 of file spaces.h.
References MemoryChunk::SetFlag(), and MemoryChunk::WAS_SWEPT_CONSERVATIVELY.
Referenced by MarkCompactCollector::SweepConservatively().
|
inline |
Definition at line 735 of file spaces.h.
References MemoryChunk::SetFlag(), and MemoryChunk::WAS_SWEPT_PRECISELY.
|
inline |
Definition at line 224 of file spaces-inl.h.
References ASSERT, MemoryChunk::next_chunk(), and MemoryChunk::owner().
Referenced by PagedSpace::AdvanceSweeper(), PagedSpace::Expand(), PagedSpace::FirstPage(), PagedSpace::PrepareForMarkCompact(), PagedSpace::ReleasePage(), and TEST().
|
inline |
Definition at line 703 of file spaces.h.
References MemoryChunk::address(), and ASSERT_PAGE_OFFSET.
|
inline |
Definition at line 230 of file spaces-inl.h.
References ASSERT, MemoryChunk::owner(), and MemoryChunk::prev_chunk().
Referenced by PagedSpace::Expand(), and PagedSpace::LastPage().
|
inline |
Definition at line 236 of file spaces-inl.h.
References ASSERT, MemoryChunk::owner(), and MemoryChunk::set_next_chunk().
Referenced by Page::InitializeAsAnchor(), and PagedSpace::TearDown().
|
inline |
Definition at line 242 of file spaces-inl.h.
References ASSERT, MemoryChunk::owner(), and MemoryChunk::set_prev_chunk().
Referenced by Page::InitializeAsAnchor(), and PagedSpace::TearDown().
|
inline |
Definition at line 733 of file spaces.h.
References Page::WasSweptConservatively(), and Page::WasSweptPrecisely().
Referenced by MarkCompactCollector::CollectEvacuationCandidates(), PagedSpace::PrepareForMarkCompact(), PagedSpace::ReleaseAllUnusedPages(), PagedSpace::ReleasePage(), and MarkCompactCollector::SweepConservatively().
|
inline |
Definition at line 732 of file spaces.h.
References MemoryChunk::IsFlagSet(), and MemoryChunk::WAS_SWEPT_CONSERVATIVELY.
Referenced by Page::WasSwept().
|
inline |
Definition at line 731 of file spaces.h.
References MemoryChunk::IsFlagSet(), and MemoryChunk::WAS_SWEPT_PRECISELY.
Referenced by HeapObjectIterator::HeapObjectIterator(), PagedSpace::ShouldBeSweptLazily(), and Page::WasSwept().
|
friend |
|
static |
Definition at line 717 of file spaces.h.
Referenced by Heap::AllocateAsciiSymbol(), Heap::AllocateByteArray(), Heap::AllocateForeign(), Heap::AllocateHeapNumber(), Heap::AllocateInternalSymbol(), Heap::AllocateJSObjectFromMap(), Heap::AllocateRawAsciiString(), Heap::AllocateRawFixedArray(), Heap::AllocateRawFixedDoubleArray(), Heap::AllocateRawTwoByteString(), Heap::AllocateStruct(), Heap::AllocateTwoByteSymbol(), Map::CanHaveMoreTransitions(), StaticVisitorBase::GetVisitorIdForSize(), MemoryAllocator::MaxAvailable(), TEST(), and MarkCompactCollector::TryPromoteObject().
|
static |
Definition at line 714 of file spaces.h.
Referenced by Heap::AllocateHeapNumber(), and FixedSpace::FixedSpace().
|
static |
Definition at line 720 of file spaces.h.
Referenced by NewSpacePage::FromAddress(), SemiSpace::GrowTo(), Page::INLINE(), Page::IsAlignedToPageSize(), NewSpacePage::IsAtEnd(), NewSpacePage::IsAtStart(), SkipList::RegionNumber(), and SemiSpace::ShrinkTo().
|
static |
Definition at line 711 of file spaces.h.
Referenced by CodeRange::AllocateRawMemory(), SemiSpace::Commit(), Heap::ConfigureHeap(), NewSpace::EffectiveCapacity(), StoreBuffer::EnsureSpace(), Heap::FreeQueuedChunks(), SemiSpace::GrowTo(), PromotionQueue::Initialize(), Page::Initialize(), MemoryAllocator::MaxAvailable(), LargeObjectSpace::ObjectSizeFor(), PagedSpace::PagedSpace(), Heap::RememberUnmappedPage(), MemoryAllocator::SetUp(), SemiSpace::ShrinkTo(), Serializer::SpaceAreaSize(), and TEST().