V8 Project
|
#include <objects.h>
Classes | |
class | DeoptDependentCodeBit |
class | DoNotInlineBit |
class | ElementsKindBits |
class | MementoFoundCountBits |
class | PretenureDecisionBits |
class | UnusedBits |
Public Types | |
enum | PretenureDecision { kUndecided = 0 , kDontTenure = 1 , kMaybeTenure = 2 , kTenure = 3 , kZombie = 4 , kLastPretenureDecisionValue = kZombie } |
enum | Reason { TENURING , TRANSITIONS } |
typedef FixedBodyDescriptor< HeapObject::kHeaderSize, kDependentCodeOffset+kPointerSize, kSize > | BodyDescriptor |
![]() | |
enum | StoreFromKeyed { MAY_BE_STORE_FROM_KEYED , CERTAINLY_NOT_STORE_FROM_KEYED } |
enum | StorePropertyMode { NORMAL_PROPERTY , SUPER_PROPERTY } |
Private Member Functions | |
DependentCode::DependencyGroup | ToDependencyGroup (Reason reason) |
bool | PretenuringDecisionMade () |
DISALLOW_IMPLICIT_CONSTRUCTORS (AllocationSite) | |
Additional Inherited Members | |
![]() | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
void | IterateNextCodeLink (ObjectVisitor *v, int offset) |
Enumerator | |
---|---|
kUndecided | |
kDontTenure | |
kMaybeTenure | |
kTenure | |
kZombie | |
kLastPretenureDecisionValue |
Definition at line 8097 of file objects.h.
|
static |
Definition at line 12660 of file objects.cc.
References v8::internal::CompilationInfo::dependencies(), v8::internal::DependentCode::Insert(), v8::internal::CompilationInfo::object_wrapper(), and v8::internal::CompilationInfo::zone().
Referenced by v8::internal::HGraphBuilder::BuildBinaryOperation(), v8::internal::HOptimizedGraphBuilder::BuildFastLiteral(), and v8::internal::HOptimizedGraphBuilder::BuildInlinedCallArray().
|
inline |
Definition at line 8215 of file objects.h.
References v8::internal::Smi::value().
|
inlinestatic |
Definition at line 1614 of file objects-inl.h.
References v8::internal::FIRST_NONSTRING_TYPE, v8::internal::JS_ARRAY_TYPE, and v8::internal::JS_OBJECT_TYPE.
Referenced by v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ComputeFlags(), v8::internal::Heap::CopyJSObject(), v8::internal::AllocationSiteUsageContext::ShouldCreateMemento(), and v8::internal::Heap::UpdateAllocationSiteFeedback().
|
inline |
Definition at line 8156 of file objects.h.
References v8::internal::Smi::value().
Referenced by v8::internal::Heap::DeoptMarkedAllocationSites().
Definition at line 1694 of file objects-inl.h.
References kPretenureMinimumCreated, MakePretenureDecision(), memento_create_count(), memento_found_count(), pretenure_decision(), PretenureDecisionName(), v8::internal::PrintF(), set_memento_create_count(), and set_memento_found_count().
Referenced by v8::internal::Heap::ProcessPretenuringFeedback().
|
static |
Definition at line 12606 of file objects.cc.
References CHECK, v8::internal::ElementsKindToString(), v8::internal::GetHoleyElementsKind(), v8::internal::handle(), v8::internal::IsHoleyElementsKind(), v8::internal::IsMoreGeneralElementsKindTransition(), v8::internal::DependentCode::kAllocationSiteTransitionChangedGroup, v8::internal::FixedArrayBase::length(), v8::internal::PrintF(), and v8::internal::JSObject::TransitionElementsKind().
Referenced by v8::internal::JSObject::UpdateAllocationSite().
|
private |
|
inline |
Definition at line 8203 of file objects.h.
References DCHECK, and v8::internal::Smi::value().
|
inlinestatic |
Definition at line 1591 of file objects-inl.h.
References v8::internal::DONT_TRACK_ALLOCATION_SITE, v8::internal::IsFastSmiElementsKind(), and v8::internal::TRACK_ALLOCATION_SITE.
Referenced by v8::internal::ArrayConstructorCommon(), v8::internal::ArrayConstructorStubBase::ArrayConstructorStubBase(), and v8::internal::AllocationSiteUsageContext::ShouldCreateMemento().
|
inlinestatic |
Definition at line 1602 of file objects-inl.h.
References v8::internal::DONT_TRACK_ALLOCATION_SITE, v8::internal::IsFastSmiElementsKind(), v8::internal::IsMoreGeneralElementsKindTransition(), to(), and v8::internal::TRACK_ALLOCATION_SITE.
PretenureFlag v8::internal::AllocationSite::GetPretenureMode | ( | ) |
Definition at line 12585 of file objects.cc.
References mode(), v8::internal::NOT_TENURED, and v8::internal::TENURED.
Referenced by v8::internal::Heap::ProcessPretenuringFeedback(), and v8::internal::Heap::ResetAllAllocationSitesDependentCode().
|
inline |
Definition at line 1661 of file objects-inl.h.
References DCHECK, memento_create_count(), and set_memento_create_count().
Referenced by v8::internal::Heap::InitializeAllocationMemento().
|
inline |
Definition at line 1652 of file objects-inl.h.
References IsZombie(), kPretenureMinimumCreated, memento_found_count(), and set_memento_found_count().
Referenced by v8::internal::Heap::UpdateAllocationSiteFeedback().
|
inline |
Definition at line 1571 of file objects-inl.h.
References v8::internal::Smi::FromInt(), v8::internal::HeapObject::GetHeap(), v8::internal::GetInitialFastElementsKind(), SetElementsKind(), and v8::internal::SKIP_WRITE_BARRIER.
Referenced by MarkZombie().
|
inline |
Definition at line 8191 of file objects.h.
Referenced by v8::internal::Heap::ProcessPretenuringFeedback().
bool v8::internal::AllocationSite::IsNestedSite | ( | ) |
Definition at line 12592 of file objects.cc.
References v8::internal::Heap::allocation_sites_list(), DCHECK, and v8::internal::HeapObject::GetHeap().
|
inline |
Definition at line 8187 of file objects.h.
Referenced by IncrementMementoFoundCount(), and MarkZombie().
|
inline |
Definition at line 1668 of file objects-inl.h.
References kDontTenure, kMaybeTenure, kPretenureRatio, kTenure, kUndecided, set_deopt_dependent_code(), and set_pretenure_decision().
Referenced by DigestPretenuringFeedback().
|
inline |
Definition at line 1582 of file objects-inl.h.
References DCHECK, Initialize(), IsZombie(), kZombie, and set_pretenure_decision().
Referenced by v8::internal::MarkCompactWeakObjectRetainer::RetainAs().
|
inline |
Definition at line 8175 of file objects.h.
Referenced by DigestPretenuringFeedback(), and IncrementMementoCreateCount().
|
inline |
Definition at line 8168 of file objects.h.
References v8::internal::Smi::value().
Referenced by DigestPretenuringFeedback(), IncrementMementoFoundCount(), and v8::internal::Heap::ProcessPretenuringFeedback().
|
inline |
Definition at line 8144 of file objects.h.
References v8::internal::Smi::value().
Referenced by DigestPretenuringFeedback().
const char * v8::internal::AllocationSite::PretenureDecisionName | ( | PretenureDecision | decision | ) |
Definition at line 12672 of file objects.cc.
References NULL, and UNREACHABLE.
Referenced by DigestPretenuringFeedback().
|
inlineprivate |
void v8::internal::AllocationSite::ResetPretenureDecision | ( | ) |
Definition at line 12578 of file objects.cc.
Referenced by v8::internal::Heap::ResetAllAllocationSitesDependentCode().
|
inline |
Definition at line 8161 of file objects.h.
References v8::internal::Smi::FromInt(), v8::internal::SKIP_WRITE_BARRIER, and v8::internal::Smi::value().
Referenced by v8::internal::Heap::DeoptMarkedAllocationSites(), MakePretenureDecision(), v8::internal::Heap::ProcessPretenuringFeedback(), and v8::internal::Heap::ResetAllAllocationSitesDependentCode().
|
inline |
Definition at line 8179 of file objects.h.
References v8::internal::Smi::FromInt(), and v8::internal::SKIP_WRITE_BARRIER.
Referenced by DigestPretenuringFeedback(), and IncrementMementoCreateCount().
|
inline |
Definition at line 1639 of file objects-inl.h.
References DCHECK, v8::internal::Smi::FromInt(), v8::internal::HeapObject::GetHeap(), v8::internal::BitFieldBase< T, shift, size, U >::kMax, v8::internal::StaticVisitorBase::kMinObjectSizeInWords, v8::internal::kPointerSize, v8::internal::AllocationMemento::kSize, v8::internal::SKIP_WRITE_BARRIER, and v8::internal::BitFieldBase< T, shift, size, U >::update().
Referenced by DigestPretenuringFeedback(), and IncrementMementoFoundCount().
|
inline |
Definition at line 8149 of file objects.h.
References v8::internal::Smi::FromInt(), v8::internal::SKIP_WRITE_BARRIER, and v8::internal::Smi::value().
Referenced by MakePretenureDecision(), and MarkZombie().
|
inline |
Definition at line 8220 of file objects.h.
References v8::internal::Smi::FromInt(), v8::internal::SKIP_WRITE_BARRIER, and v8::internal::Smi::value().
|
inline |
Definition at line 8209 of file objects.h.
References v8::internal::Smi::FromInt(), v8::internal::SKIP_WRITE_BARRIER, and v8::internal::Smi::value().
Referenced by Initialize().
|
inline |
v8::internal::AllocationSite::STATIC_ASSERT | ( | PretenureDecisionBits::kMax >= | kLastPretenureDecisionValue | ) |
|
inlineprivate |
Definition at line 1624 of file objects-inl.h.
References v8::internal::DependentCode::kAllocationSiteTenuringChangedGroup, v8::internal::DependentCode::kAllocationSiteTransitionChangedGroup, TENURING, TRANSITIONS, and UNREACHABLE.
|
static |
Definition at line 8259 of file objects.h.
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeStub(), and v8::internal::V8HeapExplorer::ExtractAllocationSiteReferences().
|
static |
|
static |
Definition at line 8255 of file objects.h.
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeStub(), and v8::internal::V8HeapExplorer::ExtractAllocationSiteReferences().
|
static |
|
static |
|
static |
Definition at line 8257 of file objects.h.
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeStub().
|
static |
Definition at line 8256 of file objects.h.
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeStub().
|
static |
Definition at line 8094 of file objects.h.
Referenced by DigestPretenuringFeedback(), and IncrementMementoFoundCount().
|
static |
Definition at line 8093 of file objects.h.
Referenced by MakePretenureDecision().
|
static |
Definition at line 8262 of file objects.h.
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeStub().
|
static |
Definition at line 8254 of file objects.h.
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeStub(), and v8::internal::V8HeapExplorer::ExtractAllocationSiteReferences().
|
static |
Definition at line 8261 of file objects.h.
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeStub(), v8::internal::V8HeapExplorer::ExtractAllocationSiteReferences(), and v8::internal::WeakListVisitor< AllocationSite >::WeakNextOffset().