V8 Project
|
#include <heap.h>
Classes | |
struct | Entry |
Public Member Functions | |
PromotionQueue (Heap *heap) | |
void | Initialize () |
void | Destroy () |
Page * | GetHeadPage () |
void | SetNewLimit (Address limit) |
bool | IsBelowPromotionQueue (Address to_space_top) |
bool | is_empty () |
void | insert (HeapObject *target, int size) |
void | remove (HeapObject **target, int *size) |
Private Member Functions | |
void | RelocateQueueHead () |
DISALLOW_COPY_AND_ASSIGN (PromotionQueue) | |
Private Attributes | |
intptr_t * | front_ |
intptr_t * | rear_ |
intptr_t * | limit_ |
List< Entry > * | emergency_stack_ |
Heap * | heap_ |
Static Private Attributes | |
static const int | kEntrySizeInWords = 2 |
|
inlineexplicit |
Definition at line 373 of file heap.h.
|
inline |
Definition at line 382 of file heap.h.
References DCHECK, emergency_stack_, is_empty(), and NULL.
Referenced by v8::internal::Heap::Scavenge().
|
private |
|
inline |
Definition at line 388 of file heap.h.
References rear_.
Referenced by IsBelowPromotionQueue().
void v8::internal::PromotionQueue::Initialize | ( | ) |
Definition at line 1365 of file heap.cc.
References DCHECK, emergency_stack_, front_, heap_, v8::internal::MemoryChunk::kBodyOffset, v8::internal::Page::kPageSize, v8::internal::kPointerSize, limit_, v8::internal::Heap::new_space(), NULL, rear_, v8::internal::NewSpace::ToSpaceEnd(), and v8::internal::NewSpace::ToSpaceStart().
Referenced by v8::internal::Heap::Scavenge().
|
inline |
Definition at line 24 of file heap-inl.h.
References v8::internal::MemoryChunk::area_end(), v8::internal::SemiSpace::AssertValidRange(), DCHECK, emergency_stack_, v8::internal::NewSpacePage::FromAddress(), v8::internal::HeapObject::GetIsolate(), v8::internal::Isolate::heap(), v8::internal::NewSpacePage::is_anchor(), v8::internal::NewSpacePage::IsAtStart(), limit_, v8::internal::Heap::new_space(), NULL, v8::internal::NewSpacePage::prev_page(), rear_, RelocateQueueHead(), size, and v8::internal::NewSpace::top().
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::PromoteObject().
|
inline |
Definition at line 402 of file heap.h.
References v8::internal::MemoryChunk::FromAddress(), GetHeadPage(), and rear_.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::INLINE().
|
private |
Definition at line 1378 of file heap.cc.
References v8::internal::MemoryChunk::area_end(), DCHECK, emergency_stack_, front_, kEntrySizeInWords, v8::internal::Min(), NULL, rear_, and size.
Referenced by insert(), and SetNewLimit().
|
inline |
Definition at line 421 of file heap.h.
References v8::internal::MemoryChunk::area_end(), v8::internal::SemiSpace::AssertValidRange(), DCHECK, emergency_stack_, v8::internal::NewSpacePage::FromAddress(), front_, v8::internal::NewSpacePage::is_anchor(), is_empty(), v8::internal::NewSpacePage::IsAtStart(), v8::internal::PromotionQueue::Entry::obj_, v8::internal::NewSpacePage::prev_page(), rear_, size, and v8::internal::PromotionQueue::Entry::size_.
Referenced by v8::internal::Heap::DoScavenge().
|
inline |
Definition at line 392 of file heap.h.
References limit_, rear_, and RelocateQueueHead().
Referenced by v8::internal::NewSpace::AddFreshPage(), and v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::SemiSpaceCopyObject().
Definition at line 457 of file heap.h.
Referenced by Destroy(), Initialize(), insert(), is_empty(), RelocateQueueHead(), and remove().
|
private |
Definition at line 445 of file heap.h.
Referenced by Initialize(), is_empty(), RelocateQueueHead(), and remove().
|
private |
Definition at line 459 of file heap.h.
Referenced by Initialize().
|
staticprivate |
Definition at line 449 of file heap.h.
Referenced by RelocateQueueHead().
|
private |
Definition at line 447 of file heap.h.
Referenced by Initialize(), insert(), and SetNewLimit().
|
private |
Definition at line 446 of file heap.h.
Referenced by GetHeadPage(), Initialize(), insert(), is_empty(), IsBelowPromotionQueue(), RelocateQueueHead(), remove(), and SetNewLimit().