![]() |
v8
3.11.10(node0.8.26)
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 277 of file stub-cache.h.
void Clear | ( | ) |
Definition at line 914 of file stub-cache.cc.
void CollectMatchingMaps | ( | SmallMapList * | types, |
String * | name, | ||
Code::Flags | flags, | ||
Handle< Context > | global_context | ||
) |
Definition at line 927 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 818 of file stub-cache.cc.
References ASSERT, 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 577 of file stub-cache.cc.
References ASSERT_EQ, v8::internal::BOOLEAN_CHECK, CALL_LOGGER_TAG, check(), CallStubCompiler::CompileCallConstant(), v8::internal::CONSTANT_FUNCTION, v8::internal::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 618 of file stub-cache.cc.
References ASSERT_EQ, CALL_LOGGER_TAG, CallStubCompiler::CompileCallField(), v8::internal::FIELD, v8::internal::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 693 of file stub-cache.cc.
References ASSERT_EQ, CALL_LOGGER_TAG, CallStubCompiler::CompileCallGlobal(), v8::internal::flags, GDBJIT, v8::internal::NORMAL, and PROFILE.
Referenced by CallICBase::ComputeMonomorphicStub().
Definition at line 772 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 656 of file stub-cache.cc.
References ASSERT_EQ, CALL_LOGGER_TAG, CallStubCompiler::CompileCallInterceptor(), v8::internal::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 835 of file stub-cache.cc.
References 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 854 of file stub-cache.cc.
References 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 801 of file stub-cache.cc.
References 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 783 of file stub-cache.cc.
References v8::internal::NORMAL, and v8::internal::PREMONOMORPHIC.
Referenced by CallICBase::UpdateCaches().
Definition at line 777 of file stub-cache.cc.
Definition at line 335 of file stub-cache.cc.
References v8::internal::CALLBACKS, KeyedLoadStubCompiler::CompileLoadArrayLength(), v8::internal::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 314 of file stub-cache.cc.
References ASSERT, v8::internal::CALLBACKS, KeyedLoadStubCompiler::CompileLoadCallback(), v8::internal::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 276 of file stub-cache.cc.
References ASSERT, KeyedLoadStubCompiler::CompileLoadConstant(), v8::internal::CONSTANT_FUNCTION, v8::internal::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 257 of file stub-cache.cc.
References ASSERT, KeyedLoadStubCompiler::CompileLoadField(), v8::internal::FIELD, v8::internal::flags, GDBJIT, v8::internal::OWN_MAP, and PROFILE.
Handle< Code > ComputeKeyedLoadFunctionPrototype | ( | Handle< String > | name, |
Handle< JSFunction > | receiver | ||
) |
Definition at line 368 of file stub-cache.cc.
References v8::internal::CALLBACKS, KeyedLoadStubCompiler::CompileLoadFunctionPrototype(), v8::internal::flags, GDBJIT, and PROFILE.
Referenced by KeyedLoadIC::Load().
Handle< Code > ComputeKeyedLoadInterceptor | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder | ||
) |
Definition at line 296 of file stub-cache.cc.
References ASSERT, KeyedLoadStubCompiler::CompileLoadInterceptor(), v8::internal::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 406 of file stub-cache.cc.
References v8::internal::ALLOW_JSARRAY_GROWTH, ASSERT, KeyedLoadStubCompiler::CompileLoadElement(), KeyedStoreStubCompiler::CompileStoreElement(), v8::internal::DO_NOT_ALLOW_JSARRAY_GROWTH, v8::internal::flags, Handle< T >::is_null(), v8::internal::NORMAL, PROFILE, and UNREACHABLE.
Definition at line 351 of file stub-cache.cc.
References v8::internal::CALLBACKS, KeyedLoadStubCompiler::CompileLoadStringLength(), v8::internal::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 552 of file stub-cache.cc.
References KeyedStoreStubCompiler::CompileStoreField(), v8::internal::DO_NOT_ALLOW_JSARRAY_GROWTH, v8::internal::FIELD, v8::internal::flags, GDBJIT, Handle< T >::is_null(), v8::internal::MAP_TRANSITION, PROFILE, and v8::internal::type().
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, LoadStubCompiler::CompileLoadCallback(), v8::internal::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 194 of file stub-cache.cc.
References ASSERT, LoadStubCompiler::CompileLoadConstant(), v8::internal::CONSTANT_FUNCTION, v8::internal::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, LoadStubCompiler::CompileLoadField(), v8::internal::FIELD, v8::internal::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 237 of file stub-cache.cc.
References ASSERT, LoadStubCompiler::CompileLoadGlobal(), v8::internal::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 214 of file stub-cache.cc.
References ASSERT, LoadStubCompiler::CompileLoadInterceptor(), v8::internal::flags, GDBJIT, v8::internal::INTERCEPTOR, v8::internal::OWN_MAP, and PROFILE.
Definition at line 103 of file stub-cache.cc.
References ASSERT, LoadStubCompiler::CompileLoadNonexistent(), v8::internal::flags, GDBJIT, v8::internal::NONEXISTENT, and PROFILE.
Definition at line 232 of file stub-cache.cc.
Handle< Code > ComputeLoadViaGetter | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSObject > | holder, | ||
Handle< JSFunction > | getter | ||
) |
Definition at line 175 of file stub-cache.cc.
References ASSERT, v8::internal::CALLBACKS, LoadStubCompiler::CompileLoadViaGetter(), v8::internal::flags, GDBJIT, v8::internal::OWN_MAP, and PROFILE.
Handle< Code > ComputeStoreCallback | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< AccessorInfo > | callback, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 499 of file stub-cache.cc.
References ASSERT, v8::internal::CALLBACKS, StoreStubCompiler::CompileStoreCallback(), v8::internal::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 385 of file stub-cache.cc.
References StoreStubCompiler::CompileStoreField(), v8::internal::FIELD, v8::internal::flags, GDBJIT, Handle< T >::is_null(), v8::internal::MAP_TRANSITION, PROFILE, and v8::internal::type().
Handle< Code > ComputeStoreGlobal | ( | Handle< String > | name, |
Handle< GlobalObject > | receiver, | ||
Handle< JSGlobalPropertyCell > | cell, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 481 of file stub-cache.cc.
References StoreStubCompiler::CompileStoreGlobal(), v8::internal::flags, GDBJIT, v8::internal::NORMAL, and PROFILE.
Handle< Code > ComputeStoreInterceptor | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 536 of file stub-cache.cc.
References StoreStubCompiler::CompileStoreInterceptor(), v8::internal::flags, GDBJIT, v8::internal::INTERCEPTOR, and PROFILE.
Handle< Code > ComputeStoreNormal | ( | StrictModeFlag | strict_mode | ) |
Definition at line 474 of file stub-cache.cc.
References v8::internal::kStrictMode.
Handle< Code > ComputeStoreViaSetter | ( | Handle< String > | name, |
Handle< JSObject > | receiver, | ||
Handle< JSFunction > | setter, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 518 of file stub-cache.cc.
References v8::internal::CALLBACKS, StoreStubCompiler::CompileStoreViaSetter(), v8::internal::flags, GDBJIT, and PROFILE.
|
inline |
Definition at line 312 of file stub-cache.h.
References Isolate::factory(), and StubCache::isolate().
Code * FindCallInitialize | ( | int | argc, |
RelocInfo::Mode | mode, | ||
Code::Kind | kind | ||
) |
Definition at line 731 of file stub-cache.cc.
References ASSERT, v8::internal::DEFAULT_STRING_STUB, HashTable< Shape, Key >::FindEntry(), v8::internal::flags, Isolate::heap(), v8::internal::NORMAL, v8::internal::UNINITIALIZED, and Dictionary< Shape, Key >::ValueAt().
|
inline |
Definition at line 301 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 311 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 310 of file stub-cache.h.
Referenced by StubCache::factory(), and StubCache::heap().
|
inline |
Definition at line 283 of file stub-cache.h.
References StubCache::first_entry(), and StubCache::SCTableReference.
|
inline |
Definition at line 289 of file stub-cache.h.
References StubCache::first_entry(), and StubCache::SCTableReference.
Definition at line 59 of file stub-cache.cc.
References ASSERT, v8::internal::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 295 of file stub-cache.h.
References StubCache::first_entry(), and StubCache::SCTableReference.
|
inline |
Definition at line 313 of file stub-cache.h.
|
friend |
Definition at line 391 of file stub-cache.h.
|
friend |
Definition at line 392 of file stub-cache.h.
Referenced by StubCache::key_reference(), StubCache::map_reference(), and StubCache::value_reference().