v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <ic.h>
Public Member Functions | |
KeyedLoadIC (Isolate *isolate) | |
MUST_USE_RESULT MaybeObject * | Load (State state, Handle< Object > object, Handle< Object > key, bool force_generic_stub) |
virtual Handle< Code > | GetElementStubWithoutMapCheck (bool is_js_array, ElementsKind elements_kind, KeyedAccessGrowMode grow_mode) |
virtual bool | IsGeneric () const |
Public Member Functions inherited from KeyedIC | |
STATIC_ASSERT (kGrowICDelta==STORE_AND_GROW_TRANSITION_SMI_TO_OBJECT-STORE_TRANSITION_SMI_TO_OBJECT) | |
STATIC_ASSERT (kGrowICDelta==STORE_AND_GROW_TRANSITION_SMI_TO_DOUBLE-STORE_TRANSITION_SMI_TO_DOUBLE) | |
STATIC_ASSERT (kGrowICDelta==STORE_AND_GROW_TRANSITION_DOUBLE_TO_OBJECT-STORE_TRANSITION_DOUBLE_TO_OBJECT) | |
KeyedIC (Isolate *isolate) | |
virtual | ~KeyedIC () |
Public Member Functions inherited from IC | |
IC (FrameDepth depth, Isolate *isolate) | |
virtual | ~IC () |
Code * | target () const |
Address | address () const |
RelocInfo::Mode | ComputeMode () |
bool | IsContextual (Handle< Object > receiver) |
bool | SlowIsContextual () |
Static Public Attributes | |
static const int | kSlowCaseBitFieldMask |
Static Public Attributes inherited from KeyedIC | |
static const int | kGrowICDelta |
Protected Member Functions | |
virtual Code::Kind | kind () const |
virtual Handle< Code > | ComputePolymorphicStub (MapHandleList *receiver_maps, StrictModeFlag strict_mode, KeyedAccessGrowMode grow_mode) |
virtual Handle< Code > | string_stub () |
Protected Member Functions inherited from KeyedIC | |
Handle< Code > | ComputeStub (Handle< JSObject > receiver, StubKind stub_kind, StrictModeFlag strict_mode, Handle< Code > default_stub) |
Handle< Code > | ComputeMonomorphicStubWithoutMapCheck (Handle< Map > receiver_map, StrictModeFlag strict_mode, KeyedAccessGrowMode grow_mode) |
Protected Member Functions inherited from IC | |
Address | fp () const |
Address | pc () const |
Isolate * | isolate () const |
void | set_target (Code *code) |
Failure * | TypeError (const char *type, Handle< Object > object, Handle< Object > key) |
Failure * | ReferenceError (const char *type, Handle< String > name) |
Friends | |
class | IC |
|
inlineexplicit |
Definition at line 481 of file ic.h.
References ASSERT, and IC::target().
|
protectedvirtual |
Implements KeyedIC.
Definition at line 1058 of file ic.cc.
References List< T, P >::at(), v8::internal::code(), KeyedLoadStubCompiler::CompileLoadPolymorphic(), KeyedIC::ComputeMonomorphicStubWithoutMapCheck(), Isolate::counters(), IC::isolate(), and PROFILE.
|
static |
|
static |
|
inlinestatic |
Definition at line 493 of file ic.h.
References KeyedLoadIC::GenerateMiss().
|
static |
Referenced by KeyedLoadIC::GenerateInitialize(), and KeyedLoadIC::GeneratePreMonomorphic().
|
static |
|
inlinestatic |
Definition at line 496 of file ic.h.
References KeyedLoadIC::GenerateMiss().
|
static |
|
static |
|
virtual |
Implements KeyedIC.
Definition at line 1049 of file ic.cc.
References ASSERT, and v8::internal::DO_NOT_ALLOW_JSARRAY_GROWTH.
|
inlinevirtual |
|
inlineprotectedvirtual |
MaybeObject * Load | ( | State | state, |
Handle< Object > | object, | ||
Handle< Object > | key, | ||
bool | force_generic_stub | ||
) |
Definition at line 1099 of file ic.cc.
References ABSENT, ASSERT, Handle< T >::cast(), StubCache::ComputeKeyedLoadArrayLength(), StubCache::ComputeKeyedLoadFunctionPrototype(), StubCache::ComputeKeyedLoadStringLength(), KeyedIC::ComputeStub(), Smi::FromInt(), Accessors::FunctionGetPrototype(), Runtime::GetElementOrCharAt(), Runtime::GetObjectProperty(), Object::GetProperty(), Isolate::heap(), Handle< T >::is_null(), IC::IsContextual(), IC::isolate(), v8::internal::kNonStrictMode, KeyedIC::LOAD, IC::ReferenceError(), RETURN_IF_EMPTY_HANDLE, IC::set_target(), KeyedLoadIC::string_stub(), Isolate::stub_cache(), IC::target(), TRACE_GENERIC_IC, TRACE_IC, IC::TypeError(), and v8::internal::UNINITIALIZED.
Reimplemented from KeyedIC.
Definition at line 527 of file ic.h.
References Isolate::builtins(), and IC::isolate().
Referenced by KeyedLoadIC::Load().
|
static |