V8 Project
|
#include <ic.h>
Public Member Functions | |
ContextualMode | contextual_mode () const |
LoadIC (FrameDepth depth, Isolate *isolate) | |
bool | IsUndeclaredGlobal (Handle< Object > receiver) |
MUST_USE_RESULT MaybeHandle< Object > | Load (Handle< Object > object, Handle< Name > name) |
![]() | |
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) |
Private Member Functions | |
virtual Handle< Code > | pre_monomorphic_stub () const |
Handle< Code > | SimpleFieldLoad (FieldIndex index) |
Static Private Member Functions | |
static Handle< Code > | pre_monomorphic_stub (Isolate *isolate, ExtraICState extra_state) |
static void | Clear (Isolate *isolate, Address address, Code *target, ConstantPoolArray *constant_pool) |
Friends | |
class | IC |
Additional Inherited Members | |
![]() | |
enum | UtilityId { kUtilityCount } |
enum | FrameDepth { NO_EXTRA_FRAME = 0 , EXTRA_CALL_FRAME = 1 } |
typedef InlineCacheState | State |
![]() | |
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) |
|
inlineexplicit |
|
staticprivate |
Definition at line 527 of file ic.cc.
References v8::internal::IC::address(), v8::internal::IC::constant_pool(), v8::internal::PropertyICCompiler::FindPreMonomorphic(), v8::internal::IC::IsCleared(), v8::internal::IC::isolate(), v8::internal::IC::SetTargetAtAddress(), and v8::internal::IC::target().
Referenced by v8::internal::IC::Clear().
|
protectedvirtual |
Reimplemented from v8::internal::IC.
Definition at line 947 of file ic.cc.
References v8::internal::ACCESSOR, v8::internal::Isolate::builtins(), v8::internal::Handle< T >::cast(), v8::internal::NamedLoadHandlerCompiler::CompileLoadCallback(), v8::internal::NamedLoadHandlerCompiler::CompileLoadConstant(), v8::internal::NamedLoadHandlerCompiler::CompileLoadField(), v8::internal::NamedLoadHandlerCompiler::CompileLoadGlobal(), v8::internal::NamedLoadHandlerCompiler::CompileLoadInterceptor(), v8::internal::NamedLoadHandlerCompiler::CompileLoadViaGetter(), v8::internal::CONSTANT, DCHECK, v8::internal::Name::Equals(), v8::internal::FIELD, v8::internal::flag, v8::internal::IC::GetHandlerCacheHolder(), v8::internal::AccessorInfo::IsCompatibleReceiverType(), v8::internal::IC::isolate(), v8::internal::IC::kind(), v8::internal::String::kLengthOffset, v8::internal::LookupForRead(), v8::internal::IC::receiver_type(), SimpleFieldLoad(), v8::internal::SLOPPY, slow_stub(), UNREACHABLE, and v8::internal::Map::UpdateCodeCache().
|
inlinestatic |
Definition at line 324 of file ic.h.
References contextual_mode().
|
inline |
Definition at line 328 of file ic.h.
References v8::internal::IC::extra_ic_state().
Referenced by ComputeExtraICState(), IsUndeclaredGlobal(), and v8::internal::ThrowReferenceError().
|
inlinestatic |
Definition at line 348 of file ic.h.
References GenerateMiss().
Referenced by v8::internal::PropertyICCompiler::CompileLoadInitialize().
|
static |
Referenced by v8::internal::Generate_LoadIC_Miss(), GenerateInitialize(), v8::internal::KeyedLoadIC::GenerateInitialize(), v8::internal::StoreIC::GenerateInitialize(), v8::internal::KeyedStoreIC::GenerateInitialize(), GeneratePreMonomorphic(), v8::internal::KeyedLoadIC::GeneratePreMonomorphic(), v8::internal::StoreIC::GeneratePreMonomorphic(), and v8::internal::KeyedStoreIC::GeneratePreMonomorphic().
|
static |
|
inlinestatic |
Definition at line 349 of file ic.h.
References GenerateMiss().
Referenced by v8::internal::PropertyICCompiler::CompileLoadPreMonomorphic().
|
static |
|
static |
Definition at line 815 of file ic.cc.
References v8::internal::PropertyICCompiler::ComputeLoad(), v8::internal::IC::isolate(), and v8::internal::UNINITIALIZED.
Definition at line 338 of file ic.h.
References v8::internal::CONTEXTUAL, contextual_mode(), and DCHECK.
Referenced by Load().
Definition at line 586 of file ic.cc.
References ASSIGN_RETURN_ON_EXCEPTION, false, v8::internal::KeyedLoadIC::generic_stub(), v8::internal::Runtime::GetElementOrCharAt(), v8::internal::Object::GetProperty(), v8::internal::IC::isolate(), IsUndeclaredGlobal(), v8::internal::IC::kind(), LOG, v8::internal::LookupForRead(), v8::internal::MigrateDeprecated(), name, v8::internal::IC::ReferenceError(), set_target(), TRACE_GENERIC_IC, TRACE_IC, v8::internal::IC::TypeError(), and UpdateCaches().
Referenced by v8::internal::KeyedLoadIC::Load(), and v8::internal::RUNTIME_FUNCTION().
Reimplemented from v8::internal::IC.
Definition at line 821 of file ic.cc.
References DCHECK_EQ, v8::internal::IC::extra_ic_state(), v8::internal::KeyedLoadIC::generic_stub(), v8::internal::IC::isolate(), and v8::internal::IC::kind().
Reimplemented in v8::internal::KeyedLoadIC.
Definition at line 843 of file ic.cc.
References DCHECK_EQ, v8::internal::IC::extra_ic_state(), v8::internal::IC::isolate(), v8::internal::IC::kind(), and v8::internal::KeyedLoadIC::pre_monomorphic_stub().
Referenced by v8::internal::KeyedLoadIC::pre_monomorphic_stub(), v8::internal::StoreIC::pre_monomorphic_stub(), v8::internal::KeyedStoreIC::pre_monomorphic_stub(), and UpdateCaches().
|
staticprivate |
Definition at line 832 of file ic.cc.
References v8::internal::PropertyICCompiler::ComputeLoad(), v8::internal::IC::isolate(), and v8::internal::PREMONOMORPHIC.
|
inlineprotected |
Definition at line 130 of file ic-inl.h.
References DCHECK, v8::internal::Code::extra_ic_state(), v8::internal::IC::extra_ic_state(), v8::internal::IC::set_target(), and v8::internal::IC::target().
Referenced by Load(), v8::internal::KeyedLoadIC::Load(), and UpdateCaches().
Definition at line 853 of file ic.cc.
References v8::internal::IC::isolate().
Referenced by CompileHandler().
Definition at line 365 of file ic.h.
References v8::internal::Isolate::builtins(), DCHECK_EQ, v8::internal::IC::isolate(), and v8::internal::IC::kind().
Referenced by CompileHandler(), and UpdateCaches().
|
protected |
Definition at line 859 of file ic.cc.
References v8::internal::IC::ComputeHandler(), v8::internal::NamedLoadHandlerCompiler::ComputeLoadNonexistent(), v8::internal::Handle< T >::is_null(), v8::internal::IC::kind(), v8::internal::IC::PatchCache(), pre_monomorphic_stub(), v8::internal::IC::receiver_type(), set_target(), slow_stub(), v8::internal::IC::state(), TRACE_IC, and v8::internal::UNINITIALIZED.
Referenced by Load().