#include <stub-cache.h>
v8::internal::AllStaticを継承しています。
構成 | |
struct | Entry |
Public 型 | |
enum | Table { kPrimary, kSecondary } |
Static Public メソッド | |
static void | Initialize (bool create_heap_objects) |
static Object * | ComputeLoadField (String *name, JSObject *receiver, JSObject *holder, int field_index) |
static Object * | ComputeLoadCallback (String *name, JSObject *receiver, JSObject *holder, AccessorInfo *callback) |
static Object * | ComputeLoadConstant (String *name, JSObject *receiver, JSObject *holder, Object *value) |
static Object * | ComputeLoadInterceptor (String *name, JSObject *receiver, JSObject *holder) |
static Object * | ComputeLoadNormal (String *name, JSObject *receiver) |
static Object * | ComputeKeyedLoadField (String *name, JSObject *receiver, JSObject *holder, int field_index) |
static Object * | ComputeKeyedLoadCallback (String *name, JSObject *receiver, JSObject *holder, AccessorInfo *callback) |
static Object * | ComputeKeyedLoadConstant (String *name, JSObject *receiver, JSObject *holder, Object *value) |
static Object * | ComputeKeyedLoadInterceptor (String *name, JSObject *receiver, JSObject *holder) |
static Object * | ComputeKeyedLoadArrayLength (String *name, JSArray *receiver) |
static Object * | ComputeKeyedLoadStringLength (String *name, String *receiver) |
static Object * | ComputeKeyedLoadFunctionPrototype (String *name, JSFunction *receiver) |
static Object * | ComputeStoreField (String *name, JSObject *receiver, int field_index, Map *transition=NULL) |
static Object * | ComputeStoreCallback (String *name, JSObject *receiver, AccessorInfo *callback) |
static Object * | ComputeStoreInterceptor (String *name, JSObject *receiver) |
static Object * | ComputeKeyedStoreField (String *name, JSObject *receiver, int field_index, Map *transition=NULL) |
static Object * | ComputeCallField (int argc, String *name, Object *object, JSObject *holder, int index) |
static Object * | ComputeCallConstant (int argc, String *name, Object *object, JSObject *holder, JSFunction *function) |
static Object * | ComputeCallNormal (int argc, String *name, JSObject *receiver) |
static Object * | ComputeCallInterceptor (int argc, String *name, Object *object, JSObject *holder) |
static Object * | ComputeCallInitialize (int argc) |
static Object * | ComputeCallPreMonomorphic (int argc) |
static Object * | ComputeCallNormal (int argc) |
static Object * | ComputeCallMegamorphic (int argc) |
static Object * | ComputeCallMiss (int argc) |
static Code * | FindCallInitialize (int argc) |
static Object * | ComputeCallDebugBreak (int argc) |
static Object * | ComputeCallDebugPrepareStepIn (int argc) |
static Object * | ComputeLazyCompile (int argc) |
static Code * | Set (String *name, Map *map, Code *code) |
static void | Clear () |
static void | GenerateMiss (MacroAssembler *masm) |
static void | GenerateProbe (MacroAssembler *masm, Code::Flags flags, Register receiver, Register name, Register scratch) |
Static Private メソッド | |
static int | PrimaryOffset (String *name, Code::Flags flags, Map *map) |
static int | SecondaryOffset (String *name, Code::Flags flags, int seed) |
static Entry * | entry (Entry *table, int offset) |
Static Private 変数 | |
static const int | kPrimaryTableSize = 2048 |
static const int | kSecondaryTableSize = 512 |
static Entry | primary_ [] |
static Entry | secondary_ [] |
フレンド | |
class | SCTableReference |
stub-cache.h の 46 行で定義されています。
stub-cache.h の 181 行で定義されています。
void v8::internal::StubCache::Clear | ( | ) | [static] |
stub-cache.cc の 622 行で定義されています。
参照先 v8::internal::Builtins::builtin(), v8::internal::StubCache::Entry::key, kPrimaryTableSize, kSecondaryTableSize, primary_, secondary_, と v8::internal::StubCache::Entry::value.
参照元 v8::internal::MarkCompactCollector::Finish(), v8::internal::V8::Initialize(), と Initialize().
Object * v8::internal::StubCache::ComputeCallConstant | ( | int | argc, | |
String * | name, | |||
Object * | object, | |||
JSObject * | holder, | |||
JSFunction * | function | |||
) | [static] |
stub-cache.cc の 371 行で定義されています。
参照先 v8::internal::Code::CALL_IC, v8::internal::Code::cast(), v8::internal::JSFunction::cast(), v8::internal::JSObject::cast(), v8::internal::code(), v8::internal::CallStubCompiler::CompileCallConstant(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::CONSTANT_FUNCTION, v8::internal::Map::FindInCodeCache(), v8::internal::IC::GetCodeCacheMapForObject(), v8::internal::Failure::InternalError(), v8::internal::JSFunction::is_compiled(), v8::Value::IsBoolean(), v8::Value::IsNumber(), v8::Value::IsString(), v8::Value::IsUndefined(), LOG, v8::internal::Top::LookupSpecialFunction(), Set(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeCallDebugBreak | ( | int | argc | ) | [static] |
Object * v8::internal::StubCache::ComputeCallDebugPrepareStepIn | ( | int | argc | ) | [static] |
Object * v8::internal::StubCache::ComputeCallField | ( | int | argc, | |
String * | name, | |||
Object * | object, | |||
JSObject * | holder, | |||
int | index | |||
) | [static] |
stub-cache.cc の 418 行で定義されています。
参照先 v8::internal::Code::CALL_IC, v8::internal::Code::cast(), v8::internal::code(), v8::internal::CallStubCompiler::CompileCallField(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::FIELD, v8::internal::Map::FindInCodeCache(), v8::internal::IC::GetCodeCacheMapForObject(), v8::Value::IsNumber(), v8::Value::IsUndefined(), LOG, Set(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeCallInitialize | ( | int | argc | ) | [static] |
Object * v8::internal::StubCache::ComputeCallInterceptor | ( | int | argc, | |
String * | name, | |||
Object * | object, | |||
JSObject * | holder | |||
) | [static] |
stub-cache.cc の 447 行で定義されています。
参照先 v8::internal::Code::CALL_IC, v8::internal::Code::cast(), v8::internal::code(), v8::internal::CallStubCompiler::CompileCallInterceptor(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::Map::FindInCodeCache(), v8::internal::IC::GetCodeCacheMapForObject(), v8::internal::INTERCEPTOR, v8::Value::IsNumber(), v8::Value::IsUndefined(), LOG, Set(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeCallMegamorphic | ( | int | argc | ) | [static] |
Object * v8::internal::StubCache::ComputeCallMiss | ( | int | argc | ) | [static] |
Object * v8::internal::StubCache::ComputeCallNormal | ( | int | argc, | |
String * | name, | |||
JSObject * | receiver | |||
) | [static] |
stub-cache.cc の 477 行で定義されています。
参照先 v8::internal::Code::cast(), v8::internal::code(), v8::internal::HeapObject::map(), と Set().
Object * v8::internal::StubCache::ComputeCallNormal | ( | int | argc | ) | [static] |
Object * v8::internal::StubCache::ComputeCallPreMonomorphic | ( | int | argc | ) | [static] |
Object * v8::internal::StubCache::ComputeKeyedLoadArrayLength | ( | String * | name, | |
JSArray * | receiver | |||
) | [static] |
stub-cache.cc の 249 行で定義されています。
参照先 v8::internal::CALLBACKS, v8::internal::Code::cast(), v8::internal::code(), v8::internal::KeyedLoadStubCompiler::CompileLoadArrayLength(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::Map::FindInCodeCache(), v8::Value::IsUndefined(), v8::internal::Code::KEYED_LOAD_IC, LOG, v8::internal::HeapObject::map(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeKeyedLoadCallback | ( | String * | name, | |
JSObject * | receiver, | |||
JSObject * | holder, | |||
AccessorInfo * | callback | |||
) | [static] |
stub-cache.cc の 229 行で定義されています。
参照先 v8::internal::CALLBACKS, v8::internal::Code::cast(), v8::internal::code(), v8::internal::KeyedLoadStubCompiler::CompileLoadCallback(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::Map::FindInCodeCache(), v8::Value::IsUndefined(), v8::internal::Code::KEYED_LOAD_IC, LOG, v8::internal::HeapObject::map(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeKeyedLoadConstant | ( | String * | name, | |
JSObject * | receiver, | |||
JSObject * | holder, | |||
Object * | value | |||
) | [static] |
stub-cache.cc の 192 行で定義されています。
参照先 v8::internal::Code::cast(), v8::internal::code(), v8::internal::KeyedLoadStubCompiler::CompileLoadConstant(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::CONSTANT_FUNCTION, v8::internal::Map::FindInCodeCache(), v8::Value::IsUndefined(), v8::internal::Code::KEYED_LOAD_IC, LOG, v8::internal::HeapObject::map(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeKeyedLoadField | ( | String * | name, | |
JSObject * | receiver, | |||
JSObject * | holder, | |||
int | field_index | |||
) | [static] |
stub-cache.cc の 174 行で定義されています。
参照先 v8::internal::Code::cast(), v8::internal::code(), v8::internal::KeyedLoadStubCompiler::CompileLoadField(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::FIELD, v8::internal::Map::FindInCodeCache(), v8::Value::IsUndefined(), v8::internal::Code::KEYED_LOAD_IC, LOG, v8::internal::HeapObject::map(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeKeyedLoadFunctionPrototype | ( | String * | name, | |
JSFunction * | receiver | |||
) | [static] |
stub-cache.cc の 283 行で定義されています。
参照先 v8::internal::CALLBACKS, v8::internal::Code::cast(), v8::internal::code(), v8::internal::KeyedLoadStubCompiler::CompileLoadFunctionPrototype(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::Map::FindInCodeCache(), v8::Value::IsUndefined(), v8::internal::Code::KEYED_LOAD_IC, LOG, v8::internal::HeapObject::map(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeKeyedLoadInterceptor | ( | String * | name, | |
JSObject * | receiver, | |||
JSObject * | holder | |||
) | [static] |
stub-cache.cc の 211 行で定義されています。
参照先 v8::internal::Code::cast(), v8::internal::code(), v8::internal::KeyedLoadStubCompiler::CompileLoadInterceptor(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::Map::FindInCodeCache(), v8::internal::INTERCEPTOR, v8::Value::IsUndefined(), v8::internal::Code::KEYED_LOAD_IC, LOG, v8::internal::HeapObject::map(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeKeyedLoadStringLength | ( | String * | name, | |
String * | receiver | |||
) | [static] |
stub-cache.cc の 266 行で定義されています。
参照先 v8::internal::CALLBACKS, v8::internal::Code::cast(), v8::internal::code(), v8::internal::KeyedLoadStubCompiler::CompileLoadStringLength(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::Map::FindInCodeCache(), v8::Value::IsUndefined(), v8::internal::Code::KEYED_LOAD_IC, LOG, v8::internal::HeapObject::map(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeKeyedStoreField | ( | String * | name, | |
JSObject * | receiver, | |||
int | field_index, | |||
Map * | transition = NULL | |||
) | [static] |
stub-cache.cc の 354 行で定義されています。
参照先 v8::internal::Code::cast(), v8::internal::code(), v8::internal::KeyedStoreStubCompiler::CompileStoreField(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::FIELD, v8::internal::Map::FindInCodeCache(), v8::Value::IsUndefined(), v8::internal::Code::KEYED_STORE_IC, LOG, v8::internal::HeapObject::map(), v8::internal::MAP_TRANSITION, v8::internal::NULL, と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeLazyCompile | ( | int | argc | ) | [static] |
stub-cache.cc の 606 行で定義されています。
参照先 v8::internal::Code::arguments_count(), v8::internal::Code::cast(), v8::internal::code(), v8::internal::Code::ComputeFlags(), v8::internal::FillCache(), v8::Value::IsUndefined(), LOG, v8::internal::NORMAL, v8::internal::ProbeCache(), v8::internal::Code::STUB, v8::internal::UNINITIALIZED, と v8::internal::USE().
Object * v8::internal::StubCache::ComputeLoadCallback | ( | String * | name, | |
JSObject * | receiver, | |||
JSObject * | holder, | |||
AccessorInfo * | callback | |||
) | [static] |
stub-cache.cc の 113 行で定義されています。
参照先 ASSERT, v8::internal::CALLBACKS, v8::internal::Code::cast(), v8::internal::code(), v8::internal::LoadStubCompiler::CompileLoadCallback(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::Map::FindInCodeCache(), v8::Value::IsUndefined(), v8::internal::Code::LOAD_IC, LOG, v8::internal::HeapObject::map(), Set(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeLoadConstant | ( | String * | name, | |
JSObject * | receiver, | |||
JSObject * | holder, | |||
Object * | value | |||
) | [static] |
stub-cache.cc の 132 行で定義されています。
参照先 v8::internal::Code::cast(), v8::internal::code(), v8::internal::LoadStubCompiler::CompileLoadConstant(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::CONSTANT_FUNCTION, v8::internal::Map::FindInCodeCache(), v8::Value::IsUndefined(), v8::internal::Code::LOAD_IC, LOG, v8::internal::HeapObject::map(), Set(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeLoadField | ( | String * | name, | |
JSObject * | receiver, | |||
JSObject * | holder, | |||
int | field_index | |||
) | [static] |
stub-cache.cc の 95 行で定義されています。
参照先 v8::internal::Code::cast(), v8::internal::code(), v8::internal::LoadStubCompiler::CompileLoadField(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::FIELD, v8::internal::Map::FindInCodeCache(), v8::Value::IsUndefined(), v8::internal::Code::LOAD_IC, LOG, v8::internal::HeapObject::map(), Set(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeLoadInterceptor | ( | String * | name, | |
JSObject * | receiver, | |||
JSObject * | holder | |||
) | [static] |
stub-cache.cc の 151 行で定義されています。
参照先 v8::internal::Code::cast(), v8::internal::code(), v8::internal::LoadStubCompiler::CompileLoadInterceptor(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::Map::FindInCodeCache(), v8::internal::INTERCEPTOR, v8::Value::IsUndefined(), v8::internal::Code::LOAD_IC, LOG, v8::internal::HeapObject::map(), Set(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeStoreCallback | ( | String * | name, | |
JSObject * | receiver, | |||
AccessorInfo * | callback | |||
) | [static] |
stub-cache.cc の 319 行で定義されています。
参照先 ASSERT, v8::internal::CALLBACKS, v8::internal::Code::cast(), v8::internal::code(), v8::internal::StoreStubCompiler::CompileStoreCallback(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::Map::FindInCodeCache(), v8::Value::IsUndefined(), LOG, v8::internal::HeapObject::map(), Set(), v8::internal::Code::STORE_IC, と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeStoreField | ( | String * | name, | |
JSObject * | receiver, | |||
int | field_index, | |||
Map * | transition = NULL | |||
) | [static] |
stub-cache.cc の 300 行で定義されています。
参照先 v8::internal::Code::cast(), v8::internal::code(), v8::internal::StoreStubCompiler::CompileStoreField(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::FIELD, v8::internal::Map::FindInCodeCache(), v8::Value::IsUndefined(), LOG, v8::internal::HeapObject::map(), v8::internal::MAP_TRANSITION, v8::internal::NULL, Set(), v8::internal::Code::STORE_IC, と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::StubCache::ComputeStoreInterceptor | ( | String * | name, | |
JSObject * | receiver | |||
) | [static] |
stub-cache.cc の 337 行で定義されています。
参照先 v8::internal::Code::cast(), v8::internal::code(), v8::internal::StoreStubCompiler::CompileStoreInterceptor(), v8::internal::Code::ComputeMonomorphicFlags(), v8::internal::Map::FindInCodeCache(), v8::internal::INTERCEPTOR, v8::Value::IsUndefined(), LOG, v8::internal::HeapObject::map(), Set(), v8::internal::Code::STORE_IC, と v8::internal::Map::UpdateCodeCache().
static Entry* v8::internal::StubCache::entry | ( | Entry * | table, | |
int | offset | |||
) | [inline, static, private] |
stub-cache.h の 217 行で定義されています。
参照元 Set().
Code * v8::internal::StubCache::FindCallInitialize | ( | int | argc | ) | [static] |
static void v8::internal::StubCache::GenerateMiss | ( | MacroAssembler * | masm | ) | [static] |
void v8::internal::StubCache::GenerateProbe | ( | MacroAssembler * | masm, | |
Code::Flags | flags, | |||
Register | receiver, | |||
Register | name, | |||
Register | scratch | |||
) | [static] |
stub-cache-arm.cc の 83 行で定義されています。
参照先 __, ASSERT, v8::internal::eq, v8::internal::Code::ExtractTypeFromFlags(), v8::internal::FieldMemOperand(), v8::internal::ip, v8::internal::Register::is(), v8::internal::kHeapObjectTagSize, v8::internal::String::kLengthOffset, v8::internal::HeapObject::kMapOffset, kPrimary, kPrimaryTableSize, kSecondary, kSecondaryTableSize, v8::internal::kSmiTagMask, と v8::internal::ProbeTable().
参照元 v8::internal::StoreIC::GenerateMegamorphic(), v8::internal::LoadIC::GenerateMegamorphic(), と v8::internal::CallIC::GenerateMegamorphic().
void v8::internal::StubCache::Initialize | ( | bool | create_heap_objects | ) | [static] |
stub-cache.cc の 44 行で定義されています。
参照先 ASSERT, Clear(), v8::internal::IsPowerOf2(), kPrimaryTableSize, と kSecondaryTableSize.
static int v8::internal::StubCache::PrimaryOffset | ( | String * | name, | |
Code::Flags | flags, | |||
Map * | map | |||
) | [inline, static, private] |
static int v8::internal::StubCache::SecondaryOffset | ( | String * | name, | |
Code::Flags | flags, | |||
int | seed | |||
) | [inline, static, private] |
stub-cache.h の 208 行で定義されています。
参照先 v8::internal::kHeapObjectTagSize, と kSecondaryTableSize.
参照元 Set().
stub-cache.cc の 54 行で定義されています。
参照先 ASSERT, v8::internal::Builtins::builtin(), entry(), v8::internal::Code::ExtractICStateFromFlags(), v8::internal::Code::ExtractTypeFromFlags(), v8::internal::Code::flags(), v8::internal::Heap::InNewSpace(), v8::internal::StubCache::Entry::key, v8::internal::Code::kFlagsICStateShift, v8::internal::MONOMORPHIC, primary_, PrimaryOffset(), v8::internal::Code::RemoveTypeFromFlags(), secondary_, SecondaryOffset(), と v8::internal::StubCache::Entry::value.
参照元 ComputeCallConstant(), ComputeCallField(), ComputeCallInterceptor(), ComputeCallNormal(), ComputeLoadCallback(), ComputeLoadConstant(), ComputeLoadField(), ComputeLoadInterceptor(), ComputeLoadNormal(), ComputeStoreCallback(), ComputeStoreField(), ComputeStoreInterceptor(), と v8::internal::LoadIC::Load().
friend class SCTableReference [friend] |
stub-cache.h の 187 行で定義されています。
const int v8::internal::StubCache::kPrimaryTableSize = 2048 [static, private] |
stub-cache.h の 188 行で定義されています。
参照元 Clear(), GenerateProbe(), Initialize(), と PrimaryOffset().
const int v8::internal::StubCache::kSecondaryTableSize = 512 [static, private] |
stub-cache.h の 189 行で定義されています。
参照元 Clear(), GenerateProbe(), Initialize(), と SecondaryOffset().
StubCache::Entry v8::internal::StubCache::primary_ [static, private] |
stub-cache.h の 190 行で定義されています。
参照元 Clear(), v8::internal::SCTableReference::first_entry(), と Set().
StubCache::Entry v8::internal::StubCache::secondary_ [static, private] |
stub-cache.h の 191 行で定義されています。
参照元 Clear(), v8::internal::SCTableReference::first_entry(), と Set().