v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <objects.h>
Data Structures | |
class | BinaryOpResultTypeField |
class | BinaryOpTypeField |
class | CacheHolderField |
class | CompareOperationField |
class | CompareStateField |
class | ExtraICStateField |
class | ExtraICStateKeyedAccessGrowMode |
class | ExtraICStateStrictMode |
class | FullCodeFlagsHasDebugBreakSlotsField |
class | FullCodeFlagsHasDeoptimizationSupportField |
class | FullCodeFlagsIsCompiledOptimizable |
class | HasFunctionCacheField |
class | ICStateField |
class | IsPregeneratedField |
class | KindField |
class | SafepointTableOffsetField |
class | StackCheckTableOffsetField |
class | StackSlotsField |
class | StubMajorKeyField |
class | ToBooleanStateField |
class | TypeField |
class | UnaryOpTypeField |
Public Types | |
enum | Flags { FLAGS_MIN_VALUE = kMinInt, FLAGS_MAX_VALUE = kMaxInt } |
enum | Kind { LAST_CODE_KIND = TO_BOOLEAN_IC, REGEXP = BUILTIN, FIRST_IC_KIND = LOAD_IC, LAST_IC_KIND = TO_BOOLEAN_IC } |
enum | StubType { NORMAL, FIELD, CONSTANT_FUNCTION, CALLBACKS, INTERCEPTOR, MAP_TRANSITION, NONEXISTENT } |
enum | { NUMBER_OF_KINDS = LAST_IC_KIND + 1 } |
typedef int | ExtraICState |
Additional Inherited Members | |
Protected Member Functions inherited from HeapObject | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
typedef int ExtraICState |
enum Kind |
enum StubType |
|
inline |
Definition at line 3292 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 8442 of file objects.cc.
References Code::compare_state(), Code::is_compare_ic_stub(), Code::is_keyed_load_stub(), Code::is_keyed_store_stub(), and CompareIC::KNOWN_OBJECTS.
Referenced by Map::UpdateCodeCache().
|
inline |
Definition at line 3192 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 3410 of file objects-inl.h.
References ASSERT, and READ_UINT32_FIELD.
|
inline |
Definition at line 3395 of file objects-inl.h.
References ASSERT, and READ_UINT32_FIELD.
|
inline |
Definition at line 4659 of file objects-inl.h.
References v8::internal::kObjectAlignment, and v8::internal::RoundUp().
Referenced by SharedFunctionInfo::AddToOptimizedCodeMap(), check(), JSFunction::code(), IC::ComputeMode(), Heap::CopyCode(), Code::CopyFrom(), Heap::CreateCode(), CodeCacheHashTableKey::HashForObject(), SharedFunctionInfo::InstallFromOptimizedCodeMap(), RegExpImpl::IrregexpNativeCode(), CodeCacheHashTableKey::IsMatch(), JSBuiltinsObject::javascript_builtin_code(), MarkCompactCollector::MigrateObject(), JavaScriptFrame::PrintTop(), IncrementalMarking::RecordWriteIntoCodeSlow(), TEST(), MarkCompactMarkingVisitor::ObjectStatsTracker< MarkCompactMarkingVisitor::kVisitCode >::Visit(), StaticMarkingVisitor< StaticVisitor >::VisitCode(), StaticMarkingVisitor< StaticVisitor >::VisitCodeEntry(), Serializer::ObjectSerializer::VisitCodeEntry(), PointersUpdatingVisitor::VisitCodeTarget(), and PointersUpdatingVisitor::VisitDebugTarget().
|
inline |
Definition at line 3367 of file objects-inl.h.
References ASSERT, and READ_BYTE_FIELD.
void ClearInlineCaches | ( | ) |
Definition at line 8414 of file objects.cc.
References IC::Clear(), RelocIterator::done(), Code::GetCodeFromTargetAddress(), and Code::is_inline_cache_stub().
Referenced by v8::internal::RUNTIME_FUNCTION().
void ClearTypeFeedbackCells | ( | Heap * | heap | ) |
Definition at line 8429 of file objects.cc.
References TypeFeedbackInfo::cast(), TypeFeedbackCells::Cell(), TypeFeedbackCells::CellCount(), and TypeFeedbackCells::RawUninitializedSentinel().
Referenced by v8::internal::RUNTIME_FUNCTION(), and StaticMarkingVisitor< StaticVisitor >::VisitCode().
|
inline |
Definition at line 606 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.
Referenced by StaticMarkingVisitor< StaticVisitor >::VisitCode().
|
inline |
Definition at line 630 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 3440 of file objects-inl.h.
References ASSERT, and READ_UINT32_FIELD.
Referenced by CompareIC::ComputeOperation().
|
inline |
Definition at line 3425 of file objects-inl.h.
References ASSERT, and READ_UINT32_FIELD.
Referenced by Code::allowed_in_shared_map_code_cache(), and CompareIC::ComputeState().
|
inlinestatic |
Definition at line 4423 of file objects.h.
Referenced by KeyedIC::ComputeStub().
|
inlinestatic |
Definition at line 3491 of file objects-inl.h.
References ASSERT.
Referenced by check(), LChunk::Codegen(), KeyedIC::ComputeStub(), FullCodeGenerator::MakeCode(), and TEST().
|
inlinestatic |
Definition at line 3514 of file objects-inl.h.
References v8::internal::MONOMORPHIC.
Referenced by TypeFeedbackOracle::CallReceiverTypes(), TypeFeedbackOracle::LoadReceiverTypes(), and TypeFeedbackOracle::StoreReceiverTypes().
|
inline |
Definition at line 4690 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 8291 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 4685 of file objects-inl.h.
Referenced by check(), NativeRegExpMacroAssembler::Execute(), Deoptimizer::PatchStackCheckCodeAt(), Deoptimizer::RevertStackCheckCodeAt(), JSFunction::set_code(), and TEST().
|
inline |
Definition at line 4494 of file objects.h.
References ASSERT_EQ, and Code::kHeaderSize.
Referenced by CpuProfiler::CodeCreateEvent(), Logger::CodeCreateEvent(), CpuProfiler::RegExpCodeCreateEvent(), and Logger::RegExpCodeCreateEvent().
|
inline |
Definition at line 3181 of file objects-inl.h.
References ASSERT, and v8::internal::flags.
Referenced by CallICBase::Clear(), and IC::SetTargetAtAddress().
|
inlinestatic |
Definition at line 3543 of file objects-inl.h.
|
inlinestatic |
Definition at line 3548 of file objects-inl.h.
|
inlinestatic |
Definition at line 3533 of file objects-inl.h.
|
inlinestatic |
Definition at line 3528 of file objects-inl.h.
|
inlinestatic |
Definition at line 3523 of file objects-inl.h.
|
inlinestatic |
Definition at line 3538 of file objects-inl.h.
Referenced by TypeFeedbackOracle::LoadIsMonomorphicNormal(), CodeCache::Lookup(), and TypeFeedbackOracle::StoreIsMonomorphicNormal().
Map * FindFirstMap | ( | ) |
Definition at line 8401 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 3138 of file objects-inl.h.
References READ_INT_FIELD.
Referenced by CodeCache::GetIndex(), CodeCache::RemoveByIndex(), and StubCache::Set().
Definition at line 3559 of file objects-inl.h.
References v8::internal::code(), HeapObject::FromAddress(), and Code::kHeaderSize.
Referenced by Code::ClearInlineCaches(), IC::GetTargetAtAddress(), StaticMarkingVisitor< StaticVisitor >::VisitCodeTarget(), Serializer::ObjectSerializer::VisitCodeTarget(), PointersUpdatingVisitor::VisitCodeTarget(), StaticMarkingVisitor< StaticVisitor >::VisitDebugTarget(), and PointersUpdatingVisitor::VisitDebugTarget().
|
inlinestatic |
Definition at line 4418 of file objects.h.
Referenced by KeyedIC::ComputeStub(), TypeFeedbackOracle::StoreIsMegamorphicWithTypeInfo(), and TypeFeedbackOracle::StoreIsMonomorphicNormal().
Definition at line 3570 of file objects-inl.h.
References Memory::Address_at(), HeapObject::FromAddress(), and Code::kHeaderSize.
Referenced by JSFunction::unchecked_code(), StaticMarkingVisitor< StaticVisitor >::VisitCodeEntry(), and Serializer::ObjectSerializer::VisitCodeEntry().
SafepointEntry GetSafepointEntry | ( | Address | pc | ) |
Definition at line 8388 of file objects.cc.
Referenced by OptimizedFrame::GetDeoptimizationData().
|
inlinestatic |
Definition at line 4414 of file objects.h.
Referenced by v8::internal::RUNTIME_FUNCTION(), and IC::SetTargetAtAddress().
|
inline |
Definition at line 3262 of file objects-inl.h.
References ASSERT_EQ, v8::internal::flags, and READ_BYTE_FIELD.
|
inline |
Definition at line 3247 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 3470 of file objects-inl.h.
References ASSERT, and READ_UINT32_FIELD.
|
inline |
Referenced by StaticMarkingVisitor< StaticVisitor >::VisitCodeTarget().
|
inline |
Definition at line 3168 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(), TEST(), and StaticMarkingVisitor< StaticVisitor >::VisitCodeTarget().
|
inline |
Definition at line 4654 of file objects-inl.h.
Referenced by Heap::CopyCode(), Deoptimizer::DeoptimizeFunction(), and JavaScriptFrame::Print().
|
inline |
|
inline |
Definition at line 4649 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 8278 of file objects.cc.
References HeapObject::GetHeap().
Referenced by Deoptimizer::DeoptimizeFunction().
|
inline |
Definition at line 4301 of file objects.h.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 4305 of file objects.h.
Referenced by Code::allowed_in_shared_map_code_cache(), and IC::SetTargetAtAddress().
|
inline |
Definition at line 3277 of file objects-inl.h.
References ASSERT_EQ, v8::internal::flags, and READ_BYTE_FIELD.
|
inline |
Definition at line 3485 of file objects-inl.h.
Referenced by Code::ClearInlineCaches(), Code::FindFirstMap(), IC::GetTargetAtAddress(), IC::PostPatching(), IC::SetTargetAtAddress(), and StaticMarkingVisitor< StaticVisitor >::VisitCodeTarget().
|
inline |
Definition at line 4302 of file objects.h.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 4298 of file objects.h.
Referenced by Code::allowed_in_shared_map_code_cache().
|
inline |
Definition at line 4300 of file objects.h.
Referenced by Code::allowed_in_shared_map_code_cache().
|
inline |
Definition at line 3222 of file objects-inl.h.
References v8::internal::flags.
|
inline |
Definition at line 3163 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(), IC::SetTargetAtAddress(), and IC::StateFrom().
|
inline |
Definition at line 3198 of file objects-inl.h.
References ASSERT, and READ_UINT32_FIELD.
Referenced by CompareIC::ComputeOperation(), CompareIC::ComputeState(), and BASE_EMBEDDED< Visitor >::GetMajorKey().
|
inline |
Definition at line 3235 of file objects-inl.h.
References ASSERT_EQ, and READ_BYTE_FIELD.
Referenced by JSFunction::IsInlineable().
|
inline |
Definition at line 3305 of file objects-inl.h.
References ASSERT_EQ, and READ_BYTE_FIELD.
Referenced by RuntimeProfiler::OptimizeNow().
void Relocate | ( | intptr_t | delta | ) |
Definition at line 8283 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 4680 of file objects-inl.h.
Referenced by RelocIterator::RelocIterator().
|
inline |
Definition at line 4675 of file objects-inl.h.
Referenced by Heap::CopyCode(), Code::CopyFrom(), and RelocIterator::RelocIterator().
|
inlinestatic |
Definition at line 3553 of file objects-inl.h.
|
inline |
Definition at line 3334 of file objects-inl.h.
References ASSERT, and READ_UINT32_FIELD.
|
inline |
Definition at line 3298 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 3417 of file objects-inl.h.
References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.
|
inline |
Definition at line 3402 of file objects-inl.h.
References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.
|
inline |
Definition at line 3374 of file objects-inl.h.
References ASSERT, and WRITE_BYTE_FIELD.
Referenced by Heap::CreateCode().
|
inline |
Definition at line 3447 of file objects-inl.h.
References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.
|
inline |
Definition at line 3432 of file objects-inl.h.
References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.
|
inline |
Definition at line 3284 of file objects-inl.h.
References ASSERT_EQ, v8::internal::flags, READ_BYTE_FIELD, and WRITE_BYTE_FIELD.
|
inline |
Definition at line 3153 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 3269 of file objects-inl.h.
References ASSERT_EQ, v8::internal::flags, READ_BYTE_FIELD, and WRITE_BYTE_FIELD.
|
inline |
Definition at line 3254 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 3477 of file objects-inl.h.
References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.
|
inline |
Referenced by Heap::CreateCode().
|
inline |
Referenced by Heap::CreateCode().
|
inline |
Definition at line 3227 of file objects-inl.h.
References ASSERT, and v8::internal::flags.
|
inline |
Definition at line 3209 of file objects-inl.h.
References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.
|
inline |
Definition at line 3241 of file objects-inl.h.
References ASSERT_EQ, and WRITE_BYTE_FIELD.
|
inline |
Definition at line 3311 of file objects-inl.h.
References ASSERT, ASSERT_EQ, and WRITE_BYTE_FIELD.
Referenced by RuntimeProfiler::OptimizeNow(), and IC::PostPatching().
|
inline |
Definition at line 3341 of file objects-inl.h.
References ASSERT, CHECK, v8::internal::IsAligned(), v8::internal::kIntSize, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.
|
inline |
Definition at line 3358 of file objects-inl.h.
References ASSERT, ASSERT_EQ, v8::internal::IsAligned(), v8::internal::kIntSize, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.
Referenced by Code::SetNoStackCheckTable().
|
inline |
Definition at line 3325 of file objects-inl.h.
References ASSERT, CHECK, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.
|
inline |
Definition at line 3462 of file objects-inl.h.
References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.
|
inline |
Definition at line 3387 of file objects-inl.h.
References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.
void SetNoStackCheckTable | ( | ) |
Definition at line 8394 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 4487 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 8336 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 8368 of file objects.cc.
References RelocIterator::done(), RelocIterator::next(), RelocIterator::rinfo(), and Code::SourcePosition().
|
inline |
Definition at line 3351 of file objects-inl.h.
References ASSERT_EQ, and READ_UINT32_FIELD.
Referenced by Deoptimizer::PatchStackCheckCode(), and Deoptimizer::RevertStackCheckCode().
|
inline |
Definition at line 3318 of file objects-inl.h.
References ASSERT, and READ_UINT32_FIELD.
STATIC_ASSERT | ( | ) |
STATIC_ASSERT | ( | kStackSlotsFirstBit+kStackSlotsBitCount<= | 32 | ) |
STATIC_ASSERT | ( | kUnaryOpTypeFirstBit+kUnaryOpTypeBitCount<= | 32 | ) |
STATIC_ASSERT | ( | kBinaryOpTypeFirstBit+kBinaryOpTypeBitCount<= | 32 | ) |
STATIC_ASSERT | ( | kBinaryOpResultTypeFirstBit+kBinaryOpResultTypeBitCount<= | 32 | ) |
STATIC_ASSERT | ( | kCompareStateFirstBit+kCompareStateBitCount<= | 32 | ) |
STATIC_ASSERT | ( | kCompareOperationFirstBit+kCompareOperationBitCount<= | 32 | ) |
STATIC_ASSERT | ( | kToBooleanStateFirstBit+kToBooleanStateBitCount<= | 32 | ) |
STATIC_ASSERT | ( | kHasFunctionCacheFirstBit+kHasFunctionCacheBitCount<= | 32 | ) |
STATIC_ASSERT | ( | kStubMajorKeyFirstBit+kStubMajorKeyBits<= | 32 | ) |
STATIC_ASSERT | ( | kSafepointTableOffsetFirstBit+kSafepointTableOffsetBitCount<= | 32 | ) |
|
inline |
Definition at line 3455 of file objects-inl.h.
References ASSERT, and READ_UINT32_FIELD.
|
inline |
Definition at line 3187 of file objects-inl.h.
References v8::internal::flags.
Referenced by CodeCache::GetIndex(), CodeCache::RemoveByIndex(), and CodeCache::Update().
|
inline |
Definition at line 3380 of file objects-inl.h.
References ASSERT, and READ_UINT32_FIELD.
|
inline |
Definition at line 4664 of file objects-inl.h.
References READ_FIELD.
|
inline |
Definition at line 4670 of file objects-inl.h.
References READ_FIELD.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 4533 of file objects.h.
Referenced by Code::CodeIterateBody().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 4532 of file objects.h.
Referenced by Code::CodeIterateBody().
|
static |
|
static |
|
static |
Definition at line 4549 of file objects.h.
Referenced by Code::ExecutableSize(), Code::GetCodeFromTargetAddress(), Code::GetObjectFromEntryAddress(), and OptimizedFrame::Summarize().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 4527 of file objects.h.
Referenced by RuntimeProfiler::OptimizeNow(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 4236 of file objects.h.
Referenced by KeyedCallIC::GenerateMiss(), CallIC::GenerateNormal(), and KeyedCallIC::LoadFunction().
|
static |
|
static |
|
static |
Definition at line 4531 of file objects.h.
Referenced by Code::CodeIterateBody().
|
static |
|
static |
|
static |
Definition at line 4535 of file objects.h.
Referenced by Code::CodeIterateBody().
|
static |