v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <stub-cache.h>
Data Structures | |
struct | Entry |
Public Types | |
enum | Table { kPrimary, kSecondary } |
Friends | |
class | Isolate |
class | SCTableReference |
Definition at line 67 of file stub-cache.h.
enum Table |
Enumerator | |
---|---|
kPrimary | |
kSecondary |
Definition at line 280 of file stub-cache.h.
void Clear | ( | ) |
Definition at line 925 of file stub-cache.cc.
void CollectMatchingMaps | ( | SmallMapList * | types, |
String * | name, | ||
Code::Flags | flags, | ||
Handle< Context > | native_context, | ||
Zone * | zone | ||
) |
Definition at line 938 of file stub-cache.cc.
References SmallMapList::Add(), Code::FindFirstMap(), StubCache::Entry::key, NULL, and StubCache::Entry::value.
Handle< Code > ComputeCallArguments | ( | int | argc, |
Code::Kind | kind | ||
) |
Definition at line 829 of file stub-cache.cc.
References ASSERT, code(), v8::internal::MEGAMORPHIC, and v8::internal::NORMAL.
Referenced by KeyedCallIC::LoadFunction().
Handle< Code > ComputeCallConstant | ( | int | argc, |
Code::Kind | kind, | ||
Code::ExtraICState | extra_state, | ||
Handle< String > | name, | ||
Handle< Object > | object, | ||
Handle< JSObject > | holder, | ||
Handle< JSFunction > | function | ||
) |
Definition at line 588 of file stub-cache.cc.
References ASSERT_EQ, v8::internal::BOOLEAN_CHECK, CALL_LOGGER_TAG, check(), code(), CallStubCompiler::CompileCallConstant(), v8::internal::CONSTANT_FUNCTION, flags, GDBJIT, v8::internal::NUMBER_CHECK, PROFILE, v8::internal::RECEIVER_MAP_CHECK, and v8::internal::STRING_CHECK.
Referenced by CallICBase::ComputeMonomorphicStub().
Handle< Code > ComputeCallField | ( | int | argc, |
Code::Kind | kind, | ||
Code::ExtraICState | extra_state, | ||
Handle< String > | name, | ||
Handle< Object > | object, | ||
Handle< JSObject > | holder, | ||
int | index | ||
) |
Definition at line 629 of file stub-cache.cc.
References ASSERT_EQ, CALL_LOGGER_TAG, code(), CallStubCompiler::CompileCallField(), v8::internal::FIELD, flags, GDBJIT, and PROFILE.
Referenced by CallICBase::ComputeMonomorphicStub().
Handle< Code > ComputeCallGlobal | ( | int | argc, |
Code::Kind | kind, | ||
Code::ExtraICState | extra_state, | ||
Handle< String > | name, | ||
Handle< JSObject > | receiver, | ||
Handle< GlobalObject > | holder, | ||
Handle< JSGlobalPropertyCell > | cell, | ||
Handle< JSFunction > | function | ||
) |
Definition at line 704 of file stub-cache.cc.
References ASSERT_EQ, CALL_LOGGER_TAG, code(), CallStubCompiler::CompileCallGlobal(), flags, GDBJIT, v8::internal::NORMAL, and PROFILE.
Referenced by CallICBase::ComputeMonomorphicStub().
Definition at line 783 of file stub-cache.cc.
Handle< Code > ComputeCallInterceptor | ( | int | argc, |
Code::Kind | kind, | ||
Code::ExtraICState | extra_state, | ||
Handle< String > | name, | ||
Handle< Object > | object, | ||
Handle< JSObject > | holder | ||
) |
Definition at line 667 of file stub-cache.cc.
References ASSERT_EQ, CALL_LOGGER_TAG, code(), CallStubCompiler::CompileCallInterceptor(), flags, GDBJIT, v8::internal::INTERCEPTOR, and PROFILE.
Referenced by CallICBase::ComputeMonomorphicStub().
Handle< Code > ComputeCallMegamorphic | ( | int | argc, |
Code::Kind | kind, | ||
Code::ExtraICState | state | ||
) |
Definition at line 846 of file stub-cache.cc.
References code(), v8::internal::MEGAMORPHIC, and v8::internal::NORMAL.
Referenced by KeyedCallIC::LoadFunction(), and CallICBase::UpdateCaches().
Handle< Code > ComputeCallMiss | ( | int | argc, |
Code::Kind | kind, | ||
Code::ExtraICState | state | ||
) |
Definition at line 865 of file stub-cache.cc.
References code(), v8::internal::MONOMORPHIC_PROTOTYPE_FAILURE, v8::internal::NORMAL, and v8::internal::OWN_MAP.
Handle< Code > ComputeCallNormal | ( | int | argc, |
Code::Kind | kind, | ||
Code::ExtraICState | state | ||
) |
Definition at line 812 of file stub-cache.cc.
References code(), v8::internal::MONOMORPHIC, and v8::internal::NORMAL.
Referenced by CallICBase::ComputeMonomorphicStub().
Handle< Code > ComputeCallPreMonomorphic | ( | int | argc, |
Code::Kind | kind, | ||
Code::ExtraICState | extra_state | ||
) |
Definition at line 794 of file stub-cache.cc.
References code(), v8::internal::NORMAL, and v8::internal::PREMONOMORPHIC.
Referenced by CallICBase::UpdateCaches().
Definition at line 788 of file stub-cache.cc.
Definition at line 340 of file stub-cache.cc.
References v8::internal::CALLBACKS, code(), KeyedLoadStubCompiler::CompileLoadArrayLength(), flags, GDBJIT, and PROFILE.
Referenced by KeyedLoadIC::Load().
Handle< Code > ComputeKeyedLoadCallback | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder, | ||
Handle< AccessorInfo > | callback | ||
) |
Definition at line 319 of file stub-cache.cc.
References ASSERT, v8::internal::CALLBACKS, code(), KeyedLoadStubCompiler::CompileLoadCallback(), flags, GDBJIT, v8::internal::OWN_MAP, and PROFILE.
Handle< Code > ComputeKeyedLoadConstant | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder, | ||
Handle< JSFunction > | value | ||
) |
Definition at line 281 of file stub-cache.cc.
References ASSERT, code(), KeyedLoadStubCompiler::CompileLoadConstant(), v8::internal::CONSTANT_FUNCTION, flags, GDBJIT, v8::internal::OWN_MAP, and PROFILE.
Handle< Code > ComputeKeyedLoadField | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder, | ||
int | field_index | ||
) |
Definition at line 261 of file stub-cache.cc.
References ASSERT, code(), KeyedLoadStubCompiler::CompileLoadField(), v8::internal::FIELD, flags, GDBJIT, v8::internal::OWN_MAP, and PROFILE.
Handle< Code > ComputeKeyedLoadFunctionPrototype | ( | Handle< String > | name, |
Handle< JSFunction > | receiver | ||
) |
Definition at line 373 of file stub-cache.cc.
References v8::internal::CALLBACKS, code(), KeyedLoadStubCompiler::CompileLoadFunctionPrototype(), flags, GDBJIT, and PROFILE.
Referenced by KeyedLoadIC::Load().
Handle< Code > ComputeKeyedLoadInterceptor | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder | ||
) |
Definition at line 301 of file stub-cache.cc.
References ASSERT, code(), KeyedLoadStubCompiler::CompileLoadInterceptor(), flags, GDBJIT, v8::internal::INTERCEPTOR, v8::internal::OWN_MAP, and PROFILE.
Handle< Code > ComputeKeyedLoadOrStoreElement | ( | Handle< Map > | receiver_map, |
KeyedIC::StubKind | stub_kind, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 412 of file stub-cache.cc.
References v8::internal::ALLOW_JSARRAY_GROWTH, ASSERT, code(), KeyedLoadStubCompiler::CompileLoadElement(), KeyedStoreStubCompiler::CompileStoreElement(), v8::internal::DO_NOT_ALLOW_JSARRAY_GROWTH, flags, Handle< T >::is_null(), v8::internal::NORMAL, PROFILE, and UNREACHABLE.
Definition at line 356 of file stub-cache.cc.
References v8::internal::CALLBACKS, code(), KeyedLoadStubCompiler::CompileLoadStringLength(), flags, GDBJIT, and PROFILE.
Referenced by KeyedLoadIC::Load().
Handle< Code > ComputeKeyedStoreField | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
int | field_index, | ||
Handle< Map > | transition, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 562 of file stub-cache.cc.
References code(), KeyedStoreStubCompiler::CompileStoreField(), v8::internal::DO_NOT_ALLOW_JSARRAY_GROWTH, v8::internal::FIELD, flags, GDBJIT, Handle< T >::is_null(), and PROFILE.
Handle< Code > ComputeLoadCallback | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder, | ||
Handle< AccessorInfo > | callback | ||
) |
Definition at line 155 of file stub-cache.cc.
References ASSERT, v8::internal::CALLBACKS, code(), LoadStubCompiler::CompileLoadCallback(), flags, GDBJIT, v8::internal::OWN_MAP, and PROFILE.
Handle< Code > ComputeLoadConstant | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder, | ||
Handle< JSFunction > | value | ||
) |
Definition at line 196 of file stub-cache.cc.
References ASSERT, code(), LoadStubCompiler::CompileLoadConstant(), v8::internal::CONSTANT_FUNCTION, flags, GDBJIT, v8::internal::OWN_MAP, and PROFILE.
Handle< Code > ComputeLoadField | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder, | ||
int | field_index | ||
) |
Definition at line 136 of file stub-cache.cc.
References ASSERT, code(), LoadStubCompiler::CompileLoadField(), v8::internal::FIELD, flags, GDBJIT, v8::internal::OWN_MAP, and PROFILE.
Handle< Code > ComputeLoadGlobal | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< GlobalObject > | holder, | ||
Handle< JSGlobalPropertyCell > | cell, | ||
bool | is_dont_delete | ||
) |
Definition at line 240 of file stub-cache.cc.
References ASSERT, code(), LoadStubCompiler::CompileLoadGlobal(), flags, GDBJIT, v8::internal::NORMAL, v8::internal::OWN_MAP, and PROFILE.
Handle< Code > ComputeLoadInterceptor | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder | ||
) |
Definition at line 216 of file stub-cache.cc.
References ASSERT, code(), LoadStubCompiler::CompileLoadInterceptor(), flags, GDBJIT, v8::internal::INTERCEPTOR, v8::internal::OWN_MAP, and PROFILE.
Definition at line 103 of file stub-cache.cc.
References ASSERT, code(), LoadStubCompiler::CompileLoadNonexistent(), flags, GDBJIT, v8::internal::NONEXISTENT, and PROFILE.
Definition at line 235 of file stub-cache.cc.
Handle< Code > ComputeLoadViaGetter | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder, | ||
Handle< JSFunction > | getter | ||
) |
Definition at line 176 of file stub-cache.cc.
References ASSERT, v8::internal::CALLBACKS, code(), LoadStubCompiler::CompileLoadViaGetter(), flags, GDBJIT, v8::internal::OWN_MAP, and PROFILE.
Handle< Code > ComputeStoreCallback | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder, | ||
Handle< AccessorInfo > | callback, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 505 of file stub-cache.cc.
References ASSERT, v8::internal::CALLBACKS, code(), StoreStubCompiler::CompileStoreCallback(), flags, GDBJIT, and PROFILE.
Handle< Code > ComputeStoreField | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
int | field_index, | ||
Handle< Map > | transition, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 390 of file stub-cache.cc.
References code(), StoreStubCompiler::CompileStoreField(), v8::internal::FIELD, flags, GDBJIT, Handle< T >::is_null(), and PROFILE.
Handle< Code > ComputeStoreGlobal | ( | Handle< String > | name, |
Handle< GlobalObject > | receiver, | ||
Handle< JSGlobalPropertyCell > | cell, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 487 of file stub-cache.cc.
References code(), StoreStubCompiler::CompileStoreGlobal(), flags, GDBJIT, v8::internal::NORMAL, and PROFILE.
Handle< Code > ComputeStoreInterceptor | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 546 of file stub-cache.cc.
References code(), StoreStubCompiler::CompileStoreInterceptor(), flags, GDBJIT, v8::internal::INTERCEPTOR, and PROFILE.
Handle< Code > ComputeStoreNormal | ( | StrictModeFlag | strict_mode | ) |
Definition at line 480 of file stub-cache.cc.
References v8::internal::kStrictMode.
Handle< Code > ComputeStoreViaSetter | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder, | ||
Handle< JSFunction > | setter, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 526 of file stub-cache.cc.
References v8::internal::CALLBACKS, code(), StoreStubCompiler::CompileStoreViaSetter(), flags, GDBJIT, and PROFILE.
|
inline |
Definition at line 315 of file stub-cache.h.
References Isolate::factory(), and StubCache::isolate().
Code * FindCallInitialize | ( | int | argc, |
RelocInfo::Mode | mode, | ||
Code::Kind | kind | ||
) |
Definition at line 742 of file stub-cache.cc.
References ASSERT, code(), v8::internal::DEFAULT_STRING_STUB, HashTable< Shape, Key >::FindEntry(), flags, Isolate::heap(), v8::internal::NORMAL, v8::internal::UNINITIALIZED, and Dictionary< Shape, Key >::ValueAt().
|
inline |
Definition at line 304 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 314 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 313 of file stub-cache.h.
Referenced by StubCache::factory(), and StubCache::heap().
|
inline |
Definition at line 286 of file stub-cache.h.
References StubCache::first_entry(), and StubCache::SCTableReference.
|
inline |
Definition at line 292 of file stub-cache.h.
References StubCache::first_entry(), and StubCache::SCTableReference.
Definition at line 59 of file stub-cache.cc.
References ASSERT, code(), flags, Code::flags(), StubCache::Entry::key, StubCache::Entry::map, v8::internal::MONOMORPHIC, seed, STATIC_ASSERT, and StubCache::Entry::value.
Referenced by CallICBase::UpdateCaches().
|
inline |
Definition at line 298 of file stub-cache.h.
References StubCache::first_entry(), and StubCache::SCTableReference.
|
friend |
Definition at line 392 of file stub-cache.h.
|
friend |
Definition at line 393 of file stub-cache.h.
Referenced by StubCache::key_reference(), StubCache::map_reference(), and StubCache::value_reference().