V8 Project
|
#include <objects.h>
Classes | |
class | DeoptCountBits |
class | DisabledOptimizationReasonBits |
class | FunctionKindBits |
class | ICAgeBits |
class | OptCountBits |
class | OptReenableTriesBits |
Public Types | |
enum | CompilerHints { kAllowLazyCompilation , kAllowLazyCompilationWithoutContext , kOptimizationDisabled , kStrictModeFunction , kUsesArguments , kHasDuplicateParameters , kNative , kInlineBuiltin , kBoundFunction , kIsAnonymous , kNameShouldPrintAsAnonymous , kIsFunction , kDontCache , kDontFlush , kIsArrow , kIsGenerator , kIsConciseMethod , kIsAsmFunction , kCompilerHintsCount } |
typedef FixedBodyDescriptor< kNameOffset, kFeedbackVectorOffset+kPointerSize, kSize > | BodyDescriptor |
![]() | |
enum | StoreFromKeyed { MAY_BE_STORE_FROM_KEYED , CERTAINLY_NOT_STORE_FROM_KEYED } |
enum | StorePropertyMode { NORMAL_PROPERTY , SUPER_PROPERTY } |
Private Member Functions | |
STATIC_ASSERT (SharedFunctionInfo::kCompilerHintsCount<=SharedFunctionInfo::kCompilerHintsSize *kBitsPerByte) | |
DISALLOW_IMPLICIT_CONSTRUCTORS (SharedFunctionInfo) | |
Static Private Attributes | |
static const int | kCompilerHintsSmiTagSize = 0 |
static const int | kCompilerHintsSize = kIntSize |
Additional Inherited Members | |
![]() | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
void | IterateNextCodeLink (ObjectVisitor *v, int offset) |
Definition at line 6994 of file objects.h.
|
static |
Definition at line 9184 of file objects.cc.
References v8::internal::Handle< T >::cast(), v8::internal::FixedArray::CopySize(), DCHECK, DCHECK_EQ, v8::internal::Isolate::factory(), v8::internal::Smi::FromInt(), v8::internal::Isolate::heap(), kCachedCodeOffset, kContextOffset, kEntriesStart, kEntryLength, kInitialLength, kLiteralsOffset, kOsrAstIdOffset, literals(), v8::internal::MemsetPointer(), v8::internal::Heap::ShouldZapGarbage(), STATIC_ASSERT(), and v8::internal::BailoutId::ToInt().
Referenced by v8::internal::InsertCodeIntoOptimizedCodeMap().
|
inline |
|
inline |
Definition at line 5695 of file objects-inl.h.
References DCHECK, and HasBuiltinFunctionId().
int v8::internal::SharedFunctionInfo::CalculateInObjectProperties | ( | ) |
Definition at line 9816 of file objects.cc.
References CalculateInstanceSize(), v8::internal::JSObject::kHeaderSize, and v8::internal::kPointerSize.
int v8::internal::SharedFunctionInfo::CalculateInstanceSize | ( | ) |
Definition at line 9805 of file objects.cc.
References expected_nof_properties(), v8::internal::JSObject::kHeaderSize, v8::internal::JSObject::kMaxInstanceSize, and v8::internal::kPointerSize.
Referenced by CalculateInObjectProperties().
void v8::internal::SharedFunctionInfo::ClearOptimizedCodeMap | ( | ) |
Definition at line 9257 of file objects.cc.
References v8::internal::MarkCompactCollector::code_flusher(), DCHECK, v8::internal::CodeFlusher::EvictOptimizedCodeMap(), v8::internal::Smi::FromInt(), v8::internal::FixedArray::get(), v8::internal::HeapObject::GetHeap(), kNextMapIndex, and v8::internal::Heap::mark_compact_collector().
Referenced by EvictFromOptimizedCodeMap(), and TrimOptimizedCodeMap().
void v8::internal::SharedFunctionInfo::ClearTypeFeedbackInfo | ( | ) |
Definition at line 10404 of file objects.cc.
References v8::internal::ALLOCATION_SITE_TYPE, v8::internal::feedback_vector, v8::internal::FixedArray::get(), v8::internal::HeapObject::GetHeap(), v8::internal::FixedArrayBase::length(), length(), v8::internal::TypeFeedbackVector::RawUninitializedSentinel(), v8::internal::FixedArray::set(), and v8::internal::SKIP_WRITE_BARRIER.
Referenced by ResetForNewContext().
|
inline |
Referenced by v8::internal::BOOL_GETTER(), kind(), set_kind(), set_strict_mode(), and strict_mode().
|
inline |
Referenced by deopt_count(), ic_age(), increment_deopt_count(), opt_reenable_tries(), set_deopt_count(), set_ic_age(), and set_opt_reenable_tries().
String * v8::internal::SharedFunctionInfo::DebugName | ( | ) |
Definition at line 9769 of file objects.cc.
References name.
Referenced by v8::internal::AllocationTracker::AddFunctionInfo(), v8::internal::Logger::CodeCreateEvent(), v8::internal::CpuProfiler::CodeCreateEvent(), v8::internal::CodeEventLogger::CodeCreateEvent(), v8::internal::Logger::CodeDisableOptEvent(), v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences(), v8::internal::Deoptimizer::GetOutputInfo(), and v8::internal::HeapObject::HeapObjectShortPrint().
|
inline |
Definition at line 5711 of file objects-inl.h.
References counters(), and v8::internal::BitFieldBase< T, shift, size, U >::decode().
Referenced by increment_deopt_count(), v8::internal::RuntimeProfiler::OptimizeNow(), and set_deopt_count().
void v8::internal::SharedFunctionInfo::DisableOptimization | ( | BailoutReason | reason | ) |
Definition at line 9887 of file objects.cc.
References BUILTIN, DCHECK, v8::internal::GetBailoutReason(), v8::internal::HeapObject::GetIsolate(), kind(), v8::internal::PrintF(), PROFILE, set_bailout_reason(), and v8::internal::Object::ShortPrint().
|
inline |
Definition at line 5750 of file objects-inl.h.
References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and opt_count_and_bailout_reason().
Referenced by v8::internal::CpuProfiler::CodeCreateEvent(), v8::internal::CpuProfiler::CodeDisableOptEvent(), and v8::internal::Logger::CodeDisableOptEvent().
|
private |
|
inline |
Definition at line 5615 of file objects-inl.h.
References BUILTIN, DCHECK, kDontAdaptArgumentsSentinel, kind(), and set_formal_parameter_count().
void v8::internal::SharedFunctionInfo::EnableDeoptimizationSupport | ( | Code * | recompiled | ) |
Definition at line 9868 of file objects.cc.
References DCHECK, has_deoptimization_support(), v8::internal::IsCodeEquivalent(), ReplaceCode(), and v8::internal::Code::set_has_deoptimization_support().
|
inline |
Referenced by GetSourceCode(), v8::internal::operator<<(), and SourceSize().
void v8::internal::SharedFunctionInfo::EvictFromOptimizedCodeMap | ( | Code * | optimized_code, |
const char * | reason | ||
) |
Definition at line 9272 of file objects.cc.
References ClearOptimizedCodeMap(), DCHECK, v8::internal::Heap::FROM_MUTATOR, v8::internal::FixedArray::get(), v8::internal::HeapObject::GetHeap(), v8::internal::BailoutId::IsNone(), kCachedCodeOffset, kContextOffset, kEntriesStart, kEntryLength, kLiteralsOffset, kOsrAstIdOffset, v8::internal::FixedArrayBase::length(), length(), v8::internal::PrintF(), v8::internal::Heap::RightTrimFixedArray(), v8::internal::FixedArray::set(), v8::internal::Object::ShortPrint(), and v8::internal::BailoutId::ToInt().
Referenced by v8::internal::Deoptimizer::DeoptimizeMarkedCodeForContext().
|
inline |
|
inline |
Referenced by v8::internal::compiler::Linkage::Linkage().
|
inline |
|
inline |
Definition at line 5684 of file objects-inl.h.
References DCHECK, and IsApiFunction().
Definition at line 9248 of file objects.cc.
References DCHECK, DCHECK_NE, v8::internal::FixedArray::get(), kEntriesStart, and NULL.
FixedArray * v8::internal::SharedFunctionInfo::GetLiteralsFromOptimizedCodeMap | ( | int | index | ) |
Definition at line 9236 of file objects.cc.
References DCHECK, DCHECK_NE, v8::internal::FixedArray::get(), kEntriesStart, and NULL.
Definition at line 9782 of file objects.cc.
References end_position(), v8::internal::Isolate::factory(), v8::internal::HeapObject::GetIsolate(), HasSourceCode(), and start_position().
|
inline |
Definition at line 5757 of file objects-inl.h.
References v8::internal::Code::has_deoptimization_support(), and v8::internal::Code::kind().
Referenced by EnableDeoptimizationSupport().
|
inline |
Definition at line 5690 of file objects-inl.h.
Referenced by builtin_function_id().
bool v8::internal::SharedFunctionInfo::HasSourceCode | ( | ) | const |
Definition at line 9776 of file objects.cc.
Referenced by GetSourceCode(), v8::internal::operator<<(), and v8::internal::StringSharedKey::StringSharedHashHelper().
|
inline |
Definition at line 5701 of file objects-inl.h.
References counters(), and v8::internal::BitFieldBase< T, shift, size, U >::decode().
Referenced by set_ic_age().
|
inline |
Definition at line 5721 of file objects-inl.h.
References counters(), v8::internal::BitFieldBase< T, shift, size, U >::decode(), deopt_count(), v8::internal::BitFieldBase< T, shift, size, U >::kMax, set_counters(), and v8::internal::BitFieldBase< T, shift, size, U >::update().
|
inline |
Definition at line 5674 of file objects-inl.h.
References v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), and v8::internal::HeapObject::GetIsolate().
Referenced by v8::internal::EnumerateCompiledFunctions(), v8::internal::CodeFlusher::ProcessJSFunctionCandidates(), and v8::internal::CodeFlusher::ProcessSharedFunctionInfoCandidates().
|
inline |
Definition at line 5679 of file objects-inl.h.
Referenced by get_api_func_data().
bool v8::internal::SharedFunctionInfo::IsInlineable | ( | ) |
Definition at line 9790 of file objects.cc.
References kind().
|
inline |
Definition at line 5567 of file objects-inl.h.
References compiler_hints(), and v8::internal::BitFieldBase< T, shift, size, U >::decode().
Referenced by v8::internal::BOOL_GETTER(), DisableOptimization(), DontAdaptArguments(), v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences(), IsInlineable(), ResetForNewContext(), and set_kind().
|
inline |
Referenced by ClearTypeFeedbackInfo(), EvictFromOptimizedCodeMap(), SearchOptimizedCodeMap(), and TrimOptimizedCodeMap().
|
inline |
|
inline |
Definition at line 5739 of file objects-inl.h.
References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and opt_count_and_bailout_reason().
Referenced by ResetForNewContext(), and set_opt_count().
|
inline |
Referenced by DisableOptimizationReason(), opt_count(), and set_opt_count().
|
inline |
Definition at line 5729 of file objects-inl.h.
References counters(), and v8::internal::BitFieldBase< T, shift, size, U >::decode().
Referenced by TryReenableOptimization().
|
inline |
Referenced by v8::internal::RuntimeProfiler::OptimizeNow().
|
inline |
Definition at line 5644 of file objects-inl.h.
References v8::internal::MarkCompactCollector::code_flusher(), DCHECK, v8::internal::CodeFlusher::EvictCandidate(), v8::internal::HeapObject::GetHeap(), v8::internal::Heap::mark_compact_collector(), and NULL.
Referenced by EnableDeoptimizationSupport().
void v8::internal::SharedFunctionInfo::ResetForNewContext | ( | int | new_ic_age | ) |
Definition at line 9943 of file objects.cc.
References ClearTypeFeedbackInfo(), kind(), opt_count(), set_deopt_count(), set_ic_age(), and set_opt_count().
int v8::internal::SharedFunctionInfo::SearchOptimizedCodeMap | ( | Context * | native_context, |
BailoutId | osr_ast_id | ||
) |
Definition at line 9998 of file objects.cc.
References DCHECK, v8::internal::Smi::FromInt(), v8::internal::FixedArray::get(), v8::internal::Context::IsNativeContext(), kCachedCodeOffset, kContextOffset, kEntriesStart, kEntryLength, kOsrAstIdOffset, v8::internal::FixedArrayBase::length(), length(), v8::internal::PrintF(), v8::internal::Object::ShortPrint(), and v8::internal::BailoutId::ToInt().
|
inline |
|
inline |
Definition at line 6861 of file objects.h.
References v8::internal::opt_count_and_bailout_reason.
Referenced by DisableOptimization().
|
inline |
Referenced by v8::internal::BOOL_GETTER(), set_kind(), and set_strict_mode().
|
inline |
Referenced by increment_deopt_count(), set_deopt_count(), set_ic_age(), and set_opt_reenable_tries().
|
inline |
Definition at line 5716 of file objects-inl.h.
References counters(), deopt_count(), set_counters(), and v8::internal::BitFieldBase< T, shift, size, U >::update().
Referenced by ResetForNewContext(), and TryReenableOptimization().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 5706 of file objects-inl.h.
References counters(), ic_age(), set_counters(), and v8::internal::BitFieldBase< T, shift, size, U >::update().
Referenced by ResetForNewContext().
|
inline |
Definition at line 5572 of file objects-inl.h.
References compiler_hints(), DCHECK, v8::internal::IsValidFunctionKind(), kind(), set_compiler_hints(), and v8::internal::BitFieldBase< T, shift, size, U >::update().
|
inline |
|
inline |
|
inline |
Definition at line 5744 of file objects-inl.h.
References opt_count(), opt_count_and_bailout_reason(), set_opt_count_and_bailout_reason(), and v8::internal::BitFieldBase< T, shift, size, U >::update().
Referenced by ResetForNewContext(), and TryReenableOptimization().
|
inline |
|
inline |
Definition at line 5734 of file objects-inl.h.
References counters(), set_counters(), and v8::internal::BitFieldBase< T, shift, size, U >::update().
Referenced by TryReenableOptimization().
|
inline |
Referenced by v8::internal::RuntimeProfiler::OptimizeNow().
|
inline |
Definition at line 5626 of file objects-inl.h.
References kStartPositionMask, kStartPositionShift, set_start_position_and_type(), start_position(), and start_position_and_type().
|
inline |
|
inline |
Definition at line 5558 of file objects-inl.h.
References compiler_hints(), DCHECK, kStrictModeFunction, v8::internal::BooleanBit::set(), set_compiler_hints(), v8::internal::SLOPPY, v8::internal::STRICT, and strict_mode().
int v8::internal::SharedFunctionInfo::SourceSize | ( | ) |
Definition at line 9800 of file objects.cc.
References end_position(), and start_position().
Referenced by v8::internal::RuntimeProfiler::OptimizeNow().
|
inline |
Definition at line 5621 of file objects-inl.h.
References kStartPositionShift, and start_position_and_type().
Referenced by v8::internal::AllocationTracker::AddFunctionInfo(), GetSourceCode(), v8::internal::operator<<(), v8::internal::JavaScriptFrame::Print(), v8::internal::compiler::SearchSharedFunctionInfo(), set_start_position(), and SourceSize().
|
inline |
Referenced by set_start_position(), and start_position().
|
private |
|
inline |
Definition at line 5552 of file objects-inl.h.
References compiler_hints(), v8::internal::BooleanBit::get(), kStrictModeFunction, v8::internal::SLOPPY, and v8::internal::STRICT.
Referenced by v8::internal::HGraphBuilder::BuildWrapReceiver(), v8::internal::HandleApiCallHelper(), v8::internal::HOptimizedGraphBuilder::ImplicitReceiverFor(), v8::internal::RUNTIME_FUNCTION(), and set_strict_mode().
void v8::internal::SharedFunctionInfo::TrimOptimizedCodeMap | ( | int | shrink_by | ) |
Definition at line 9317 of file objects.cc.
References ClearOptimizedCodeMap(), DCHECK, v8::internal::Heap::FROM_GC, v8::internal::HeapObject::GetHeap(), kEntriesStart, kEntryLength, v8::internal::FixedArrayBase::length(), length(), and v8::internal::Heap::RightTrimFixedArray().
Referenced by v8::internal::CodeFlusher::ProcessOptimizedCodeMaps().
|
inline |
Definition at line 5763 of file objects-inl.h.
References v8::internal::BitFieldBase< T, shift, size, U >::kMax, opt_reenable_tries(), set_deopt_count(), set_opt_count(), and set_opt_reenable_tries().
Referenced by v8::internal::RuntimeProfiler::OptimizeNow().
Definition at line 9912 of file objects.cc.
References DCHECK, v8::internal::Deoptimizer::GetOutputInfo(), and USE().
|
static |
Definition at line 6979 of file objects.h.
Referenced by v8::internal::Heap::CreateInitialMaps().
|
static |
|
static |
Definition at line 6626 of file objects.h.
Referenced by AddToOptimizedCodeMap(), v8::internal::CodeStubGraphBuilderBase::BuildCheckAndInstallOptimizedCode(), EvictFromOptimizedCodeMap(), v8::internal::CodeFlusher::ProcessOptimizedCodeMaps(), and SearchOptimizedCodeMap().
|
static |
Definition at line 6893 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences(), v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ForCodeOffset(), v8::internal::CodeFlusher::ProcessJSFunctionCandidates(), v8::internal::CodeFlusher::ProcessSharedFunctionInfoCandidates(), and v8::internal::StaticMarkingVisitor< StaticVisitor >::VisitSharedFunctionInfoWeakCode().
|
static |
|
staticprivate |
|
static |
Definition at line 6896 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences().
|
static |
Definition at line 6625 of file objects.h.
Referenced by AddToOptimizedCodeMap(), v8::internal::CodeStubGraphBuilderBase::BuildCheckAndInstallOptimizedCode(), EvictFromOptimizedCodeMap(), and SearchOptimizedCodeMap().
|
static |
|
static |
Definition at line 6902 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences().
|
static |
Definition at line 6888 of file objects.h.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildCallConstantFunction(), v8::internal::LCodeGen::CallKnownFunction(), DontAdaptArguments(), and v8::internal::JSFunction::NeedsArgumentsAdaption().
|
static |
|
static |
Definition at line 6624 of file objects.h.
Referenced by AddToOptimizedCodeMap(), v8::internal::CodeStubGraphBuilderBase::BuildInstallFromOptimizedCodeMap(), EvictFromOptimizedCodeMap(), GetCodeFromOptimizedCodeMap(), GetLiteralsFromOptimizedCodeMap(), v8::internal::CodeFlusher::ProcessOptimizedCodeMaps(), SearchOptimizedCodeMap(), and TrimOptimizedCodeMap().
|
static |
Definition at line 6629 of file objects.h.
Referenced by AddToOptimizedCodeMap(), v8::internal::CodeStubGraphBuilderBase::BuildInstallFromOptimizedCodeMap(), EvictFromOptimizedCodeMap(), v8::internal::CodeStubGraphBuilderBase::LoadFromOptimizedCodeMap(), v8::internal::CodeFlusher::ProcessOptimizedCodeMaps(), SearchOptimizedCodeMap(), and TrimOptimizedCodeMap().
|
static |
|
static |
Definition at line 6904 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences().
|
static |
|
static |
Definition at line 6899 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences().
|
static |
|
static |
Definition at line 6903 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences().
|
static |
Definition at line 6630 of file objects.h.
Referenced by AddToOptimizedCodeMap().
|
static |
Definition at line 6897 of file objects.h.
Referenced by v8::internal::LCodeGen::EmitClassOfTest(), and v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences().
|
static |
|
static |
|
static |
|
static |
Definition at line 6627 of file objects.h.
Referenced by AddToOptimizedCodeMap(), v8::internal::CodeStubGraphBuilderBase::BuildCheckAndInstallOptimizedCode(), and EvictFromOptimizedCodeMap().
|
static |
Definition at line 6892 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences(), and v8::internal::StaticMarkingVisitor< StaticVisitor >::VisitSharedFunctionInfoWeakCode().
|
static |
|
static |
Definition at line 6623 of file objects.h.
Referenced by v8::internal::CodeFlusher::ClearNextCodeMap(), ClearOptimizedCodeMap(), v8::internal::CodeFlusher::EvictOptimizedCodeMap(), v8::internal::CodeFlusher::GetNextCodeMap(), and v8::internal::CodeFlusher::SetNextCodeMap().
|
static |
|
static |
|
static |
|
static |
Definition at line 6628 of file objects.h.
Referenced by AddToOptimizedCodeMap(), v8::internal::CodeStubGraphBuilderBase::BuildCheckAndInstallOptimizedCode(), EvictFromOptimizedCodeMap(), v8::internal::CodeFlusher::ProcessOptimizedCodeMaps(), and SearchOptimizedCodeMap().
|
static |
|
static |
Definition at line 6895 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences().
|
static |
Definition at line 6901 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractSharedFunctionInfoReferences().
|
static |
Definition at line 6975 of file objects.h.
Referenced by v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::Initialize(), and v8::internal::SerializedCodeData::IsSane().
|
static |
|
static |
Definition at line 6991 of file objects.h.
Referenced by set_start_position().
|
static |
Definition at line 6990 of file objects.h.
Referenced by set_start_position(), and start_position().
|
static |