![]() |
v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <stub-cache.h>
Data Structures | |
| struct | Entry |
Public Types | |
| enum | Table { kPrimary, kSecondary } |
Static Public Attributes | |
| static const int | kInterceptorArgsNameIndex = 0 |
| static const int | kInterceptorArgsInfoIndex = 1 |
| static const int | kInterceptorArgsThisIndex = 2 |
| static const int | kInterceptorArgsHolderIndex = 3 |
| static const int | kInterceptorArgsLength = 4 |
Friends | |
| class | Isolate |
| class | SCTableReference |
Definition at line 70 of file stub-cache.h.
| enum Table |
| Enumerator | |
|---|---|
| kPrimary | |
| kSecondary | |
Definition at line 162 of file stub-cache.h.
| void Clear | ( | ) |
Definition at line 421 of file stub-cache.cc.
References HeapObject::map(), and NULL.
| void CollectMatchingMaps | ( | SmallMapList * | types, |
| Handle< Name > | name, | ||
| Code::Flags | flags, | ||
| Handle< Context > | native_context, | ||
| Zone * | zone | ||
| ) |
Definition at line 436 of file stub-cache.cc.
| Handle< Code > ComputeCompareNil | ( | Handle< Map > | receiver_map, |
| CompareNilICStub & | stub | ||
| ) |
Definition at line 327 of file stub-cache.cc.
References Code::FindAndReplacePattern::Add(), CompareNilICStub::GetExtraICState(), Handle< T >::is_null(), and name.
Referenced by CompareNilIC::CompareNil().
Definition at line 207 of file stub-cache.cc.
References code(), KeyedLoadStubCompiler::CompileLoadElement(), flags, and name.
Referenced by KeyedLoadIC::LoadElementStub().
| Handle< Code > ComputeKeyedStoreElement | ( | Handle< Map > | receiver_map, |
| StrictMode | strict_mode, | ||
| KeyedAccessStoreMode | store_mode | ||
| ) |
Definition at line 223 of file stub-cache.cc.
References ASSERT, code(), KeyedStoreStubCompiler::CompileStoreElement(), flags, name, v8::internal::STANDARD_STORE, v8::internal::STORE_AND_GROW_NO_TRANSITION, v8::internal::STORE_NO_TRANSITION_HANDLE_COW, and v8::internal::STORE_NO_TRANSITION_IGNORE_OUT_OF_BOUNDS.
Referenced by KeyedStoreIC::StoreElementStub().
| Handle< Code > ComputeLoad | ( | InlineCacheState | ic_state, |
| ExtraICState | extra_state | ||
| ) |
Definition at line 276 of file stub-cache.cc.
References code(), flags, v8::internal::MEGAMORPHIC, v8::internal::PREMONOMORPHIC, v8::internal::UNINITIALIZED, and UNREACHABLE.
Referenced by LoadIC::initialize_stub(), and LoadIC::megamorphic_stub().
| Handle< Code > ComputeLoadElementPolymorphic | ( | MapHandleList * | receiver_maps | ) |
Definition at line 349 of file stub-cache.cc.
References List< T, P >::Add(), List< T, P >::at(), code(), v8::internal::ELEMENT, flags, v8::internal::NORMAL, and v8::internal::POLYMORPHIC.
Referenced by KeyedLoadIC::LoadElementStub().
Definition at line 171 of file stub-cache.cc.
References LoadStubCompiler::CompileLoadNonexistent(), v8::internal::flag, v8::internal::handle(), Handle< T >::is_null(), and map.
Referenced by LoadIC::UpdateCaches().
| Handle< Code > ComputeMonomorphicIC | ( | Code::Kind | kind, |
| Handle< Name > | name, | ||
| Handle< HeapType > | type, | ||
| Handle< Code > | handler, | ||
| ExtraICState | extra_ic_state | ||
| ) |
Definition at line 129 of file stub-cache.cc.
References ASSERT, BaseLoadStoreStubCompiler::CompileMonomorphicIC(), v8::internal::flag, Handle< T >::is_null(), and v8::internal::STANDARD_STORE.
Referenced by IC::UpdateMonomorphicIC().
| Handle< Code > ComputePolymorphicIC | ( | Code::Kind | kind, |
| TypeHandleList * | types, | ||
| CodeHandleList * | handlers, | ||
| int | number_of_valid_maps, | ||
| Handle< Name > | name, | ||
| ExtraICState | extra_ic_state | ||
| ) |
Definition at line 374 of file stub-cache.cc.
References ASSERT, List< T, P >::at(), BaseLoadStoreStubCompiler::CompilePolymorphicIC(), v8::internal::NORMAL, and v8::internal::PROPERTY.
Referenced by IC::UpdatePolymorphicIC().
| Handle< Code > ComputeStore | ( | InlineCacheState | ic_state, |
| ExtraICState | extra_state | ||
| ) |
Definition at line 300 of file stub-cache.cc.
References code(), flags, v8::internal::GENERIC, v8::internal::MEGAMORPHIC, v8::internal::PREMONOMORPHIC, v8::internal::UNINITIALIZED, and UNREACHABLE.
Referenced by StoreIC::generic_stub(), StoreIC::initialize_stub(), StoreIC::megamorphic_stub(), and StoreIC::pre_monomorphic_stub().
| Handle< Code > ComputeStoreElementPolymorphic | ( | MapHandleList * | receiver_maps, |
| KeyedAccessStoreMode | store_mode, | ||
| StrictMode | strict_mode | ||
| ) |
Definition at line 397 of file stub-cache.cc.
References ASSERT, code(), KeyedStoreStubCompiler::CompileStoreElementPolymorphic(), flags, v8::internal::POLYMORPHIC, v8::internal::STANDARD_STORE, v8::internal::STORE_AND_GROW_NO_TRANSITION, v8::internal::STORE_NO_TRANSITION_HANDLE_COW, and v8::internal::STORE_NO_TRANSITION_IGNORE_OUT_OF_BOUNDS.
Referenced by KeyedStoreIC::StoreElementStub().
|
inline |
Definition at line 197 of file stub-cache.h.
References Isolate::factory(), and StubCache::isolate().
| Handle< Code > FindHandler | ( | Handle< Name > | name, |
| Handle< Map > | map, | ||
| Code::Kind | kind, | ||
| InlineCacheHolderFlag | cache_holder, | ||
| Code::StubType | type | ||
| ) |
| Handle< Code > FindIC | ( | Handle< Name > | name, |
| Handle< Map > | stub_holder_map, | ||
| Code::Kind | kind, | ||
| ExtraICState | extra_state = kNoExtraICState, |
||
| InlineCacheHolderFlag | cache_holder = OWN_MAP |
||
| ) |
Definition at line 103 of file stub-cache.cc.
References flags.
| Code * FindPreMonomorphicIC | ( | Code::Kind | kind, |
| ExtraICState | extra_ic_state | ||
| ) |
Definition at line 263 of file stub-cache.cc.
References ASSERT, code(), HashTable< Shape, Key >::FindEntry(), flags, v8::internal::PREMONOMORPHIC, and Dictionary< Shape, Key >::ValueAt().
|
inline |
Definition at line 186 of file stub-cache.h.
References StubCache::kPrimary, StubCache::kSecondary, v8::internal::NULL, and UNREACHABLE.
Referenced by StubCache::key_reference(), StubCache::map_reference(), and StubCache::value_reference().
| void GenerateProbe | ( | MacroAssembler * | masm, |
| Code::Flags | flags, | ||
| Register | receiver, | ||
| Register | name, | ||
| Register | scratch, | ||
| Register | extra, | ||
| Register | extra2 = no_reg, |
||
| Register | extra3 = no_reg |
||
| ) |
|
inline |
Definition at line 196 of file stub-cache.h.
References Isolate::heap(), and StubCache::isolate().
| void Initialize | ( | ) |
Definition at line 52 of file stub-cache.cc.
References ASSERT, and v8::internal::IsPowerOf2().
|
inline |
Definition at line 195 of file stub-cache.h.
Referenced by StubCache::factory(), and StubCache::heap().
|
inline |
Definition at line 168 of file stub-cache.h.
References StubCache::first_entry(), and StubCache::SCTableReference.
|
inline |
Definition at line 174 of file stub-cache.h.
References StubCache::first_entry(), v8::internal::map, and StubCache::SCTableReference.
Definition at line 59 of file stub-cache.cc.
References ASSERT, code(), flags, Code::flags(), StubCache::Entry::key, StubCache::Entry::map, map, v8::internal::MONOMORPHIC, name, STATIC_ASSERT, and StubCache::Entry::value.
Referenced by IC::UpdateMegamorphicCache().
|
inline |
Definition at line 180 of file stub-cache.h.
References StubCache::first_entry(), and StubCache::SCTableReference.
|
friend |
Definition at line 280 of file stub-cache.h.
|
friend |
Definition at line 281 of file stub-cache.h.
Referenced by StubCache::key_reference(), StubCache::map_reference(), and StubCache::value_reference().
|
static |
Definition at line 206 of file stub-cache.h.
|
static |
Definition at line 204 of file stub-cache.h.
|
static |
Definition at line 207 of file stub-cache.h.
|
static |
Definition at line 203 of file stub-cache.h.
|
static |
Definition at line 205 of file stub-cache.h.