![]() |
v8
3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
|
#include <objects.h>
Data Structures | |
class | CacheHolderField |
class | ExtraICStateField |
class | ExtraICStateKeyedAccessGrowMode |
class | ExtraICStateStrictMode |
class | FullCodeFlagsHasDebugBreakSlotsField |
class | FullCodeFlagsHasDeoptimizationSupportField |
class | FullCodeFlagsIsCompiledOptimizable |
class | ICStateField |
class | IsPregeneratedField |
class | KindField |
class | TypeField |
Public Types | |
enum | Flags { FLAGS_MIN_VALUE = kMinInt, FLAGS_MAX_VALUE = kMaxInt } |
enum | Kind { FUNCTION, OPTIMIZED_FUNCTION, STUB, BUILTIN, LOAD_IC, KEYED_LOAD_IC, CALL_IC, KEYED_CALL_IC, STORE_IC, KEYED_STORE_IC, UNARY_OP_IC, BINARY_OP_IC, COMPARE_IC, TO_BOOLEAN_IC, REGEXP = BUILTIN, FIRST_IC_KIND = LOAD_IC, LAST_IC_KIND = TO_BOOLEAN_IC } |
enum | { NUMBER_OF_KINDS = LAST_IC_KIND + 1 } |
typedef int | ExtraICState |
Additional Inherited Members | |
![]() | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
typedef int ExtraICState |
enum Kind |
|
inline |
Definition at line 3145 of file objects-inl.h.
References ASSERT_EQ, and READ_BYTE_FIELD.
Referenced by RuntimeProfiler::OptimizeNow().
bool allowed_in_shared_map_code_cache | ( | ) |
Definition at line 8272 of file objects.cc.
References Code::is_keyed_load_stub(), and Code::is_keyed_store_stub().
Referenced by Map::UpdateCodeCache().
|
inline |
Definition at line 3048 of file objects-inl.h.
References ASSERT, and v8::internal::flags.
Referenced by CallICBase::Clear(), CallICBase::ComputeMonomorphicStub(), KeyedCallIC::LoadFunction(), CallICBase::ReceiverToObjectIfRequired(), CallICBase::TryCallAsFunction(), CallICBase::TryUpdateExtraICState(), and CallICBase::UpdateCaches().
|
inline |
Definition at line 3246 of file objects-inl.h.
References ASSERT, and READ_BYTE_FIELD.
|
inline |
Definition at line 3234 of file objects-inl.h.
References ASSERT, and READ_BYTE_FIELD.
|
inline |
Definition at line 4386 of file objects-inl.h.
References v8::internal::kObjectAlignment, and v8::internal::RoundUp().
Referenced by check(), JSFunction::code(), IC::ComputeMode(), Heap::CopyCode(), Code::CopyFrom(), Heap::CreateCode(), CodeCacheHashTableKey::HashForObject(), RegExpImpl::IrregexpNativeCode(), CodeCacheHashTableKey::IsMatch(), JSBuiltinsObject::javascript_builtin_code(), MarkCompactCollector::MigrateObject(), JavaScriptFrame::PrintTop(), IncrementalMarking::RecordWriteIntoCodeSlow(), TEST(), IncrementalMarkingMarkingVisitor::VisitCodeEntry(), Serializer::ObjectSerializer::VisitCodeEntry(), IncrementalMarkingMarkingVisitor::VisitCodeTarget(), PointersUpdatingVisitor::VisitCodeTarget(), IncrementalMarkingMarkingVisitor::VisitDebugTarget(), and PointersUpdatingVisitor::VisitDebugTarget().
|
inline |
Definition at line 3209 of file objects-inl.h.
References ASSERT, READ_BYTE_FIELD, and v8::internal::type().
void ClearInlineCaches | ( | ) |
Definition at line 8243 of file objects.cc.
References IC::Clear(), RelocIterator::done(), Code::GetCodeFromTargetAddress(), and Code::is_inline_cache_stub().
Referenced by SharedFunctionInfo::ResetForNewContext(), and v8::internal::RUNTIME_FUNCTION().
void ClearTypeFeedbackCells | ( | Heap * | heap | ) |
Definition at line 8258 of file objects.cc.
References ASSERT, TypeFeedbackCells::AstId(), TypeFeedbackInfo::cast(), TypeFeedbackCells::Cell(), TypeFeedbackCells::CellCount(), TypeFeedbackCells::RawUninitializedSentinel(), and v8::internal::type_feedback_cells.
Referenced by v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 96 of file objects-visiting-inl.h.
References RelocIterator::done(), HeapObject::IteratePointer(), Code::kDeoptimizationDataOffset, Code::kHandlerTableOffset, Code::kRelocationInfoOffset, Code::kTypeFeedbackInfoOffset, RelocIterator::next(), RelocIterator::rinfo(), and RUNTIME_ENTRY.
|
inline |
Definition at line 120 of file objects-visiting-inl.h.
References HeapObject::address(), RelocIterator::done(), Code::kDeoptimizationDataOffset, Code::kHandlerTableOffset, Code::kRelocationInfoOffset, Code::kTypeFeedbackInfoOffset, RelocIterator::next(), RelocIterator::rinfo(), and RUNTIME_ENTRY.
|
inline |
Definition at line 3270 of file objects-inl.h.
References ASSERT, and READ_BYTE_FIELD.
Referenced by CompareIC::ComputeOperation().
|
inline |
Definition at line 3258 of file objects-inl.h.
References ASSERT, and READ_BYTE_FIELD.
Referenced by CompareIC::ComputeState().
|
inlinestatic |
Definition at line 4386 of file objects.h.
Referenced by KeyedIC::ComputeStub().
|
inlinestatic |
Definition at line 3312 of file objects-inl.h.
References ASSERT.
Referenced by check(), HGraph::Compile(), KeyedIC::ComputeStub(), FullCodeGenerator::MakeCode(), and TEST().
|
inlinestatic |
Definition at line 3335 of file objects-inl.h.
References v8::internal::MONOMORPHIC.
|
inline |
Definition at line 4417 of file objects-inl.h.
References HeapObject::address(), and HeapObject::Size().
Referenced by OptimizedFrame::GetDeoptimizationData(), and Builtins::Lookup().
void CopyFrom | ( | const CodeDesc & | desc | ) |
Definition at line 8120 of file objects.cc.
References ASSERT, CodeDesc::buffer, CodeDesc::buffer_size, Code::cast(), RelocIterator::done(), CPU::FlushICache(), CodeDesc::instr_size, Code::instruction_size(), Code::instruction_start(), CodeDesc::origin, CodeDesc::reloc_size, Code::relocation_start(), and v8::internal::SKIP_WRITE_BARRIER.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 4412 of file objects-inl.h.
Referenced by check(), NativeRegExpMacroAssembler::Execute(), Deoptimizer::PatchStackCheckCodeAt(), Deoptimizer::RevertStackCheckCodeAt(), JSFunction::set_code(), and TEST().
|
inline |
Definition at line 4457 of file objects.h.
References HeapObject::address(), ASSERT_EQ, and Code::kHeaderSize.
Referenced by Logger::CodeCreateEvent(), CpuProfiler::CodeCreateEvent(), Logger::RegExpCodeCreateEvent(), and CpuProfiler::RegExpCodeCreateEvent().
|
inline |
Definition at line 3037 of file objects-inl.h.
References ASSERT, and v8::internal::flags.
Referenced by CallICBase::Clear(), and IC::SetTargetAtAddress().
|
inlinestatic |
Definition at line 3364 of file objects-inl.h.
|
inlinestatic |
Definition at line 3369 of file objects-inl.h.
|
inlinestatic |
Definition at line 3354 of file objects-inl.h.
|
inlinestatic |
Definition at line 3349 of file objects-inl.h.
|
inlinestatic |
Definition at line 3344 of file objects-inl.h.
|
inlinestatic |
Definition at line 3359 of file objects-inl.h.
Referenced by CodeCache::Lookup().
Map * FindFirstMap | ( | ) |
Definition at line 8230 of file objects.cc.
References ASSERT, Map::cast(), RelocIterator::done(), Code::is_inline_cache_stub(), and v8::internal::NULL.
Referenced by StubCache::CollectMatchingMaps().
|
inline |
Definition at line 3004 of file objects-inl.h.
References READ_INT_FIELD.
Referenced by CodeCache::GetIndex(), CodeCache::RemoveByIndex(), and StubCache::Set().
Definition at line 3380 of file objects-inl.h.
References HeapObject::FromAddress(), and Code::kHeaderSize.
Referenced by Code::ClearInlineCaches(), IC::GetTargetAtAddress(), IncrementalMarkingMarkingVisitor::VisitCodeTarget(), Serializer::ObjectSerializer::VisitCodeTarget(), StaticMarkingVisitor::VisitCodeTarget(), PointersUpdatingVisitor::VisitCodeTarget(), IncrementalMarkingMarkingVisitor::VisitDebugTarget(), StaticMarkingVisitor::VisitDebugTarget(), and PointersUpdatingVisitor::VisitDebugTarget().
|
inlinestatic |
Definition at line 4381 of file objects.h.
Referenced by KeyedIC::ComputeStub().
Definition at line 3391 of file objects-inl.h.
References Memory::Address_at(), HeapObject::FromAddress(), and Code::kHeaderSize.
Referenced by JSFunction::unchecked_code(), IncrementalMarkingMarkingVisitor::VisitCodeEntry(), and Serializer::ObjectSerializer::VisitCodeEntry().
SafepointEntry GetSafepointEntry | ( | Address | pc | ) |
Definition at line 8217 of file objects.cc.
Referenced by OptimizedFrame::GetDeoptimizationData().
|
inlinestatic |
Definition at line 4377 of file objects.h.
Referenced by v8::internal::RUNTIME_FUNCTION(), and IC::SetTargetAtAddress().
|
inline |
Definition at line 3115 of file objects-inl.h.
References ASSERT_EQ, v8::internal::flags, and READ_BYTE_FIELD.
|
inline |
Definition at line 3100 of file objects-inl.h.
References ASSERT_EQ, v8::internal::flags, and READ_BYTE_FIELD.
Referenced by SharedFunctionInfo::has_deoptimization_support().
|
inline |
Definition at line 3294 of file objects-inl.h.
References ASSERT, and READ_BYTE_FIELD.
|
inline |
|
inline |
Definition at line 3024 of file objects-inl.h.
References ASSERT, v8::internal::DEBUG_BREAK, v8::internal::DEBUG_PREPARE_STEP_IN, v8::internal::flags, and v8::internal::UNINITIALIZED.
Referenced by IC::Clear(), CallICBase::Clear(), KeyedIC::ComputeStub(), IC::PostPatching(), IC::StateFrom(), and StaticMarkingVisitor::VisitCodeTarget().
|
inline |
Definition at line 4381 of file objects-inl.h.
Referenced by Heap::CopyCode(), Deoptimizer::DeoptimizeFunction(), and JavaScriptFrame::Print().
|
inline |
|
inline |
Definition at line 4376 of file objects-inl.h.
References FIELD_ADDR, and FixedArrayBase::kHeaderSize.
Referenced by Code::CopyFrom(), Deoptimizer::DeoptimizeFunction(), RecordWriteStub::GetMode(), RecordWriteStub::Patch(), Deoptimizer::PatchStackCheckCode(), JavaScriptFrame::Print(), JavaScriptFrame::PrintTop(), Code::Relocate(), RelocIterator::RelocIterator(), Deoptimizer::RevertStackCheckCode(), IC::SetTargetAtAddress(), and TEST().
void InvalidateRelocation | ( | ) |
Definition at line 8107 of file objects.cc.
References HeapObject::GetHeap().
Referenced by Deoptimizer::DeoptimizeFunction().
|
inline |
Definition at line 4264 of file objects.h.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 4268 of file objects.h.
Referenced by IC::SetTargetAtAddress().
|
inline |
Definition at line 3130 of file objects-inl.h.
References ASSERT_EQ, v8::internal::flags, and READ_BYTE_FIELD.
|
inline |
Definition at line 3306 of file objects-inl.h.
Referenced by Code::ClearInlineCaches(), Code::FindFirstMap(), IC::GetTargetAtAddress(), IC::PostPatching(), IC::SetTargetAtAddress(), IncrementalMarkingMarkingVisitor::VisitCodeTarget(), and StaticMarkingVisitor::VisitCodeTarget().
|
inline |
Definition at line 4265 of file objects.h.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 4261 of file objects.h.
Referenced by Code::allowed_in_shared_map_code_cache().
|
inline |
Definition at line 4263 of file objects.h.
Referenced by Code::allowed_in_shared_map_code_cache().
|
inline |
Definition at line 3075 of file objects-inl.h.
References v8::internal::flags.
|
inline |
Definition at line 3019 of file objects-inl.h.
References v8::internal::flags.
Referenced by IC::Clear(), CallICBase::Clear(), OptimizedFrame::GetDeoptimizationData(), SharedFunctionInfo::has_deoptimization_support(), JSFunction::IsInlineable(), RuntimeProfiler::OptimizeNow(), Deoptimizer::PatchStackCheckCode(), IC::PostPatching(), JavaScriptFrame::Print(), JSFunction::ReplaceCode(), Deoptimizer::RevertStackCheckCode(), v8::internal::RUNTIME_FUNCTION(), and IC::StateFrom().
|
inline |
Definition at line 3054 of file objects-inl.h.
References ASSERT, and READ_BYTE_FIELD.
Referenced by CompareIC::ComputeOperation(), CompareIC::ComputeState(), and BASE_EMBEDDED< Visitor >::GetMajorKey().
|
inline |
Definition at line 3088 of file objects-inl.h.
References ASSERT_EQ, and READ_BYTE_FIELD.
Referenced by JSFunction::IsInlineable().
|
inline |
Definition at line 3158 of file objects-inl.h.
References ASSERT_EQ, and READ_BYTE_FIELD.
Referenced by RuntimeProfiler::OptimizeNow().
void Relocate | ( | intptr_t | delta | ) |
Definition at line 8112 of file objects.cc.
References RelocIterator::done(), CPU::FlushICache(), Code::instruction_size(), and Code::instruction_start().
Referenced by Heap::CopyCode(), and MarkCompactCollector::MigrateObject().
|
inline |
Definition at line 4407 of file objects-inl.h.
Referenced by RelocIterator::RelocIterator().
|
inline |
Definition at line 4402 of file objects-inl.h.
Referenced by Heap::CopyCode(), Code::CopyFrom(), and RelocIterator::RelocIterator().
|
inlinestatic |
Definition at line 3374 of file objects-inl.h.
|
inline |
Definition at line 3183 of file objects-inl.h.
References ASSERT, and READ_UINT32_FIELD.
|
inline |
Definition at line 3151 of file objects-inl.h.
References ASSERT, ASSERT_EQ, and WRITE_BYTE_FIELD.
Referenced by RuntimeProfiler::OptimizeNow(), and v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 3252 of file objects-inl.h.
References ASSERT, and WRITE_BYTE_FIELD.
|
inline |
Definition at line 3240 of file objects-inl.h.
References ASSERT, and WRITE_BYTE_FIELD.
|
inline |
Definition at line 3216 of file objects-inl.h.
References ASSERT, and WRITE_BYTE_FIELD.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 3276 of file objects-inl.h.
References ASSERT, and WRITE_BYTE_FIELD.
|
inline |
Definition at line 3264 of file objects-inl.h.
References ASSERT, and WRITE_BYTE_FIELD.
|
inline |
Definition at line 3137 of file objects-inl.h.
References ASSERT_EQ, v8::internal::flags, READ_BYTE_FIELD, and WRITE_BYTE_FIELD.
|
inline |
Definition at line 3009 of file objects-inl.h.
References ASSERT, Code::NUMBER_OF_KINDS, v8::internal::STATIC_ASSERT(), and WRITE_INT_FIELD.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 3122 of file objects-inl.h.
References ASSERT_EQ, v8::internal::flags, READ_BYTE_FIELD, and WRITE_BYTE_FIELD.
|
inline |
Definition at line 3107 of file objects-inl.h.
References ASSERT_EQ, v8::internal::flags, READ_BYTE_FIELD, and WRITE_BYTE_FIELD.
Referenced by SharedFunctionInfo::EnableDeoptimizationSupport().
|
inline |
Definition at line 3300 of file objects-inl.h.
References ASSERT, and WRITE_BYTE_FIELD.
|
inline |
Referenced by Heap::CreateCode().
|
inline |
Referenced by Heap::CreateCode().
|
inline |
Definition at line 3080 of file objects-inl.h.
References ASSERT, and v8::internal::flags.
|
inline |
Definition at line 3064 of file objects-inl.h.
References ASSERT, and WRITE_BYTE_FIELD.
|
inline |
Definition at line 3094 of file objects-inl.h.
References ASSERT_EQ, and WRITE_BYTE_FIELD.
Referenced by SharedFunctionInfo::DisableOptimization(), and SharedFunctionInfo::ResetForNewContext().
|
inline |
Definition at line 3164 of file objects-inl.h.
References ASSERT, ASSERT_EQ, and WRITE_BYTE_FIELD.
Referenced by RuntimeProfiler::OptimizeNow(), IC::PostPatching(), and SharedFunctionInfo::ResetForNewContext().
|
inline |
Definition at line 3189 of file objects-inl.h.
References ASSERT, v8::internal::IsAligned(), v8::internal::kIntSize, and WRITE_UINT32_FIELD.
|
inline |
Definition at line 3202 of file objects-inl.h.
References ASSERT, ASSERT_EQ, v8::internal::IsAligned(), v8::internal::kIntSize, and WRITE_UINT32_FIELD.
Referenced by Code::SetNoStackCheckTable().
|
inline |
Definition at line 3177 of file objects-inl.h.
References ASSERT, and WRITE_UINT32_FIELD.
|
inline |
Definition at line 3288 of file objects-inl.h.
References ASSERT, and WRITE_BYTE_FIELD.
|
inline |
Definition at line 3228 of file objects-inl.h.
References ASSERT, and WRITE_BYTE_FIELD.
void SetNoStackCheckTable | ( | ) |
Definition at line 8223 of file objects.cc.
References Code::instruction_size(), v8::internal::kIntSize, v8::internal::RoundUp(), and Code::set_stack_check_table_offset().
|
inlinestatic |
Definition at line 4450 of file objects.h.
References ASSERT_SIZE_TAG_ALIGNED, v8::internal::kCodeAlignment, ExternalArray::kHeaderSize, and v8::internal::RoundUp().
Referenced by Heap::CopyCode(), and Heap::CreateCode().
int SourcePosition | ( | Address | pc | ) |
Definition at line 8165 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 8197 of file objects.cc.
References RelocIterator::done(), RelocIterator::next(), RelocIterator::rinfo(), and Code::SourcePosition().
|
inline |
Definition at line 3196 of file objects-inl.h.
References ASSERT_EQ, and READ_UINT32_FIELD.
Referenced by Deoptimizer::PatchStackCheckCode(), and Deoptimizer::RevertStackCheckCode().
|
inline |
Definition at line 3171 of file objects-inl.h.
References ASSERT, and READ_UINT32_FIELD.
|
inline |
Definition at line 3282 of file objects-inl.h.
References ASSERT, and READ_BYTE_FIELD.
|
inline |
Definition at line 3043 of file objects-inl.h.
References v8::internal::flags.
Referenced by CodeCache::GetIndex(), CodeCache::RemoveByIndex(), and CodeCache::Update().
|
inline |
Definition at line 3222 of file objects-inl.h.
References ASSERT, and READ_BYTE_FIELD.
|
inline |
Definition at line 4391 of file objects-inl.h.
References READ_FIELD.
|
inline |
Definition at line 4397 of file objects-inl.h.
References READ_FIELD.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 4497 of file objects.h.
Referenced by Code::CodeIterateBody().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 4496 of file objects.h.
Referenced by Code::CodeIterateBody().
|
static |
|
static |
|
static |
Definition at line 4513 of file objects.h.
Referenced by Code::ExecutableSize(), Code::GetCodeFromTargetAddress(), Code::GetObjectFromEntryAddress(), and OptimizedFrame::Summarize().
|
static |
|
static |
|
static |
|
static |
Definition at line 4491 of file objects.h.
Referenced by RuntimeProfiler::OptimizeNow(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 4199 of file objects.h.
Referenced by KeyedCallIC::GenerateMiss(), CallIC::GenerateNormal(), and KeyedCallIC::LoadFunction().
|
static |
|
static |
|
static |
Definition at line 4495 of file objects.h.
Referenced by Code::CodeIterateBody().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 4499 of file objects.h.
Referenced by Code::CodeIterateBody().
|
static |