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.