v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <spaces.h>
Public Member Functions | |
SemiSpace (Heap *heap, SemiSpaceId semispace) | |
void | SetUp (Address start, int initial_capacity, int maximum_capacity) |
void | TearDown () |
bool | HasBeenSetUp () |
bool | GrowTo (int new_capacity) |
bool | ShrinkTo (int new_capacity) |
Address | space_start () |
Address | page_low () |
Address | space_end () |
Address | page_high () |
bool | AdvancePage () |
void | Reset () |
Address | age_mark () |
void | set_age_mark (Address mark) |
bool | Contains (Address a) |
bool | Contains (Object *o) |
virtual intptr_t | Size () |
virtual bool | ReserveSpace (int bytes) |
bool | is_committed () |
bool | Commit () |
bool | Uncommit () |
NewSpacePage * | first_page () |
NewSpacePage * | current_page () |
int | Capacity () |
int | MaximumCapacity () |
int | InitialCapacity () |
SemiSpaceId | id () |
Public Member Functions inherited from Space | |
Space (Heap *heap, AllocationSpace id, Executability executable) | |
virtual | ~Space () |
Heap * | heap () const |
Executability | executable () |
AllocationSpace | identity () |
virtual intptr_t | SizeOfObjects () |
virtual int | RoundSizeDownToObjectAlignment (int size) |
Public Member Functions inherited from Malloced | |
void * | operator new (size_t size) |
void | operator delete (void *p) |
Static Public Member Functions | |
static void | AssertValidRange (Address from, Address to) |
static void | Swap (SemiSpace *from, SemiSpace *to) |
Static Public Member Functions inherited from Malloced | |
static void | FatalProcessOutOfMemory () |
static void * | New (size_t size) |
static void | Delete (void *p) |
Friends | |
class | SemiSpaceIterator |
class | NewSpacePageIterator |
|
inline |
|
inline |
Definition at line 1890 of file spaces.h.
References NewSpacePage::next_page().
Referenced by NewSpace::AddFreshPage().
|
inline |
Definition at line 1901 of file spaces.h.
Referenced by NewSpace::age_mark().
Definition at line 1948 of file spaces.h.
Referenced by PromotionQueue::insert(), and PromotionQueue::remove().
|
inline |
Definition at line 1952 of file spaces.h.
Referenced by NewSpace::Capacity(), NewSpace::EffectiveCapacity(), NewSpace::Grow(), and NewSpace::Shrink().
bool Commit | ( | ) |
Definition at line 1351 of file spaces.cc.
References ASSERT, Space::executable(), Space::heap(), MemoryChunk::InsertAfter(), SemiSpace::is_committed(), Page::kPageSize, and SemiSpace::Reset().
Referenced by NewSpace::CommitFromSpaceIfNeeded(), SemiSpace::GrowTo(), and NewSpace::SetUp().
|
inline |
Definition at line 1906 of file spaces.h.
Referenced by NewSpace::FromSpaceContains(), and NewSpace::ToSpaceContains().
|
inline |
Definition at line 1934 of file spaces.h.
Referenced by PromotionQueue::ActivateGuardIfOnTheSamePage(), SemiSpace::Swap(), and NewSpace::top().
|
inline |
Definition at line 1933 of file spaces.h.
References NewSpacePage::next_page().
Referenced by SemiSpace::ShrinkTo().
bool GrowTo | ( | int | new_capacity | ) |
Definition at line 1390 of file spaces.cc.
References OS::AllocateAlignment(), ASSERT, Bitmap::Clear(), SemiSpace::Commit(), Space::executable(), MemoryChunk::GetFlags(), Space::heap(), MemoryChunk::InsertAfter(), SemiSpace::is_committed(), v8::internal::IsAligned(), NewSpacePage::kCopyOnFlipFlagsMask, Page::kPageAlignmentMask, Page::kPageSize, NewSpacePage::prev_page(), and MemoryChunk::SetFlags().
Referenced by NewSpace::Grow(), and NewSpace::Shrink().
|
inline |
Definition at line 1857 of file spaces.h.
References v8::internal::NULL.
Referenced by NewSpace::HasBeenSetUp().
|
inline |
|
inline |
Definition at line 1958 of file spaces.h.
Referenced by NewSpace::InitialCapacity().
|
inline |
Definition at line 1929 of file spaces.h.
Referenced by SemiSpace::Commit(), NewSpace::CommitFromSpaceIfNeeded(), NewSpace::CommittedMemory(), SemiSpace::GrowTo(), NewSpace::SetUp(), SemiSpace::ShrinkTo(), SemiSpace::Uncommit(), and NewSpace::UncommitFromSpace().
|
inline |
Definition at line 1955 of file spaces.h.
Referenced by NewSpace::MaximumCapacity().
|
inline |
Definition at line 1886 of file spaces.h.
References MemoryChunk::area_end().
Referenced by NewSpace::FromSpacePageHigh(), NewSpace::LowerInlineAllocationLimit(), and NewSpace::Shrink().
|
inline |
Definition at line 1876 of file spaces.h.
References MemoryChunk::area_start().
Referenced by NewSpace::FromSpacePageLow(), and NewSpace::Size().
|
inlinevirtual |
Definition at line 1924 of file spaces.h.
References UNREACHABLE.
void Reset | ( | ) |
Definition at line 1490 of file spaces.cc.
References ASSERT, and NewSpacePage::next_page().
Referenced by SemiSpace::Commit(), NewSpace::ResetAllocationInfo(), and NewSpace::Shrink().
void set_age_mark | ( | Address | mark | ) |
Definition at line 1517 of file spaces.cc.
References ASSERT, NewSpacePage::FromLimit(), MemoryChunk::NEW_SPACE_BELOW_AGE_MARK, SemiSpace::NewSpacePageIterator, and SemiSpace::space_start().
Referenced by NewSpace::set_age_mark().
void SetUp | ( | Address | start, |
int | initial_capacity, | ||
int | maximum_capacity | ||
) |
Definition at line 1323 of file spaces.cc.
References ASSERT, v8::internal::kHeapObjectTag, v8::internal::kHeapObjectTagMask, and v8::internal::RoundDown().
Referenced by NewSpace::SetUp().
bool ShrinkTo | ( | int | new_capacity | ) |
Definition at line 1428 of file spaces.cc.
References OS::AllocateAlignment(), ASSERT, SemiSpace::first_page(), NewSpacePage::FromAddress(), Space::heap(), SemiSpace::is_committed(), v8::internal::IsAligned(), Heap::isolate(), Page::kPageAlignmentMask, Page::kPageSize, Isolate::memory_allocator(), NewSpacePage::set_next_page(), NewSpacePage::set_prev_page(), SemiSpace::space_end(), and MemoryAllocator::UncommitBlock().
Referenced by NewSpace::Grow(), and NewSpace::Shrink().
|
inlinevirtual |
|
inline |
Definition at line 1881 of file spaces.h.
References MemoryChunk::area_end(), and NewSpacePage::prev_page().
Referenced by NewSpace::FromSpaceEnd(), SemiSpace::ShrinkTo(), and NewSpace::ToSpaceEnd().
|
inline |
Definition at line 1870 of file spaces.h.
References MemoryChunk::area_start(), ASSERT, and NewSpacePage::next_page().
Referenced by NewSpace::bottom(), NewSpace::FromSpaceStart(), SemiSpace::set_age_mark(), and NewSpace::ToSpaceStart().
Definition at line 1496 of file spaces.cc.
References ASSERT, SemiSpace::current_page(), MemoryChunk::GetFlags(), NewSpacePage::kCopyOnFlipFlagsMask, and NewSpacePage::next_page().
Referenced by NewSpace::Flip().
void TearDown | ( | ) |
Definition at line 1345 of file spaces.cc.
References v8::internal::NULL.
Referenced by NewSpace::TearDown().
bool Uncommit | ( | ) |
Definition at line 1376 of file spaces.cc.
References ASSERT, Space::heap(), SemiSpace::is_committed(), NewSpacePage::set_next_page(), and NewSpacePage::set_prev_page().
Referenced by NewSpace::UncommitFromSpace().
|
friend |
Definition at line 1993 of file spaces.h.
Referenced by SemiSpace::set_age_mark().
|
friend |