V8 Project
|
#include <objects.h>
Classes | |
class | GroupStartIndexes |
Public Types | |
enum | DependencyGroup { kWeakICGroup , kWeakCodeGroup , kTransitionGroup , kPrototypeCheckGroup , kElementsCantBeAddedGroup , kPropertyCellChangedGroup , kFieldTypeGroup , kInitialMapChangedGroup , kAllocationSiteTenuringChangedGroup , kAllocationSiteTransitionChangedGroup } |
![]() | |
enum | StoreFromKeyed { MAY_BE_STORE_FROM_KEYED , CERTAINLY_NOT_STORE_FROM_KEYED } |
enum | StorePropertyMode { NORMAL_PROPERTY , SUPER_PROPERTY } |
Static Public Attributes | |
static const int | kGroupCount = kAllocationSiteTransitionChangedGroup + 1 |
![]() | |
static const int | kMaxSize = 128 * MB * kPointerSize |
static const int | kMaxLength = (kMaxSize - kHeaderSize) / kPointerSize |
![]() | |
static const int | kLengthOffset = HeapObject::kHeaderSize |
static const int | kHeaderSize = kLengthOffset + kPointerSize |
![]() | |
static const int | kMapOffset = Object::kHeaderSize |
static const int | kHeaderSize = kMapOffset + kPointerSize |
![]() | |
static const int | kHeaderSize = 0 |
Private Member Functions | |
void | ExtendGroup (DependencyGroup group) |
Static Private Attributes | |
static const int | kCodesStartIndex = kGroupCount |
Additional Inherited Members | |
![]() | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
void | IterateNextCodeLink (ObjectVisitor *v, int offset) |
![]() | |
static void | NoWriteBarrierSet (FixedArray *array, int index, Object *value) |
static void | NoIncrementalWriteBarrierSet (FixedArray *array, int index, Object *value) |
Definition at line 5497 of file objects.h.
Definition at line 11584 of file objects.cc.
References v8::internal::DependentCode::GroupStartIndexes::at(), kWeakICGroup, object_at(), and set_object_at().
|
inline |
Definition at line 4595 of file objects-inl.h.
References kCodesStartIndex, and v8::internal::FixedArray::set_undefined().
Referenced by v8::internal::MarkCompactCollector::ClearDependentCode(), v8::internal::MarkCompactCollector::ClearNonLiveDependentCode(), MarkCodeForDeoptimization(), and RemoveCompilationInfo().
Definition at line 4569 of file objects-inl.h.
References v8::internal::FixedArray::get(), and kCodesStartIndex.
Referenced by v8::internal::MarkCompactCollector::ClearDependentCode(), and MarkCodeForDeoptimization().
|
inline |
Definition at line 4574 of file objects-inl.h.
References v8::internal::FixedArray::get(), and kCodesStartIndex.
Referenced by MarkCodeForDeoptimization(), RemoveCompilationInfo(), and UpdateToFinishedCode().
bool v8::internal::DependentCode::Contains | ( | DependencyGroup | group, |
Code * | code | ||
) |
Definition at line 11521 of file objects.cc.
References v8::internal::DependentCode::GroupStartIndexes::at(), v8::internal::CodeListContains(), kWeakICGroup, and object_at().
Definition at line 4600 of file objects-inl.h.
References v8::internal::FixedArray::get(), kCodesStartIndex, v8::internal::FixedArray::set(), and to().
Referenced by ExtendGroup(), MarkCodeForDeoptimization(), and RemoveCompilationInfo().
void v8::internal::DependentCode::DeoptimizeDependentCodeGroup | ( | Isolate * | isolate, |
DependentCode::DependencyGroup | group | ||
) |
Definition at line 11573 of file objects.cc.
References DCHECK, v8::internal::Deoptimizer::DeoptimizeMarkedCode(), and MarkCodeForDeoptimization().
|
static |
Definition at line 11618 of file objects.cc.
References kAllocationSiteTenuringChangedGroup, kAllocationSiteTransitionChangedGroup, kElementsCantBeAddedGroup, kFieldTypeGroup, kInitialMapChangedGroup, kPropertyCellChangedGroup, kPrototypeCheckGroup, kTransitionGroup, kWeakCodeGroup, kWeakICGroup, and UNREACHABLE.
Referenced by SetMarkedForDeoptimization().
|
inlineprivate |
Definition at line 4605 of file objects-inl.h.
References v8::internal::DependentCode::GroupStartIndexes::at(), copy(), and kGroupCount.
|
static |
Definition at line 11397 of file objects.cc.
References v8::internal::Handle< T >::cast(), kAllocationSiteTenuringChangedGroup, kAllocationSiteTransitionChangedGroup, and kPropertyCellChangedGroup.
Referenced by v8::internal::CompilationInfo::CommitDependencies(), and v8::internal::CompilationInfo::RollbackDependencies().
|
static |
Definition at line 11410 of file objects.cc.
References v8::internal::DependentCode::GroupStartIndexes::at(), v8::internal::Handle< T >::cast(), v8::internal::FixedArray::CopySize(), kCodesStartIndex, kGroupCount, v8::internal::DependentCode::GroupStartIndexes::number_of_entries(), number_of_entries(), v8::internal::DependentCode::GroupStartIndexes::Recompute(), and v8::internal::TENURED.
Referenced by v8::internal::Map::AddDependentCode(), v8::internal::AllocationSite::AddDependentCompilationInfo(), v8::internal::Map::AddDependentCompilationInfo(), and v8::internal::PropertyCell::AddDependentCompilationInfo().
Definition at line 4565 of file objects-inl.h.
References v8::internal::FixedArray::get(), and kCodesStartIndex.
Referenced by v8::internal::MarkCompactCollector::ClearDependentCode(), MarkCodeForDeoptimization(), RemoveCompilationInfo(), and UpdateToFinishedCode().
bool v8::internal::DependentCode::MarkCodeForDeoptimization | ( | Isolate * | isolate, |
DependentCode::DependencyGroup | group | ||
) |
Definition at line 11535 of file objects.cc.
References v8::internal::CompilationInfo::AbortDueToDependencyChange(), v8::internal::DependentCode::GroupStartIndexes::at(), clear_at(), code_at(), compilation_info_at(), copy(), is_code_at(), v8::internal::Code::marked_for_deoptimization(), v8::internal::DependentCode::GroupStartIndexes::number_of_entries(), set_number_of_entries(), and SetMarkedForDeoptimization().
Referenced by DeoptimizeDependentCodeGroup().
|
inline |
Definition at line 4554 of file objects-inl.h.
References v8::internal::FixedArray::get(), and v8::internal::FixedArrayBase::length().
Referenced by Insert(), and v8::internal::DependentCode::GroupStartIndexes::Recompute().
Definition at line 4585 of file objects-inl.h.
References v8::internal::FixedArray::get(), and kCodesStartIndex.
Referenced by AddToDependentICList(), v8::internal::MarkCompactCollector::ClearDependentCode(), v8::internal::MarkCompactCollector::ClearNonLiveDependentCodeInGroup(), Contains(), RemoveCompilationInfo(), and UpdateToFinishedCode().
void v8::internal::DependentCode::RemoveCompilationInfo | ( | DependentCode::DependencyGroup | group, |
CompilationInfo * | info | ||
) |
Definition at line 11474 of file objects.cc.
References v8::internal::DependentCode::GroupStartIndexes::at(), clear_at(), compilation_info_at(), copy(), DCHECK, is_code_at(), kGroupCount, v8::internal::DependentCode::GroupStartIndexes::number_of_entries(), object_at(), v8::internal::CompilationInfo::object_wrapper(), and set_number_of_entries().
|
inline |
Definition at line 4560 of file objects-inl.h.
References v8::internal::Smi::FromInt(), and v8::internal::FixedArray::set().
Referenced by v8::internal::MarkCompactCollector::ClearNonLiveDependentCodeInGroup(), MarkCodeForDeoptimization(), and RemoveCompilationInfo().
Definition at line 4580 of file objects-inl.h.
References kCodesStartIndex, and v8::internal::FixedArray::set().
Referenced by AddToDependentICList(), v8::internal::MarkCompactCollector::ClearNonLiveDependentCodeInGroup(), and UpdateToFinishedCode().
|
static |
Definition at line 11602 of file objects.cc.
References DependencyGroupName(), v8::internal::Isolate::GetCodeTracer(), v8::internal::HeapObject::GetHeap(), v8::internal::Heap::isolate(), v8::internal::PrintF(), v8::internal::Code::set_marked_for_deoptimization(), and V8PRIxPTR.
Referenced by v8::internal::MarkCompactCollector::ClearDependentCode(), and MarkCodeForDeoptimization().
Definition at line 4590 of file objects-inl.h.
References kCodesStartIndex, and v8::internal::FixedArray::RawFieldOfElementAt().
Referenced by v8::internal::MarkCompactCollector::ClearNonLiveDependentCodeInGroup().
void v8::internal::DependentCode::UpdateToFinishedCode | ( | DependencyGroup | group, |
CompilationInfo * | info, | ||
Code * | code | ||
) |
Definition at line 11450 of file objects.cc.
References v8::internal::DependentCode::GroupStartIndexes::at(), compilation_info_at(), DCHECK, is_code_at(), object_at(), v8::internal::CompilationInfo::object_wrapper(), and set_object_at().
|
staticprivate |
Definition at line 5589 of file objects.h.
Referenced by clear_at(), code_at(), compilation_info_at(), copy(), Insert(), is_code_at(), object_at(), set_object_at(), and slot_at().
|
static |
Definition at line 5534 of file objects.h.
Referenced by v8::internal::MarkCompactCollector::ClearNonLiveDependentCode(), v8::internal::CompilationInfo::CommitDependencies(), ExtendGroup(), v8::internal::CompilationInfo::Initialize(), Insert(), v8::internal::DependentCode::GroupStartIndexes::Recompute(), RemoveCompilationInfo(), v8::internal::CompilationInfo::RollbackDependencies(), and v8::internal::CompilationInfo::~CompilationInfo().