V8 Project
|
#include <ic-compiler.h>
Static Private Member Functions | |
static Handle< Code > | Find (Handle< Name > name, Handle< Map > stub_holder_map, Code::Kind kind, ExtraICState extra_ic_state=kNoExtraICState, CacheHolderFlag cache_holder=kCacheOnReceiver) |
Private Attributes | |
const ExtraICState | extra_ic_state_ |
Definition at line 17 of file ic-compiler.h.
|
inlineprivate |
Definition at line 62 of file ic-compiler.h.
|
private |
Definition at line 423 of file ic-compiler.cc.
References __, v8::internal::DO_SMI_CHECK, GetCode(), v8::internal::JS_ARRAY_TYPE, and v8::internal::Code::NORMAL.
Referenced by ComputeKeyedStoreMonomorphic().
|
private |
|
private |
Definition at line 372 of file ic-compiler.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::List< T, AllocationPolicy >::at(), DCHECK, v8::internal::FIRST_JS_RECEIVER_TYPE, v8::internal::Handle< T >::is_null(), v8::internal::JS_ARRAY_TYPE, log_kind(), and PROFILE.
Referenced by ComputeKeyedStorePolymorphic().
|
private |
Definition at line 308 of file ic-compiler.cc.
References v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::LoadIC::GenerateInitialize(), and PROFILE.
Referenced by ComputeLoad().
|
private |
Definition at line 316 of file ic-compiler.cc.
References v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::LoadIC::GeneratePreMonomorphic(), and PROFILE.
Referenced by ComputeLoad().
|
private |
Definition at line 36 of file ic-compiler.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), CompilePolymorphic(), and name.
Referenced by ComputeKeyedLoadMonomorphic(), and ComputeMonomorphic().
|
private |
Referenced by CompileMonomorphic(), ComputeKeyedLoadPolymorphic(), and ComputePolymorphic().
|
private |
Definition at line 342 of file ic-compiler.cc.
References v8::internal::Code::ExtractExtraICStateFromFlags(), v8::internal::anonymous_namespace{flags.cc}::flags, GenerateRuntimeSetProperty(), v8::internal::StoreIC::GetStrictMode(), and PROFILE.
Referenced by ComputeStore().
|
private |
Definition at line 325 of file ic-compiler.cc.
References v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::StoreIC::GenerateInitialize(), and PROFILE.
Referenced by ComputeStore().
|
private |
Definition at line 352 of file ic-compiler.cc.
References v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::StoreIC::GenerateMegamorphic(), and PROFILE.
Referenced by ComputeStore().
|
private |
Definition at line 333 of file ic-compiler.cc.
References v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::StoreIC::GeneratePreMonomorphic(), and PROFILE.
Referenced by ComputeStore().
|
static |
Definition at line 221 of file ic-compiler.cc.
References v8::internal::Code::FindAndReplacePattern::Add(), v8::internal::Isolate::factory(), Find(), v8::internal::CompareNilICStub::GetExtraICState(), v8::internal::Isolate::heap(), v8::internal::Handle< T >::is_null(), name, and v8::internal::Map::UpdateCodeCache().
Referenced by v8::internal::CompareNilIC::CompareNil().
|
static |
Definition at line 86 of file ic-compiler.cc.
References v8::internal::Handle< T >::cast(), v8::internal::TypeImpl< Config >::Class(), CompileMonomorphic(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::ELEMENT, v8::internal::Isolate::factory(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::JS_ARRAY_TYPE, name, and v8::internal::Map::UpdateCodeCache().
Referenced by v8::internal::KeyedLoadIC::LoadElementStub().
|
static |
Definition at line 244 of file ic-compiler.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::List< T, AllocationPolicy >::at(), v8::internal::Handle< T >::cast(), v8::internal::TypeImpl< Config >::Class(), v8::internal::ElementHandlerCompiler::CompileElementHandlers(), CompilePolymorphic(), v8::internal::Code::ComputeFlags(), v8::internal::Isolate::counters(), v8::internal::ELEMENT, v8::internal::Isolate::factory(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::Code::NORMAL, v8::internal::POLYMORPHIC, and v8::internal::PolymorphicCodeCache::Update().
Referenced by v8::internal::KeyedLoadIC::LoadElementStub().
|
static |
Definition at line 120 of file ic-compiler.cc.
References v8::internal::Handle< T >::cast(), CompileKeyedStoreMonomorphic(), v8::internal::KeyedStoreIC::ComputeExtraICState(), v8::internal::Code::ComputeMonomorphicFlags(), DCHECK, v8::internal::Isolate::factory(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::KeyedStoreIC::GetKeyedAccessStoreMode(), name, v8::internal::STANDARD_STORE, v8::internal::STORE_AND_GROW_NO_TRANSITION, v8::internal::STORE_NO_TRANSITION_HANDLE_COW, v8::internal::STORE_NO_TRANSITION_IGNORE_OUT_OF_BOUNDS, and v8::internal::Map::UpdateCodeCache().
Referenced by v8::internal::KeyedStoreIC::StoreElementStub().
|
static |
Definition at line 283 of file ic-compiler.cc.
References v8::internal::List< T, AllocationPolicy >::at(), v8::internal::Handle< T >::cast(), CompileKeyedStorePolymorphic(), v8::internal::KeyedStoreIC::ComputeExtraICState(), v8::internal::Code::ComputeFlags(), DCHECK, v8::internal::Isolate::factory(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::POLYMORPHIC, v8::internal::STANDARD_STORE, v8::internal::STORE_AND_GROW_NO_TRANSITION, v8::internal::STORE_NO_TRANSITION_HANDLE_COW, v8::internal::STORE_NO_TRANSITION_IGNORE_OUT_OF_BOUNDS, and v8::internal::PolymorphicCodeCache::Update().
Referenced by v8::internal::KeyedStoreIC::StoreElementStub().
|
static |
Definition at line 170 of file ic-compiler.cc.
References CompileLoadInitialize(), CompileLoadPreMonomorphic(), v8::internal::Code::ComputeFlags(), v8::internal::Isolate::factory(), v8::internal::FillCache(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::PREMONOMORPHIC, v8::internal::UNINITIALIZED, and UNREACHABLE.
Referenced by v8::internal::LoadIC::initialize_stub(), and v8::internal::LoadIC::pre_monomorphic_stub().
|
static |
Definition at line 49 of file ic-compiler.cc.
References v8::internal::Isolate::builtins(), CompileMonomorphic(), DCHECK, v8::internal::Isolate::factory(), Find(), v8::internal::flag, v8::internal::IC::GetICCacheHolder(), v8::internal::KeyedStoreIC::GetKeyedAccessStoreMode(), v8::internal::Handle< T >::is_null(), name, v8::internal::PROPERTY, v8::internal::STANDARD_STORE, and v8::internal::Map::UpdateCodeCache().
Referenced by v8::internal::IC::UpdateMonomorphicIC(), and v8::internal::IC::UpdatePolymorphicIC().
|
static |
Definition at line 272 of file ic-compiler.cc.
References v8::internal::List< T, AllocationPolicy >::at(), CompilePolymorphic(), DCHECK, name, v8::internal::Code::NORMAL, and v8::internal::PROPERTY.
Referenced by v8::internal::IC::UpdatePolymorphicIC().
|
static |
Definition at line 193 of file ic-compiler.cc.
References CompileStoreGeneric(), CompileStoreInitialize(), CompileStoreMegamorphic(), CompileStorePreMonomorphic(), v8::internal::Code::ComputeFlags(), v8::internal::Isolate::factory(), v8::internal::FillCache(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::GENERIC, v8::internal::MEGAMORPHIC, v8::internal::PREMONOMORPHIC, v8::internal::UNINITIALIZED, and UNREACHABLE.
Referenced by v8::internal::StoreIC::generic_stub(), v8::internal::StoreIC::initialize_stub(), v8::internal::StoreIC::megamorphic_stub(), and v8::internal::StoreIC::pre_monomorphic_stub().
|
staticprivate |
Definition at line 16 of file ic-compiler.cc.
References v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::handle(), name, and v8::internal::Handle< T >::null().
Referenced by ComputeCompareNil(), and ComputeMonomorphic().
|
static |
Definition at line 149 of file ic-compiler.cc.
References v8::internal::Code::ComputeFlags(), DCHECK, v8::internal::HashTable< Derived, Shape, Key >::FindEntry(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::Isolate::heap(), v8::internal::PREMONOMORPHIC, and v8::internal::Dictionary< Derived, Shape, Key >::ValueAt().
Referenced by v8::internal::LoadIC::Clear(), and v8::internal::StoreIC::Clear().
|
static |
|
private |
Definition at line 360 of file ic-compiler.cc.
References v8::internal::Code::ComputeFlags(), extra_ic_state_, v8::internal::anonymous_namespace{flags.cc}::flags, log_kind(), name, PROFILE, and v8::internal::IC::RegisterWeakMapDependency().
Referenced by CompileKeyedStoreMonomorphic().
|
private |
Definition at line 28 of file ic-compiler.cc.
References v8::internal::List< T, AllocationPolicy >::at().
|
inlineprivate |
Definition at line 99 of file ic-compiler.h.
References DCHECK_EQ, and v8::internal::MONOMORPHIC.
Referenced by CompileKeyedStorePolymorphic(), and GetCode().
|
private |
Definition at line 118 of file ic-compiler.h.
Referenced by GetCode().