v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <objects.h>
Data Structures | |
class | BackEdgesPatchedForOSRField |
class | BackEdgeTableOffsetField |
class | CacheHolderField |
class | ExtraICStateField |
class | FindAndReplacePattern |
class | FullCodeFlagsHasDebugBreakSlotsField |
class | FullCodeFlagsHasDeoptimizationSupportField |
class | FullCodeFlagsIsCompiledOptimizable |
class | HasFunctionCacheField |
class | ICStateField |
class | IsCrankshaftedField |
class | KindField |
class | MarkedForDeoptimizationField |
class | SafepointTableOffsetField |
class | StackSlotsField |
class | StubMajorKeyField |
class | TypeField |
Public Types | |
enum | Kind { NUMBER_OF_KINDS } |
enum | StubType { NORMAL, FAST } |
enum | Age { kNotExecutedCodeAge = -2, kExecutedOnceCodeAge = -1, kNoAgeCodeAge = 0, kAfterLastCodeAge, kFirstCodeAge = kNotExecutedCodeAge, kLastCodeAge = kAfterLastCodeAge - 1, kCodeAgeCount = kAfterLastCodeAge - kNotExecutedCodeAge - 1, kIsOldCodeAge = kSexagenarianCodeAge, kPreAgedCodeAge = kIsOldCodeAge - 1 } |
typedef uint32_t | Flags |
Public Types inherited from Object | |
enum | ValueType { OPTIMAL_REPRESENTATION, FORCE_TAGGED } |
Friends | |
class | RelocIterator |
class | Deoptimizer |
Additional Inherited Members | |
Protected Member Functions inherited from HeapObject | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
void | IterateNextCodeLink (ObjectVisitor *v, int offset) |
enum Age |
|
inline |
Definition at line 4442 of file objects-inl.h.
References ASSERT_EQ, Code::kAllowOSRAtLoopNestingLevelOffset, Code::kind(), and READ_BYTE_FIELD.
Referenced by RuntimeProfiler::OptimizeNow(), BackEdgeTable::Patch(), BackEdgeTable::Revert(), and v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 4501 of file objects-inl.h.
References ASSERT_EQ, BitFieldBase< int, shift, size, uint32_t >::decode(), Code::kind(), Code::kKindSpecificFlags2Offset, and READ_UINT32_FIELD.
Referenced by BackEdgeTable::BackEdgeTable().
|
inline |
Definition at line 4517 of file objects-inl.h.
References ASSERT_EQ, BitFieldBase< bool, shift, size, uint32_t >::decode(), Code::kind(), Code::kKindSpecificFlags2Offset, and READ_UINT32_FIELD.
Referenced by BackEdgeTable::Revert().
|
inline |
Definition at line 5867 of file objects-inl.h.
References Code::instruction_size(), v8::internal::kObjectAlignment, and v8::internal::RoundUp().
bool CanDeoptAt | ( | Address | pc | ) |
Definition at line 10789 of file objects.cc.
References HeapObject::address(), DeoptimizationInputData::cast(), DeoptimizationInputData::DeoptCount(), and Code::instruction_start().
Referenced by SharedFunctionInfo::AddToOptimizedCodeMap(), Heap::ClearAllICsByKind(), JSFunction::code(), DependentCode::code_at(), JitLogger::CodeDeleteEvent(), JitLogger::CodeMoveEvent(), Heap::CopyCode(), Code::CopyFrom(), Heap::CreateCode(), SharedFunctionInfo::EvictFromOptimizedCodeMap(), RootsReferencesExtractor::FillReferences(), SharedFunctionInfo::GetCodeFromOptimizedCodeMap(), Deoptimizer::GetDeoptimizedCodeCount(), CodeCacheHashTableKey::HashForObject(), RegExpImpl::IrregexpNativeCode(), CodeCacheHashTableKey::IsMatch(), JSBuiltinsObject::javascript_builtin_code(), CodeCache::Lookup(), MarkCompactCollector::MigrateObject(), JavaScriptFrame::PrintTop(), ProfileGenerator::RecordTickSample(), IncrementalMarking::RecordWriteIntoCodeSlow(), TEST(), MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitCode >::Visit(), PointersUpdatingVisitor::VisitCodeAgeSequence(), Serializer::ObjectSerializer::VisitCodeEntry(), IndexedReferencesExtractor::VisitCodeEntry(), PointersUpdatingVisitor::VisitCodeTarget(), and PointersUpdatingVisitor::VisitDebugTarget().
void ClearInlineCaches | ( | ) |
Definition at line 10563 of file objects.cc.
References v8::internal::NULL.
Referenced by Heap::ClearAllICsByKind(), Code::ClearInlineCaches(), and v8::internal::RUNTIME_FUNCTION().
void ClearInlineCaches | ( | Code::Kind | kind | ) |
Definition at line 10568 of file objects.cc.
References Code::ClearInlineCaches().
void ClearTypeFeedbackInfo | ( | Heap * | heap | ) |
Definition at line 10590 of file objects.cc.
References TypeFeedbackInfo::cast(), FixedArray::get(), Code::kind(), FixedArrayBase::length(), TypeFeedbackInfo::RawUninitializedSentinel(), FixedArray::set(), and Code::type_feedback_info().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 887 of file objects-visiting-inl.h.
References RelocIterator::done(), HeapObject::GetIsolate(), HeapObject::IterateNextCodeLink(), HeapObject::IteratePointer(), Code::kConstantPoolOffset, Code::kDeoptimizationDataOffset, Code::kHandlerTableOffset, Code::kNextCodeLinkOffset, Code::kRelocationInfoOffset, Code::kTypeFeedbackInfoOffset, RelocIterator::next(), RelocIterator::rinfo(), and RUNTIME_ENTRY.
|
inline |
Definition at line 914 of file objects-visiting-inl.h.
References HeapObject::address(), RelocIterator::done(), Code::kConstantPoolOffset, Code::kDeoptimizationDataOffset, Code::kHandlerTableOffset, Code::kNextCodeLinkOffset, Code::kRelocationInfoOffset, Code::kTypeFeedbackInfoOffset, RelocIterator::next(), RelocIterator::rinfo(), and RUNTIME_ENTRY.
|
inline |
Definition at line 5514 of file objects.h.
Referenced by Logger::CodeDeoptEvent(), and RuntimeProfiler::OptimizeNow().
|
inlinestatic |
Definition at line 4601 of file objects-inl.h.
References BitFieldBase< Kind, shift, size, uint32_t >::encode(), BitFieldBase< InlineCacheHolderFlag, shift, size, uint32_t >::encode(), BitFieldBase< ExtraICState, shift, size, uint32_t >::encode(), BitFieldBase< StubType, shift, size, uint32_t >::encode(), and BitFieldBase< InlineCacheState, shift, size, uint32_t >::encode().
Referenced by check(), Code::ComputeHandlerFlags(), Code::ComputeMonomorphicFlags(), CompilationInfo::flags(), PlatformCodeStub::GenerateCode(), HydrogenCodeStub::GenerateLightweightMissCode(), FullCodeGenerator::MakeCode(), and TEST().
|
inlinestatic |
Definition at line 4624 of file objects-inl.h.
References Code::ComputeFlags(), v8::internal::HANDLER, and v8::internal::MONOMORPHIC.
Referenced by TypeFeedbackOracle::AssignmentReceiverTypes(), and TypeFeedbackOracle::PropertyReceiverTypes().
|
inlinestatic |
Definition at line 4616 of file objects-inl.h.
References Code::ComputeFlags(), and v8::internal::MONOMORPHIC.
|
inline |
Definition at line 4589 of file objects-inl.h.
References ConstantPoolArray::cast(), Code::kConstantPoolOffset, and READ_FIELD.
Referenced by Heap::CopyCode(), Assembler::INLINE(), Assembler::set_target_address_at(), and Assembler::target_address_at().
|
inline |
Definition at line 5892 of file objects-inl.h.
References HeapObject::address(), and HeapObject::Size().
Referenced by OptimizedFrame::GetDeoptimizationData(), Builtins::Lookup(), StubFailureTrampolineFrame::unchecked_code(), and ActivationsFinder::VisitFrames().
void CopyFrom | ( | const CodeDesc & | desc | ) |
Definition at line 10327 of file objects.cc.
References ASSERT, CodeDesc::buffer, CodeDesc::buffer_size, Code::cast(), v8::internal::CopyBytes(), RelocIterator::done(), CodeDesc::instr_size, Code::instruction_size(), Code::instruction_start(), CodeDesc::origin, CodeDesc::reloc_size, Code::relocation_start(), RUNTIME_ENTRY, and v8::internal::SKIP_WRITE_BARRIER.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 5887 of file objects-inl.h.
References Code::instruction_start().
Referenced by NativeRegExpMacroAssembler::Execute(), JSFunction::set_code(), JSFunction::set_code_no_write_barrier(), and TEST().
|
inline |
Definition at line 5499 of file objects.h.
References ASSERT_EQ, and Code::kHeaderSize.
Referenced by CpuProfiler::CodeCreateEvent(), CpuProfiler::RegExpCodeCreateEvent(), and TEST().
|
inline |
Definition at line 4320 of file objects-inl.h.
References ASSERT, v8::internal::DEBUG_STUB, Code::ExtractExtraICStateFromFlags(), Code::flags(), Code::ic_state(), and Code::is_inline_cache_stub().
Referenced by CompareNilIC::Clear(), LoadIC::set_target(), IC::SetTargetAtAddress(), and Code::to_boolean_state().
|
inlinestatic |
Definition at line 4651 of file objects-inl.h.
References BitFieldBase< InlineCacheHolderFlag, shift, size, uint32_t >::decode().
Referenced by IC::TryRemoveInvalidPrototypeDependentStub().
|
inlinestatic |
Definition at line 4641 of file objects-inl.h.
References BitFieldBase< ExtraICState, shift, size, uint32_t >::decode().
Referenced by Code::extra_ic_state().
|
inlinestatic |
Definition at line 4636 of file objects-inl.h.
References BitFieldBase< InlineCacheState, shift, size, uint32_t >::decode().
Referenced by Code::ic_state().
|
inlinestatic |
Definition at line 4631 of file objects-inl.h.
References BitFieldBase< Kind, shift, size, uint32_t >::decode().
Referenced by Code::kind().
|
inlinestatic |
Definition at line 4646 of file objects-inl.h.
References BitFieldBase< StubType, shift, size, uint32_t >::decode().
Referenced by Code::type().
void FindAllMaps | ( | MapHandleList * | maps | ) |
Definition at line 10491 of file objects.cc.
References List< T, P >::Add(), ASSERT, Map::cast(), RelocIterator::done(), v8::internal::handle(), and Code::is_inline_cache_stub().
void FindAllTypes | ( | TypeHandleList * | types | ) |
Definition at line 10503 of file objects.cc.
References List< T, P >::Add(), ASSERT, Map::cast(), RelocIterator::done(), Code::is_inline_cache_stub(), and HeapObject::map().
void FindAndReplace | ( | const FindAndReplacePattern & | pattern | ) |
Definition at line 10470 of file objects.cc.
References ASSERT, HeapObject::cast(), RelocIterator::done(), Code::is_handler(), Code::is_inline_cache_stub(), HeapObject::map(), Code::STATIC_ASSERT(), and UNREACHABLE.
AllocationSite * FindFirstAllocationSite | ( | ) |
Definition at line 10458 of file objects.cc.
References AllocationSite::cast(), Code::FindNthObject(), HeapObject::GetHeap(), and v8::internal::NULL.
Code * FindFirstHandler | ( | ) |
Definition at line 10518 of file objects.cc.
References ASSERT, RelocIterator::done(), Code::GetCodeFromTargetAddress(), v8::internal::HANDLER, Code::is_inline_cache_stub(), Code::kind(), and v8::internal::NULL.
Map * FindFirstMap | ( | ) |
Definition at line 10464 of file objects.cc.
References Map::cast(), Code::FindNthObject(), HeapObject::GetHeap(), and v8::internal::NULL.
Name * FindFirstName | ( | ) |
Definition at line 10550 of file objects.cc.
References ASSERT, Name::cast(), RelocIterator::done(), Code::is_inline_cache_stub(), and v8::internal::NULL.
bool FindHandlers | ( | CodeHandleList * | code_list, |
int | length = -1 |
||
) |
Definition at line 10531 of file objects.cc.
References List< T, P >::Add(), ASSERT, RelocIterator::done(), Code::GetCodeFromTargetAddress(), v8::internal::HANDLER, Code::is_inline_cache_stub(), and Code::kind().
Definition at line 10441 of file objects.cc.
References ASSERT, HeapObject::cast(), RelocIterator::done(), Code::is_inline_cache_stub(), HeapObject::map(), and v8::internal::NULL.
Referenced by Code::FindFirstAllocationSite(), and Code::FindFirstMap().
|
inline |
Definition at line 4137 of file objects-inl.h.
References Code::kFlagsOffset, and READ_INT_FIELD.
Referenced by Code::extra_ic_state(), CodeCache::GetIndex(), Code::has_debug_break_slots(), Code::has_deoptimization_support(), Code::ic_state(), Code::is_compiled_optimizable(), Code::kind(), CodeCache::Lookup(), CodeCache::RemoveByIndex(), StubCache::Set(), Code::set_compiled_optimizable(), Code::set_has_debug_break_slots(), Code::set_has_deoptimization_support(), and Code::type().
Code::Age GetAge | ( | ) |
Definition at line 10686 of file objects.cc.
References Code::GetRawAge().
Referenced by Code::IsOld().
Definition at line 4662 of file objects-inl.h.
References v8::internal::code(), HeapObject::FromAddress(), and Code::kHeaderSize.
Referenced by Code::FindFirstHandler(), Code::FindHandlers(), IC::GetTargetAtAddress(), SetFunctionEntryHookTest::OnEntryHook(), Serializer::ObjectSerializer::VisitCodeTarget(), PointersUpdatingVisitor::VisitCodeTarget(), and PointersUpdatingVisitor::VisitDebugTarget().
Definition at line 4673 of file objects-inl.h.
References Memory::Address_at(), HeapObject::FromAddress(), and Code::kHeaderSize.
Referenced by JSFunction::code(), Serializer::ObjectSerializer::VisitCodeEntry(), and IndexedReferencesExtractor::VisitCodeEntry().
Definition at line 5559 of file objects.h.
References v8::internal::NO_MARKING_PARITY.
Code::Age GetRawAge | ( | ) |
Definition at line 10691 of file objects.cc.
References Code::kNoAgeCodeAge, and v8::internal::NULL.
Referenced by Code::GetAge().
SafepointEntry GetSafepointEntry | ( | Address | pc | ) |
Definition at line 10435 of file objects.cc.
Referenced by OptimizedFrame::GetDeoptimizationData().
|
inline |
Definition at line 4412 of file objects-inl.h.
References ASSERT_EQ, BitFieldBase< bool, shift, size, uint32_t >::decode(), Code::flags(), Code::kFullCodeFlags, Code::kind(), and READ_BYTE_FIELD.
|
inline |
Definition at line 4397 of file objects-inl.h.
References ASSERT_EQ, BitFieldBase< bool, shift, size, uint32_t >::decode(), Code::flags(), Code::kFullCodeFlags, Code::kind(), and READ_BYTE_FIELD.
Referenced by SharedFunctionInfo::has_deoptimization_support().
|
inline |
Definition at line 4538 of file objects-inl.h.
References ASSERT, BitFieldBase< bool, shift, size, uint32_t >::decode(), Code::kind(), Code::kKindSpecificFlags1Offset, READ_UINT32_FIELD, and v8::internal::STUB.
|
inline |
Definition at line 4371 of file objects-inl.h.
References v8::internal::HANDLER, Code::kind(), and v8::internal::STUB.
Referenced by Code::major_key(), and Code::set_major_key().
|
inline |
|
inline |
Definition at line 4308 of file objects-inl.h.
References ASSERT, v8::internal::DEBUG_STUB, Code::ExtractICStateFromFlags(), Code::flags(), Code::is_inline_cache_stub(), and v8::internal::UNINITIALIZED.
Referenced by Code::extra_ic_state(), Code::is_debug_stub(), IC::IsCleared(), IC::PostPatching(), and TEST().
|
inline |
Definition at line 5862 of file objects-inl.h.
References Code::instruction_size(), and Code::instruction_start().
Referenced by Heap::CopyCode(), JavaScriptFrame::Print(), and TEST().
|
inline |
|
inline |
Definition at line 5857 of file objects-inl.h.
References FIELD_ADDR.
Referenced by IC::address(), BackEdgeTable::BackEdgeTable(), Code::CanDeoptAt(), JitLogger::CodeDeleteEvent(), JitLogger::CodeMoveEvent(), Code::CopyFrom(), JitLogger::EndCodePosInfoEvent(), Code::entry(), RecordWriteStub::GetMode(), Code::instruction_end(), SetFunctionEntryHookTest::OnEntryHook(), RecordWriteStub::Patch(), JavaScriptFrame::Print(), JavaScriptFrame::PrintTop(), ProfileGenerator::RecordTickSample(), Code::Relocate(), RelocIterator::RelocIterator(), IC::SetTargetAtAddress(), and TEST().
void InvalidateEmbeddedObjects | ( | ) |
Definition at line 10303 of file objects.cc.
References RelocIterator::done(), HeapObject::GetHeap(), and v8::internal::SKIP_WRITE_BARRIER.
void InvalidateRelocation | ( | ) |
Definition at line 10298 of file objects.cc.
References HeapObject::GetHeap().
|
inline |
Definition at line 5307 of file objects.h.
Referenced by IC::SetTargetAtAddress().
|
inline |
Definition at line 4427 of file objects-inl.h.
References ASSERT_EQ, BitFieldBase< bool, shift, size, uint32_t >::decode(), Code::flags(), Code::kFullCodeFlags, Code::kind(), and READ_BYTE_FIELD.
|
inline |
Definition at line 4342 of file objects-inl.h.
References BitFieldBase< bool, shift, size, uint32_t >::decode(), Code::kKindSpecificFlags2Offset, and READ_UINT32_FIELD.
Referenced by Code::safepoint_table_offset(), Code::set_safepoint_table_offset(), Code::set_stack_slots(), and Code::stack_slots().
|
inline |
Definition at line 4584 of file objects-inl.h.
References v8::internal::DEBUG_STUB, and Code::ic_state().
Referenced by IC::Clear().
|
inline |
Definition at line 5301 of file objects.h.
References v8::internal::HANDLER.
Referenced by Code::FindAndReplace().
|
inline |
Definition at line 4568 of file objects-inl.h.
References CASE, IC_KIND_LIST, and Code::kind().
Referenced by Code::extra_ic_state(), Code::FindAllMaps(), Code::FindAllTypes(), Code::FindAndReplace(), Code::FindFirstHandler(), Code::FindFirstName(), Code::FindHandlers(), Code::FindNthObject(), IC::GetTargetAtAddress(), Code::ic_state(), IC::PostPatching(), and IC::SetTargetAtAddress().
|
inline |
Definition at line 5303 of file objects.h.
Referenced by Code::is_keyed_stub().
|
inline |
Definition at line 5305 of file objects.h.
Referenced by Code::is_keyed_stub().
|
inline |
Definition at line 4579 of file objects-inl.h.
References Code::is_keyed_load_stub(), and Code::is_keyed_store_stub().
|
inline |
Definition at line 5311 of file objects.h.
Referenced by Code::IsWeakObjectInOptimizedCode().
bool IsOld | ( | ) |
Definition at line 10671 of file objects.cc.
References Code::GetAge(), and Code::kIsOldCodeAge.
|
inline |
Definition at line 4679 of file objects-inl.h.
References ASSERT, Map::CanTransition(), Map::cast(), Cell::cast(), and Code::is_optimized_code().
|
static |
Referenced by RelocIterator::RelocIterator().
|
inline |
Definition at line 4303 of file objects-inl.h.
References Code::ExtractKindFromFlags(), and Code::flags().
Referenced by Context::AddOptimizedCode(), SharedFunctionInfo::AddToOptimizedCodeMap(), Code::allow_osr_at_loop_nesting_level(), Code::back_edge_table_offset(), Code::back_edges_patched_for_osr(), BackEdgeTable::BackEdgeTable(), IC::Clear(), Heap::ClearAllICsByKind(), Code::ClearTypeFeedbackInfo(), Heap::CreateCode(), Deoptimizer::DeoptimizeFunction(), Code::FindFirstHandler(), Code::FindHandlers(), OptimizedFrame::GetDeoptimizationData(), Deoptimizer::GetDeoptimizedCodeCount(), Code::has_debug_break_slots(), Code::has_deoptimization_support(), SharedFunctionInfo::has_deoptimization_support(), Code::has_function_cache(), Code::has_major_key(), Code::is_compiled_optimizable(), Code::is_inline_cache_stub(), JSFunction::IsOptimizable(), JSFunction::IsOptimized(), Code::marked_for_deoptimization(), Code::optimizable(), RuntimeProfiler::OptimizeNow(), IC::PostPatching(), JavaScriptFrame::Print(), Code::profiler_ticks(), JSFunction::ReplaceCode(), v8::internal::RUNTIME_FUNCTION(), Code::set_allow_osr_at_loop_nesting_level(), Code::set_back_edge_table_offset(), Code::set_back_edges_patched_for_osr(), Code::set_compiled_optimizable(), Code::set_has_debug_break_slots(), Code::set_has_deoptimization_support(), Code::set_has_function_cache(), Code::set_marked_for_deoptimization(), Code::set_optimizable(), Code::set_profiler_ticks(), Code::set_stub_info(), Code::set_type_feedback_info(), IC::SetTargetAtAddress(), Code::stub_info(), V8HeapExplorer::TagCodeObject(), Code::TranslateAstIdToPcOffset(), Code::TranslatePcOffsetToAstId(), and Code::type_feedback_info().
|
static |
Definition at line 10803 of file objects.cc.
References CASE, CODE_KIND_LIST, v8::internal::NULL, Code::NUMBER_OF_KINDS, and UNREACHABLE.
|
inline |
Definition at line 4355 of file objects-inl.h.
References ASSERT, BitFieldBase< int, shift, size, uint32_t >::decode(), Code::has_major_key(), Code::kKindSpecificFlags2Offset, and READ_UINT32_FIELD.
Referenced by BASE_EMBEDDED< Visitor >::GetMajorKey(), and V8HeapExplorer::TagCodeObject().
Definition at line 10631 of file objects.cc.
References Code::kNoAgeCodeAge, and v8::internal::NO_MARKING_PARITY.
void MakeOlder | ( | MarkingParity | current_parity | ) |
Definition at line 10654 of file objects.cc.
References HeapObject::GetIsolate(), Code::kLastCodeAge, and v8::internal::NULL.
Definition at line 10636 of file objects.cc.
References Code::kExecutedOnceCodeAge, and v8::internal::NO_MARKING_PARITY.
|
inline |
Definition at line 4553 of file objects-inl.h.
References ASSERT, BitFieldBase< bool, shift, size, uint32_t >::decode(), Code::kind(), Code::kKindSpecificFlags1Offset, and READ_UINT32_FIELD.
Referenced by DependentCode::MarkCodeForDeoptimization(), and Factory::NewFunctionFromSharedFunctionInfo().
|
inline |
Definition at line 4385 of file objects-inl.h.
References ASSERT_EQ, Code::kind(), Code::kOptimizableOffset, and READ_BYTE_FIELD.
Referenced by JSFunction::IsOptimizable().
void PrintDeoptLocation | ( | FILE * | out, |
int | bailout_id | ||
) |
Definition at line 10767 of file objects.cc.
References CHECK, RelocIterator::done(), Deoptimizer::EAGER, Deoptimizer::GetDeoptimizationId(), HeapObject::GetIsolate(), v8::internal::NULL, v8::internal::PrintF(), RUNTIME_ENTRY, and Deoptimizer::SOFT.
|
inline |
Definition at line 4455 of file objects-inl.h.
References ASSERT_EQ, Code::kind(), Code::kProfilerTicksOffset, and READ_BYTE_FIELD.
Referenced by RuntimeProfiler::OptimizeNow().
|
inline |
void Relocate | ( | intptr_t | delta | ) |
Definition at line 10319 of file objects.cc.
References RelocIterator::done(), Code::instruction_size(), and Code::instruction_start().
Referenced by Heap::CopyCode(), and MarkCompactCollector::MigrateObject().
|
inline |
Definition at line 5882 of file objects-inl.h.
References FixedArrayBase::length(), and Code::unchecked_relocation_info().
Referenced by RelocIterator::RelocIterator().
|
inline |
Definition at line 5877 of file objects-inl.h.
References ByteArray::GetDataStartAddress(), and Code::unchecked_relocation_info().
Referenced by Heap::CopyCode(), Code::CopyFrom(), and RelocIterator::RelocIterator().
|
inlinestatic |
Definition at line 4656 of file objects-inl.h.
Referenced by CodeCache::Lookup().
|
inline |
Definition at line 4484 of file objects-inl.h.
References ASSERT, BitFieldBase< int, shift, size, uint32_t >::decode(), Code::is_crankshafted(), Code::kKindSpecificFlags2Offset, and READ_UINT32_FIELD.
|
inline |
Definition at line 4448 of file objects-inl.h.
References ASSERT, ASSERT_EQ, Code::kAllowOSRAtLoopNestingLevelOffset, Code::kind(), Code::kMaxLoopNestingMarker, and WRITE_BYTE_FIELD.
Referenced by RuntimeProfiler::OptimizeNow(), BackEdgeTable::Revert(), and v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 4508 of file objects-inl.h.
References ASSERT, ASSERT_EQ, v8::internal::IsAligned(), Code::kind(), v8::internal::kIntSize, Code::kKindSpecificFlags2Offset, READ_UINT32_FIELD, BitFieldBase< int, shift, size, uint32_t >::update(), and WRITE_UINT32_FIELD.
|
inline |
Definition at line 4524 of file objects-inl.h.
References ASSERT_EQ, Code::kind(), Code::kKindSpecificFlags2Offset, READ_UINT32_FIELD, BitFieldBase< bool, shift, size, uint32_t >::update(), and WRITE_UINT32_FIELD.
Referenced by BackEdgeTable::Patch(), and BackEdgeTable::Revert().
|
inline |
Definition at line 4434 of file objects-inl.h.
References ASSERT_EQ, Code::flags(), Code::kFullCodeFlags, Code::kind(), READ_BYTE_FIELD, BitFieldBase< bool, shift, size, uint32_t >::update(), and WRITE_BYTE_FIELD.
|
inline |
Definition at line 4594 of file objects-inl.h.
References ASSERT, HeapObject::GetHeap(), Code::kConstantPoolOffset, WRITE_BARRIER, and WRITE_FIELD.
Referenced by Heap::CopyCode(), and Heap::CreateCode().
|
inline |
Definition at line 4297 of file objects-inl.h.
References Code::kFlagsOffset, BitFieldBase< Kind, shift, size, uint32_t >::kMax, Code::NUMBER_OF_KINDS, Code::STATIC_ASSERT(), and WRITE_INT_FIELD.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 4419 of file objects-inl.h.
References ASSERT_EQ, Code::flags(), Code::kFullCodeFlags, Code::kind(), READ_BYTE_FIELD, BitFieldBase< bool, shift, size, uint32_t >::update(), and WRITE_BYTE_FIELD.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 4404 of file objects-inl.h.
References ASSERT_EQ, Code::flags(), Code::kFullCodeFlags, Code::kind(), READ_BYTE_FIELD, BitFieldBase< bool, shift, size, uint32_t >::update(), and WRITE_BYTE_FIELD.
Referenced by SharedFunctionInfo::EnableDeoptimizationSupport().
|
inline |
Definition at line 4545 of file objects-inl.h.
References ASSERT, Code::kind(), Code::kKindSpecificFlags1Offset, READ_UINT32_FIELD, v8::internal::STUB, BitFieldBase< bool, shift, size, uint32_t >::update(), and WRITE_UINT32_FIELD.
|
inline |
Referenced by Heap::CreateCode().
|
inline |
Referenced by Heap::CreateCode().
|
inline |
Definition at line 4348 of file objects-inl.h.
References Code::kKindSpecificFlags2Offset, READ_UINT32_FIELD, BitFieldBase< bool, shift, size, uint32_t >::update(), and WRITE_UINT32_FIELD.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 4362 of file objects-inl.h.
References ASSERT, Code::has_major_key(), Code::kKindSpecificFlags2Offset, READ_UINT32_FIELD, BitFieldBase< int, shift, size, uint32_t >::update(), and WRITE_UINT32_FIELD.
|
inline |
Definition at line 4560 of file objects-inl.h.
References ASSERT, Code::kind(), Code::kKindSpecificFlags1Offset, READ_UINT32_FIELD, BitFieldBase< bool, shift, size, uint32_t >::update(), and WRITE_UINT32_FIELD.
Referenced by Heap::CreateCode(), Deoptimizer::DeoptimizeFunction(), and DependentCode::MarkCodeForDeoptimization().
|
inline |
Definition at line 4391 of file objects-inl.h.
References ASSERT_EQ, Code::kind(), Code::kOptimizableOffset, and WRITE_BYTE_FIELD.
|
inline |
Definition at line 4461 of file objects-inl.h.
References ASSERT, ASSERT_EQ, Code::kind(), Code::kProfilerTicksOffset, and WRITE_BYTE_FIELD.
Referenced by RuntimeProfiler::OptimizeNow(), and IC::PostPatching().
|
inline |
Referenced by Heap::CreateCode().
|
inline |
Definition at line 4332 of file objects-inl.h.
References Code::kKindSpecificFlags1Offset, and WRITE_INT_FIELD.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 4337 of file objects-inl.h.
References Code::kKindSpecificFlags2Offset, and WRITE_INT_FIELD.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 4491 of file objects-inl.h.
References ASSERT, CHECK, Code::is_crankshafted(), v8::internal::IsAligned(), v8::internal::kIntSize, Code::kKindSpecificFlags2Offset, Code::kSafepointTableOffsetBitCount, READ_UINT32_FIELD, BitFieldBase< int, shift, size, uint32_t >::update(), and WRITE_UINT32_FIELD.
|
inline |
Definition at line 4475 of file objects-inl.h.
References ASSERT, CHECK, Code::is_crankshafted(), Code::kKindSpecificFlags1Offset, Code::kStackSlotsBitCount, READ_UINT32_FIELD, BitFieldBase< int, shift, size, uint32_t >::update(), and WRITE_UINT32_FIELD.
|
inline |
Definition at line 5840 of file objects-inl.h.
References ASSERT, Smi::FromInt(), Code::kind(), and v8::internal::STUB.
|
inline |
Definition at line 5825 of file objects-inl.h.
References ASSERT, CONDITIONAL_WRITE_BARRIER, HeapObject::GetHeap(), Code::kind(), and Code::kTypeFeedbackInfoOffset.
|
inlinestatic |
Definition at line 5492 of file objects.h.
References ASSERT_SIZE_TAG_ALIGNED, v8::internal::kCodeAlignment, and v8::internal::RoundUp().
Referenced by Heap::CopyCode(), and Heap::CreateCode().
int SourcePosition | ( | Address | pc | ) |
Definition at line 10383 of file objects.cc.
References RelocIterator::done(), v8::internal::kMaxInt, RelocIterator::next(), v8::internal::pc, and RelocIterator::rinfo().
Referenced by JavaScriptFrame::Print(), JavaScriptFrame::PrintTop(), and Code::SourceStatementPosition().
int SourceStatementPosition | ( | Address | pc | ) |
Definition at line 10415 of file objects.cc.
References RelocIterator::done(), RelocIterator::next(), RelocIterator::rinfo(), and Code::SourcePosition().
|
inline |
Definition at line 4468 of file objects-inl.h.
References ASSERT, BitFieldBase< int, shift, size, uint32_t >::decode(), Code::is_crankshafted(), Code::kKindSpecificFlags1Offset, and READ_UINT32_FIELD.
STATIC_ASSERT | ( | NUMBER_OF_KINDS<= | 16 | ) |
Referenced by Code::FindAndReplace(), and Code::set_flags().
STATIC_ASSERT | ( | kStackSlotsFirstBit+kStackSlotsBitCount<= | 32 | ) |
STATIC_ASSERT | ( | kHasFunctionCacheFirstBit+kHasFunctionCacheBitCount<= | 32 | ) |
STATIC_ASSERT | ( | kMarkedForDeoptimizationFirstBit+kMarkedForDeoptimizationBitCount<= | 32 | ) |
STATIC_ASSERT | ( | kStubMajorKeyFirstBit+kStubMajorKeyBits<= | 32 | ) |
STATIC_ASSERT | ( | kSafepointTableOffsetFirstBit+kSafepointTableOffsetBitCount<= | 32 | ) |
STATIC_ASSERT | ( | 1+kStubMajorKeyBits+kSafepointTableOffsetBitCount<= | 32 | ) |
|
inline |
Definition at line 5833 of file objects-inl.h.
References ASSERT, Smi::cast(), Code::kind(), and Smi::value().
Referenced by ICStub::Describes().
|
inline |
Definition at line 4533 of file objects-inl.h.
References Code::extra_ic_state().
uint32_t TranslateAstIdToPcOffset | ( | BailoutId | ast_id | ) |
Definition at line 10619 of file objects.cc.
References ASSERT, BackEdgeTable::ast_id(), Code::kind(), BackEdgeTable::length(), BackEdgeTable::pc_offset(), and UNREACHABLE.
BailoutId TranslatePcOffsetToAstId | ( | uint32_t | pc_offset | ) |
Definition at line 10608 of file objects.cc.
References ASSERT, BackEdgeTable::ast_id(), Code::kind(), BackEdgeTable::length(), BailoutId::None(), and BackEdgeTable::pc_offset().
|
inline |
Definition at line 4326 of file objects-inl.h.
References Code::ExtractTypeFromFlags(), and Code::flags().
Referenced by CodeCache::GetIndex(), CodeCache::RemoveByIndex(), and CodeCache::Update().
|
inline |
Definition at line 5819 of file objects-inl.h.
References ASSERT, and Code::kind().
Referenced by Code::ClearTypeFeedbackInfo(), and IC::PostPatching().
|
inline |
Definition at line 5872 of file objects-inl.h.
References Code::kRelocationInfoOffset, and READ_FIELD.
Referenced by Code::relocation_size(), and Code::relocation_start().
|
inline |
Definition at line 5807 of file objects-inl.h.
References v8::internal::NULL, READ_FIELD, and WRITE_FIELD.
|
friend |
|
friend |
|
static |
Definition at line 5616 of file objects.h.
Referenced by Code::allow_osr_at_loop_nesting_level(), and Code::set_allow_osr_at_loop_nesting_level().
|
static |
Definition at line 5598 of file objects.h.
Referenced by Code::CodeIterateBody(), Code::constant_pool(), and Code::set_constant_pool().
|
static |
Definition at line 5584 of file objects.h.
Referenced by Code::CodeIterateBody().
|
static |
|
static |
Definition at line 5592 of file objects.h.
Referenced by Code::flags(), and Code::set_flags().
|
static |
Definition at line 5610 of file objects.h.
Referenced by Code::has_debug_break_slots(), Code::has_deoptimization_support(), Code::is_compiled_optimizable(), Code::set_compiled_optimizable(), Code::set_has_debug_break_slots(), and Code::set_has_deoptimization_support().
|
static |
|
static |
Definition at line 5583 of file objects.h.
Referenced by Code::CodeIterateBody().
|
static |
|
static |
|
static |
Definition at line 5604 of file objects.h.
Referenced by LowLevelLogger::CodeDeleteEvent(), LowLevelLogger::CodeMoveEvent(), Code::ExecutableSize(), Code::GetCodeFromTargetAddress(), Code::GetObjectFromEntryAddress(), LowLevelLogger::SnapshotPositionEvent(), and OptimizedFrame::Summarize().
|
static |
|
static |
|
static |
Definition at line 5593 of file objects.h.
Referenced by Code::has_function_cache(), Code::marked_for_deoptimization(), Code::set_has_function_cache(), Code::set_marked_for_deoptimization(), Code::set_raw_kind_specific_flags1(), Code::set_stack_slots(), and Code::stack_slots().
|
static |
Definition at line 5594 of file objects.h.
Referenced by Code::back_edge_table_offset(), Code::back_edges_patched_for_osr(), Code::is_crankshafted(), Code::major_key(), Code::safepoint_table_offset(), Code::set_back_edge_table_offset(), Code::set_back_edges_patched_for_osr(), Code::set_is_crankshafted(), Code::set_major_key(), Code::set_raw_kind_specific_flags2(), and Code::set_safepoint_table_offset().
|
static |
|
static |
Definition at line 5681 of file objects.h.
Referenced by ParserBase< Traits >::ParseArguments().
|
static |
Definition at line 5578 of file objects.h.
Referenced by RuntimeProfiler::OptimizeNow(), v8::internal::RUNTIME_FUNCTION(), and Code::set_allow_osr_at_loop_nesting_level().
|
static |
Definition at line 5588 of file objects.h.
Referenced by Code::CodeIterateBody(), and WeakListVisitor< Code >::WeakNextOffset().
|
static |
Definition at line 5608 of file objects.h.
Referenced by Code::optimizable(), and Code::set_optimizable().
|
static |
Definition at line 5617 of file objects.h.
Referenced by Code::profiler_ticks(), and Code::set_profiler_ticks().
|
static |
|
static |
Definition at line 5227 of file objects.h.
Referenced by CompilationInfo::prologue_offset(), and CompilationInfo::set_prologue_offset().
|
static |
Definition at line 5582 of file objects.h.
Referenced by Code::CodeIterateBody(), and Code::unchecked_relocation_info().
|
static |
Definition at line 5660 of file objects.h.
Referenced by Code::set_safepoint_table_offset().
|
static |
|
static |
Definition at line 5630 of file objects.h.
Referenced by Code::set_stack_slots().
|
static |
|
static |
Definition at line 5586 of file objects.h.
Referenced by Code::CodeIterateBody(), and Code::set_type_feedback_info().