V8 Project
|
#include <ic.h>
Public Types | |
enum | UtilityId { kUtilityCount } |
enum | FrameDepth { NO_EXTRA_FRAME = 0 , EXTRA_CALL_FRAME = 1 } |
typedef InlineCacheState | State |
Public Member Functions | |
IC (FrameDepth depth, Isolate *isolate) | |
virtual | ~IC () |
State | state () const |
Address | address () const |
void | UpdateState (Handle< Object > receiver, Handle< Object > name) |
bool | IsNameCompatibleWithPrototypeFailure (Handle< Object > name) |
void | MarkPrototypeFailure (Handle< Object > name) |
Static Public Member Functions | |
static Address | AddressFromUtilityId (UtilityId id) |
static void | RegisterWeakMapDependency (Handle< Code > stub) |
static void | InvalidateMaps (Code *stub) |
static void | Clear (Isolate *isolate, Address address, ConstantPoolArray *constant_pool) |
template<class TypeClass > | |
static JSFunction * | GetRootConstructor (TypeClass *type, Context *native_context) |
static Handle< Map > | GetHandlerCacheHolder (HeapType *type, bool receiver_is_holder, Isolate *isolate, CacheHolderFlag *flag) |
static Handle< Map > | GetICCacheHolder (HeapType *type, Isolate *isolate, CacheHolderFlag *flag) |
static bool | IsCleared (Code *code) |
static Handle< Map > | TypeToMap (HeapType *type, Isolate *isolate) |
template<class T > | |
static T::TypeHandle | MapToType (Handle< Map > map, typename T::Region *region) |
static Handle< HeapType > | CurrentTypeOf (Handle< Object > object, Isolate *isolate) |
Static Protected Member Functions | |
static Code * | GetTargetAtAddress (Address address, ConstantPoolArray *constant_pool) |
static void | SetTargetAtAddress (Address address, Code *target, ConstantPoolArray *constant_pool) |
static void | OnTypeFeedbackChanged (Isolate *isolate, Address address, State old_state, State new_state, bool target_remains_ic_stub) |
static void | PostPatching (Address address, Code *target, Code *old_target) |
Private Member Functions | |
Code * | raw_target () const |
ConstantPoolArray * | constant_pool () const |
ConstantPoolArray * | raw_constant_pool () const |
void | FindTargetMaps () |
DISALLOW_IMPLICIT_CONSTRUCTORS (IC) | |
v8::internal::IC::IC | ( | FrameDepth | depth, |
Isolate * | isolate | ||
) |
Definition at line 141 of file ic.cc.
References v8::internal::Memory::Address_at(), v8::internal::StackFrameIterator::Advance(), v8::internal::Isolate::c_entry_fp(), constant_pool(), DCHECK, EXTRA_CALL_FRAME, extra_ic_state_, fp(), fp_, v8::internal::StackFrameIterator::frame(), v8::internal::handle(), isolate(), v8::internal::ExitFrameConstants::kCallerFPOffset, v8::internal::StandardFrameConstants::kCallerFPOffset, v8::internal::ExitFrameConstants::kCallerPCOffset, v8::internal::StandardFrameConstants::kCallerPCOffset, v8::internal::ExitFrameConstants::kConstantPoolOffset, v8::internal::StandardFrameConstants::kConstantPoolOffset, kind_, NULL, pc_address_, raw_constant_pool_, raw_target(), state_, target_, and v8::internal::Isolate::thread_local_top().
|
inline |
Definition at line 19 of file ic-inl.h.
References v8::internal::Isolate::debug(), GetCode(), GetOriginalCode(), v8::internal::Debug::has_break_points(), v8::internal::Code::instruction_start(), v8::internal::Debug::IsDebugBreak(), isolate(), pc(), raw_constant_pool(), v8::internal::Assembler::target_address_at(), and v8::internal::Assembler::target_address_from_return_address().
Referenced by v8::internal::CompareNilIC::Clear(), v8::internal::LoadIC::Clear(), v8::internal::KeyedLoadIC::Clear(), v8::internal::StoreIC::Clear(), v8::internal::KeyedStoreIC::Clear(), v8::internal::CompareIC::Clear(), Clear(), v8::internal::CallIC::DoCustomHandler(), GetTargetAtAddress(), v8::internal::CallIC::HandleMiss(), OnTypeFeedbackChanged(), v8::internal::CallIC::PatchMegamorphic(), PostPatching(), raw_target(), set_target(), SetTargetAtAddress(), v8::internal::BinaryOpIC::Transition(), and v8::internal::CompareIC::UpdateCaches().
|
static |
|
static |
Definition at line 478 of file ic.cc.
References address(), v8::internal::CompareNilIC::Clear(), v8::internal::CallIC::Clear(), v8::internal::LoadIC::Clear(), v8::internal::KeyedLoadIC::Clear(), v8::internal::StoreIC::Clear(), v8::internal::KeyedStoreIC::Clear(), v8::internal::CompareIC::Clear(), constant_pool(), GetTargetAtAddress(), isolate(), target(), and UNREACHABLE.
Referenced by v8::internal::ICUtility::Clear(), and v8::internal::Code::ClearInlineCaches().
|
inlineprotectedvirtual |
Reimplemented in v8::internal::StoreIC, and v8::internal::LoadIC.
Definition at line 171 of file ic.h.
References v8::internal::Handle< T >::null(), and UNREACHABLE.
Referenced by ComputeHandler().
|
protected |
Definition at line 897 of file ic.cc.
References v8::internal::Handle< T >::cast(), CompileHandler(), DCHECK, v8::internal::Code::ExtractCacheHolderFromFlags(), v8::internal::Code::FAST, v8::internal::PropertyHandlerCompiler::Find(), v8::internal::flag, v8::internal::StubCache::Get(), GetHandlerCacheHolder(), v8::internal::Handle< T >::is_null(), isolate(), kind(), map, maybe_handler_, v8::internal::MEGAMORPHIC, v8::internal::Code::NORMAL, receiver_type(), state(), v8::internal::Isolate::stub_cache(), and v8::internal::Map::UpdateCodeCache().
Referenced by v8::internal::LoadIC::UpdateCaches(), and v8::internal::StoreIC::UpdateCaches().
|
inlineprivate |
Definition at line 51 of file ic-inl.h.
References v8::internal::Code::constant_pool(), v8::internal::Isolate::debug(), GetOriginalCode(), v8::internal::Debug::has_break_points(), v8::internal::Debug::IsDebugBreak(), isolate(), NULL, pc(), raw_constant_pool(), raw_constant_pool_, target(), v8::internal::Assembler::target_address_at(), and v8::internal::Assembler::target_address_from_return_address().
Referenced by v8::internal::CompareNilIC::Clear(), v8::internal::LoadIC::Clear(), v8::internal::KeyedLoadIC::Clear(), v8::internal::StoreIC::Clear(), v8::internal::KeyedStoreIC::Clear(), v8::internal::CompareIC::Clear(), Clear(), GetTargetAtAddress(), IC(), raw_target(), set_target(), and SetTargetAtAddress().
Definition at line 761 of file ic.cc.
References v8::internal::List< T, AllocationPolicy >::at(), name, target(), TargetTypes(), and UpdateMegamorphicCache().
Referenced by PatchCache().
|
static |
Definition at line 712 of file ic.cc.
References v8::internal::TypeImpl< Config >::Constant(), isolate(), and v8::internal::TypeImpl< Config >::NowOf().
Referenced by v8::internal::PropertyHandlerCompiler::set_type_for_object(), and update_receiver_type().
|
private |
|
inlineprotected |
Definition at line 200 of file ic.h.
References extra_ic_state_.
Referenced by v8::internal::CompareNilIC::CompareNil(), v8::internal::LoadIC::contextual_mode(), v8::internal::StoreIC::generic_stub(), v8::internal::CallIC::HandleMiss(), v8::internal::LoadIC::megamorphic_stub(), v8::internal::StoreIC::megamorphic_stub(), v8::internal::CallIC::PatchMegamorphic(), v8::internal::LoadIC::pre_monomorphic_stub(), v8::internal::LoadIC::set_target(), v8::internal::StoreIC::set_target(), v8::internal::KeyedStoreIC::StoreElementStub(), v8::internal::StoreIC::strict_mode(), v8::internal::ToBooleanIC::ToBoolean(), v8::internal::BinaryOpIC::Transition(), UpdateMonomorphicIC(), and UpdatePolymorphicIC().
|
inlineprivate |
Definition at line 235 of file ic.h.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::handle(), map, v8::internal::MONOMORPHIC, NULL, v8::internal::PREMONOMORPHIC, state_, target_, target_maps_, target_maps_set_, and v8::internal::UNINITIALIZED.
Referenced by FirstTargetMap(), TargetMaps(), and TargetTypes().
|
inlineprotected |
Definition at line 222 of file ic.h.
References v8::internal::List< T, AllocationPolicy >::at(), FindTargetMaps(), NULL, and target_maps_.
Referenced by v8::internal::CompareNilIC::CompareNil(), and TryRemoveInvalidPrototypeDependentStub().
|
inlineprotected |
|
protected |
|
inlinestatic |
Definition at line 177 of file ic-inl.h.
References v8::internal::flag, GetRootConstructor(), v8::internal::handle(), v8::internal::JSFunction::instance_prototype(), isolate(), v8::internal::kCacheOnPrototype, v8::internal::kCacheOnPrototypeReceiverIsDictionary, v8::internal::kCacheOnPrototypeReceiverIsPrimitive, v8::internal::kCacheOnReceiver, v8::internal::Isolate::native_context(), NULL, and TypeToMap().
Referenced by v8::internal::LoadIC::CompileHandler(), ComputeHandler(), and v8::internal::NamedLoadHandlerCompiler::ComputeLoadNonexistent().
|
inlinestatic |
Definition at line 198 of file ic-inl.h.
References v8::internal::flag, GetRootConstructor(), v8::internal::handle(), v8::internal::JSFunction::initial_map(), isolate(), v8::internal::kCacheOnPrototype, v8::internal::kCacheOnReceiver, v8::internal::Isolate::native_context(), NULL, and TypeToMap().
Referenced by v8::internal::PropertyICCompiler::ComputeMonomorphic(), and TryRemoveInvalidPrototypeDependentStub().
|
protected |
Definition at line 209 of file ic.cc.
References DCHECK, v8::internal::Debug::GetDebugInfo(), GetSharedFunctionInfo(), v8::internal::Debug::HasDebugInfo(), and isolate().
Referenced by address(), and constant_pool().
|
static |
Definition at line 162 of file ic-inl.h.
References NULL.
Referenced by GetHandlerCacheHolder(), GetICCacheHolder(), and v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::map().
|
protected |
Definition at line 187 of file ic.cc.
References v8::internal::StackFrameIterator::Advance(), v8::internal::JavaScriptFrame::cast(), v8::internal::StackFrameIterator::frame(), v8::internal::JavaScriptFrame::function(), and isolate().
Referenced by GetCode(), and GetOriginalCode().
|
inlinestaticprotected |
Definition at line 84 of file ic-inl.h.
References address(), constant_pool(), DCHECK, v8::internal::Code::GetCodeFromTargetAddress(), v8::internal::Code::is_inline_cache_stub(), target(), and v8::internal::Assembler::target_address_at().
Referenced by Clear(), raw_target(), and SetTargetAtAddress().
|
inlineprotected |
|
static |
Definition at line 460 of file ic.cc.
References DCHECK, v8::internal::RelocIterator::done(), v8::internal::RelocInfo::EMBEDDED_OBJECT, v8::internal::CpuFeatures::FlushICache(), v8::internal::HeapObject::GetIsolate(), v8::internal::Isolate::heap(), v8::internal::Code::instruction_size(), v8::internal::Code::instruction_start(), v8::internal::Code::is_weak_stub(), isolate(), v8::internal::Code::mark_as_invalidated_weak_stub(), mode(), v8::internal::RelocInfo::ModeMask(), and v8::internal::SKIP_WRITE_BARRIER.
Referenced by v8::internal::MarkCompactCollector::ClearDependentICList().
|
inlineprotected |
Definition at line 147 of file ic.h.
References target_set_.
Referenced by v8::internal::KeyedLoadIC::Load(), and v8::internal::KeyedStoreIC::Store().
Definition at line 112 of file ic.h.
References v8::internal::Code::ic_state(), v8::internal::PREMONOMORPHIC, state(), and v8::internal::UNINITIALIZED.
Referenced by v8::internal::CompareNilIC::Clear(), v8::internal::LoadIC::Clear(), v8::internal::KeyedLoadIC::Clear(), v8::internal::StoreIC::Clear(), and v8::internal::KeyedStoreIC::Clear().
Definition at line 303 of file ic.cc.
References name, and target().
Referenced by MarkPrototypeFailure(), and TryRemoveInvalidPrototypeDependentStub().
|
inlineprotected |
Definition at line 136 of file ic.h.
References isolate_.
Referenced by address(), v8::internal::LoadIC::Clear(), v8::internal::KeyedLoadIC::Clear(), v8::internal::StoreIC::Clear(), v8::internal::KeyedStoreIC::Clear(), v8::internal::CompareIC::Clear(), Clear(), v8::internal::CompareNilIC::CompareNil(), v8::internal::LoadIC::CompileHandler(), v8::internal::StoreIC::CompileHandler(), ComputeHandler(), constant_pool(), CurrentTypeOf(), v8::internal::CompareNilIC::DoCompareNilSlow(), v8::internal::CallIC::DoCustomHandler(), v8::internal::CallIC::FeedbackToState(), v8::internal::StoreIC::generic_stub(), v8::internal::KeyedLoadIC::generic_stub(), GetCode(), GetHandlerCacheHolder(), GetICCacheHolder(), GetOriginalCode(), v8::internal::CompareIC::GetRawUninitialized(), GetSharedFunctionInfo(), v8::internal::KeyedStoreIC::GetStoreMode(), v8::internal::CompareIC::GetUninitialized(), v8::internal::CallIC::HandleMiss(), IC(), v8::internal::LoadIC::initialize_stub(), v8::internal::CallIC::initialize_stub(), v8::internal::StoreIC::initialize_stub(), InvalidateMaps(), v8::internal::LoadIC::Load(), v8::internal::KeyedLoadIC::Load(), v8::internal::KeyedLoadIC::LoadElementStub(), v8::internal::LoadIC::megamorphic_stub(), v8::internal::StoreIC::megamorphic_stub(), OnTypeFeedbackChanged(), v8::internal::CallIC::PatchMegamorphic(), PostPatching(), v8::internal::KeyedStoreIC::pre_monomorphic_stub(), v8::internal::KeyedLoadIC::pre_monomorphic_stub(), v8::internal::LoadIC::pre_monomorphic_stub(), v8::internal::StoreIC::pre_monomorphic_stub(), ReferenceError(), v8::internal::LoadIC::SimpleFieldLoad(), v8::internal::KeyedStoreIC::sloppy_arguments_stub(), v8::internal::LoadIC::slow_stub(), v8::internal::StoreIC::slow_stub(), v8::internal::StoreIC::Store(), v8::internal::KeyedStoreIC::Store(), v8::internal::KeyedStoreIC::StoreElementStub(), v8::internal::KeyedLoadIC::string_stub(), v8::internal::ToBooleanIC::ToBoolean(), v8::internal::BinaryOpIC::Transition(), TryRemoveInvalidPrototypeDependentStub(), TypeError(), TypeToMap(), v8::internal::CompareIC::UpdateCaches(), v8::internal::StoreIC::UpdateCaches(), and UpdateMegamorphicCache().
|
protected |
Definition at line 772 of file ic.cc.
References v8::internal::Map::elements_kind(), v8::internal::IsMoreGeneralElementsKindTransition(), v8::internal::Map::LookupElementsTransitionMap(), and NULL.
Referenced by v8::internal::KeyedStoreIC::StoreElementStub(), and UpdatePolymorphicIC().
|
inlineprotected |
Definition at line 185 of file ic.h.
References kind_.
Referenced by v8::internal::LoadIC::CompileHandler(), ComputeHandler(), v8::internal::StoreIC::generic_stub(), v8::internal::LoadIC::Load(), v8::internal::LoadIC::megamorphic_stub(), v8::internal::StoreIC::megamorphic_stub(), v8::internal::LoadIC::pre_monomorphic_stub(), v8::internal::LoadIC::slow_stub(), v8::internal::StoreIC::slow_stub(), v8::internal::LoadIC::UpdateCaches(), UpdateMegamorphicCache(), UpdateMonomorphicIC(), and UpdatePolymorphicIC().
|
static |
Definition at line 733 of file ic.cc.
References v8::internal::HEAP_NUMBER_TYPE, map, and v8::internal::ODDBALL_TYPE.
Definition at line 73 of file ic.h.
References DCHECK, IsNameCompatibleWithPrototypeFailure(), name, v8::internal::PROTOTYPE_FAILURE, and state_.
Referenced by UpdateState().
Reimplemented in v8::internal::StoreIC, and v8::internal::LoadIC.
Definition at line 192 of file ic.h.
References v8::internal::Handle< T >::null(), and UNREACHABLE.
Referenced by PatchCache().
|
staticprotected |
Definition at line 392 of file ic.cc.
References address(), v8::internal::TypeFeedbackInfo::change_ic_generic_count(), v8::internal::TypeFeedbackInfo::change_ic_with_type_info_count(), v8::internal::TypeFeedbackInfo::change_own_type_change_checksum(), v8::internal::InnerPointerToCodeCache::InnerPointerToCodeCacheEntry::code, v8::internal::ComputeTypeInfoCountDelta(), v8::internal::InnerPointerToCodeCache::GetCacheEntry(), v8::internal::Isolate::inner_pointer_to_code_cache(), isolate(), v8::internal::Code::kind(), v8::internal::RuntimeProfiler::NotifyICChanged(), v8::internal::Isolate::runtime_profiler(), v8::internal::Code::set_profiler_ticks(), and v8::internal::Code::type_feedback_info().
Referenced by v8::internal::CallIC::DoCustomHandler(), v8::internal::CallIC::HandleMiss(), v8::internal::CallIC::PatchMegamorphic(), and PostPatching().
Definition at line 787 of file ic.cc.
References CopyICToMegamorphicCache(), v8::internal::DEBUG_STUB, v8::internal::DEFAULT, v8::internal::GENERIC, v8::internal::MEGAMORPHIC, megamorphic_stub(), v8::internal::MONOMORPHIC, name, v8::internal::POLYMORPHIC, v8::internal::PREMONOMORPHIC, v8::internal::PROTOTYPE_FAILURE, receiver_type(), set_target(), state(), target(), v8::internal::UNINITIALIZED, UNREACHABLE, UpdateMegamorphicCache(), UpdateMonomorphicIC(), and UpdatePolymorphicIC().
Referenced by v8::internal::LoadIC::UpdateCaches(), and v8::internal::StoreIC::UpdateCaches().
|
inlineprotected |
Definition at line 135 of file ic.h.
References pc_address_.
Referenced by address(), constant_pool(), and TraceIC().
|
staticprotected |
Definition at line 422 of file ic.cc.
References address(), v8::internal::Code::ic_state(), v8::internal::Code::is_inline_cache_stub(), isolate(), OnTypeFeedbackChanged(), target(), and v8::internal::UNINITIALIZED.
Referenced by SetTargetAtAddress().
|
inlineprivate |
Definition at line 75 of file ic-inl.h.
References NULL, and raw_constant_pool_.
Referenced by address(), and constant_pool().
|
inlineprivate |
Definition at line 154 of file ic-inl.h.
References address(), constant_pool(), and GetTargetAtAddress().
Referenced by IC(), TraceIC(), and UpdateTarget().
Definition at line 203 of file ic.h.
References receiver_type_.
Referenced by v8::internal::LoadIC::CompileHandler(), v8::internal::StoreIC::CompileHandler(), ComputeHandler(), PatchCache(), TryRemoveInvalidPrototypeDependentStub(), v8::internal::LoadIC::UpdateCaches(), UpdateMonomorphicIC(), and UpdatePolymorphicIC().
|
protected |
Definition at line 348 of file ic.cc.
References v8::internal::HandleVector(), isolate(), name, and THROW_NEW_ERROR.
Referenced by v8::internal::LoadIC::Load().
Definition at line 442 of file ic.cc.
References v8::internal::Map::AddDependentIC(), v8::internal::List< T, AllocationPolicy >::at(), DCHECK, and v8::internal::ConstantPoolArray::WEAK_OBJECTS_IN_IC.
Referenced by v8::internal::PropertyICCompiler::GetCode().
|
inlineprotected |
Definition at line 201 of file ic.h.
References extra_ic_state_, and state().
|
inlineprotected |
Definition at line 121 of file ic-inl.h.
References address(), constant_pool(), SetTargetAtAddress(), and target_set_.
Referenced by v8::internal::CompareNilIC::CompareNil(), v8::internal::CallIC::DoCustomHandler(), PatchCache(), v8::internal::CallIC::PatchMegamorphic(), v8::internal::LoadIC::set_target(), v8::internal::StoreIC::set_target(), v8::internal::KeyedStoreIC::set_target(), v8::internal::ToBooleanIC::ToBoolean(), v8::internal::BinaryOpIC::Transition(), v8::internal::CompareIC::UpdateCaches(), UpdateMonomorphicIC(), and UpdatePolymorphicIC().
|
inlinestaticprotected |
Definition at line 96 of file ic-inl.h.
References address(), constant_pool(), DCHECK, v8::internal::Code::extra_ic_state(), v8::internal::Heap::gc_state(), v8::internal::StoreIC::GetStrictMode(), GetTargetAtAddress(), v8::internal::Heap::incremental_marking(), v8::internal::Code::kind(), v8::internal::Heap::MARK_COMPACT, v8::internal::Heap::mark_compact_collector(), PostPatching(), v8::internal::MarkCompactCollector::RecordCodeTargetPatch(), v8::internal::IncrementalMarking::RecordCodeTargetPatch(), v8::internal::Assembler::set_target_address_at(), and target().
Referenced by v8::internal::CompareNilIC::Clear(), v8::internal::LoadIC::Clear(), v8::internal::KeyedLoadIC::Clear(), v8::internal::StoreIC::Clear(), v8::internal::KeyedStoreIC::Clear(), v8::internal::CompareIC::Clear(), and set_target().
|
inline |
Definition at line 66 of file ic.h.
References state_.
Referenced by v8::internal::CompareNilIC::Clear(), ComputeHandler(), v8::internal::CallIC::DoCustomHandler(), v8::internal::CallIC::FeedbackToState(), v8::internal::StoreIC::GetStrictMode(), v8::internal::CallIC::HandleMiss(), IsCleared(), v8::internal::KeyedLoadIC::Load(), v8::internal::KeyedLoadIC::LoadElementStub(), PatchCache(), v8::internal::CallIC::PatchMegamorphic(), v8::internal::StoreIC::pre_monomorphic_stub(), set_extra_ic_state(), v8::internal::KeyedStoreIC::StoreElementStub(), TraceIC(), v8::internal::BinaryOpIC::Transition(), TransitionMarkFromState(), TryRemoveInvalidPrototypeDependentStub(), v8::internal::CompareIC::UpdateCaches(), v8::internal::LoadIC::UpdateCaches(), v8::internal::StoreIC::UpdateCaches(), UpdatePolymorphicIC(), and UpdateState().
Definition at line 132 of file ic.h.
References target_.
Referenced by v8::internal::CompareNilIC::Clear(), v8::internal::LoadIC::Clear(), v8::internal::KeyedLoadIC::Clear(), v8::internal::StoreIC::Clear(), v8::internal::KeyedStoreIC::Clear(), v8::internal::CompareIC::Clear(), Clear(), v8::internal::CompareNilIC::CompareNil(), constant_pool(), CopyICToMegamorphicCache(), GetTargetAtAddress(), v8::internal::CallIC::HandleMiss(), IsNameCompatibleWithPrototypeFailure(), v8::internal::KeyedLoadIC::KeyedLoadIC(), v8::internal::KeyedStoreIC::KeyedStoreIC(), v8::internal::KeyedLoadIC::LoadElementStub(), PatchCache(), v8::internal::CallIC::PatchMegamorphic(), PostPatching(), v8::internal::LoadIC::set_target(), v8::internal::StoreIC::set_target(), SetTargetAtAddress(), v8::internal::KeyedStoreIC::Store(), v8::internal::KeyedStoreIC::StoreElementStub(), v8::internal::ToBooleanIC::ToBoolean(), v8::internal::BinaryOpIC::Transition(), TryRemoveInvalidPrototypeDependentStub(), v8::internal::CompareIC::UpdateCaches(), and UpdatePolymorphicIC().
|
inlineprotected |
Definition at line 208 of file ic.h.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::List< T, AllocationPolicy >::at(), FindTargetMaps(), and target_maps_.
Referenced by v8::internal::KeyedLoadIC::LoadElementStub(), and v8::internal::KeyedStoreIC::StoreElementStub().
|
inlineprotected |
Definition at line 215 of file ic.h.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::List< T, AllocationPolicy >::at(), FindTargetMaps(), isolate_, and target_maps_.
Referenced by CopyICToMegamorphicCache(), and UpdatePolymorphicIC().
Definition at line 90 of file ic.cc.
References v8::internal::Code::ic_state(), name, raw_target(), and state().
|
protected |
Definition at line 99 of file ic.cc.
References v8::internal::Code::extra_ic_state(), fp_, v8::internal::KeyedStoreIC::GetKeyedAccessStoreMode(), v8::internal::GetTransitionMarkModifier(), v8::internal::Code::is_keyed_stub(), v8::internal::JavaScriptFrameConstants::kFunctionOffset, v8::internal::Code::kind(), name, v8::internal::Memory::Object_at(), pc(), v8::internal::PrintF(), v8::internal::JavaScriptFrame::PrintFunctionAndOffset(), raw_target(), and TransitionMarkFromState().
|
protected |
Definition at line 25 of file ic.cc.
References v8::internal::DEBUG_STUB, v8::internal::DEFAULT, v8::internal::GENERIC, v8::internal::MEGAMORPHIC, v8::internal::MONOMORPHIC, v8::internal::POLYMORPHIC, v8::internal::PREMONOMORPHIC, v8::internal::PROTOTYPE_FAILURE, state(), v8::internal::UNINITIALIZED, and UNREACHABLE.
Referenced by TraceIC().
|
protected |
Definition at line 251 of file ic.cc.
References v8::internal::Handle< T >::cast(), DCHECK, FirstTargetMap(), v8::internal::flag, GetICCacheHolder(), v8::internal::IsMoreGeneralElementsKindTransition(), IsNameCompatibleWithPrototypeFailure(), isolate(), v8::internal::kCacheOnPrototype, v8::internal::kCacheOnPrototypeReceiverIsDictionary, v8::internal::kCacheOnReceiver, maybe_handler_, v8::internal::MONOMORPHIC, name, NULL, receiver_type(), state(), target(), and TypeToMap().
Referenced by UpdateState().
|
protected |
Definition at line 340 of file ic.cc.
References v8::internal::HandleVector(), isolate(), and THROW_NEW_ERROR.
Referenced by v8::internal::LoadIC::Load(), and v8::internal::StoreIC::Store().
Definition at line 719 of file ic.cc.
References v8::internal::TypeImpl< Config >::AsClass(), v8::internal::TypeImpl< Config >::AsConstant(), DCHECK, v8::internal::Isolate::factory(), v8::internal::handle(), v8::internal::TypeImpl< Config >::Is(), v8::internal::TypeImpl< Config >::IsClass(), v8::internal::TypeImpl< Config >::IsConstant(), isolate(), v8::internal::TypeImpl< Config >::ClassType::Map(), and v8::internal::TypeImpl< Config >::ConstantType::Value().
Referenced by v8::internal::NamedLoadHandlerCompiler::CompileLoadCallback(), v8::internal::NamedLoadHandlerCompiler::ComputeLoadNonexistent(), GetHandlerCacheHolder(), GetICCacheHolder(), v8::internal::AccessorInfo::IsCompatibleReceiverType(), v8::internal::PropertyHandlerCompiler::NonexistentFrontendHeader(), TryRemoveInvalidPrototypeDependentStub(), and UpdateMegamorphicCache().
Definition at line 204 of file ic.h.
References CurrentTypeOf(), isolate_, and receiver_type_.
Referenced by v8::internal::StoreIC::LookupForWrite(), and UpdateState().
|
protected |
Definition at line 890 of file ic.cc.
References isolate(), kind(), map, name, v8::internal::StubCache::Set(), v8::internal::Isolate::stub_cache(), and TypeToMap().
Referenced by CopyICToMegamorphicCache(), and PatchCache().
|
protected |
Definition at line 753 of file ic.cc.
References v8::internal::PropertyICCompiler::ComputeMonomorphic(), DCHECK, extra_ic_state(), kind(), name, receiver_type(), and set_target().
Referenced by PatchCache().
Definition at line 649 of file ic.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::List< T, AllocationPolicy >::at(), v8::internal::PropertyICCompiler::ComputeMonomorphic(), v8::internal::PropertyICCompiler::ComputePolymorphic(), extra_ic_state(), IsTransitionOfMonomorphicTarget(), kind(), name, v8::internal::PROTOTYPE_FAILURE, receiver_type(), v8::internal::List< T, AllocationPolicy >::Set(), set_target(), state(), target(), and TargetTypes().
Referenced by PatchCache().
Definition at line 315 of file ic.cc.
References MarkPrototypeFailure(), v8::internal::MONOMORPHIC, name, v8::internal::POLYMORPHIC, state(), state_, TryRemoveInvalidPrototypeDependentStub(), v8::internal::UNINITIALIZED, and update_receiver_type().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
inlineprotected |
Definition at line 158 of file ic-inl.h.
References v8::internal::handle(), isolate_, raw_target(), and target_.
Referenced by v8::internal::BinaryOpIC::Transition().
|
private |
Definition at line 269 of file ic.h.
Referenced by extra_ic_state(), IC(), and set_extra_ic_state().
|
private |
|
private |
Definition at line 255 of file ic.h.
Referenced by isolate(), TargetTypes(), update_receiver_type(), and UpdateTarget().
|
private |
Definition at line 265 of file ic.h.
Referenced by handler_kind(), IC(), and kind().
|
private |
Definition at line 267 of file ic.h.
Referenced by ComputeHandler(), and TryRemoveInvalidPrototypeDependentStub().
|
private |
|
private |
Definition at line 259 of file ic.h.
Referenced by constant_pool(), IC(), and raw_constant_pool().
Definition at line 266 of file ic.h.
Referenced by receiver_type(), and update_receiver_type().
|
private |
Definition at line 264 of file ic.h.
Referenced by FindTargetMaps(), IC(), MarkPrototypeFailure(), state(), and UpdateState().
Definition at line 262 of file ic.h.
Referenced by FindTargetMaps(), IC(), target(), and UpdateTarget().
|
private |
Definition at line 270 of file ic.h.
Referenced by FindTargetMaps(), FirstTargetMap(), TargetMaps(), and TargetTypes().
|
private |
Definition at line 271 of file ic.h.
Referenced by FindTargetMaps().
|
private |
Definition at line 263 of file ic.h.
Referenced by is_target_set(), and set_target().