v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <ic.h>
Data Structures | |
class | StrictModeState |
Public Member Functions | |
StoreIC (FrameDepth depth, Isolate *isolate) | |
StrictMode | strict_mode () const |
MUST_USE_RESULT MaybeObject * | Store (Handle< Object > object, Handle< String > name, Handle< Object > value, JSReceiver::StoreFromKeyed store_mode=JSReceiver::CERTAINLY_NOT_STORE_FROM_KEYED) |
Public Member Functions inherited from IC | |
IC (FrameDepth depth, Isolate *isolate) | |
virtual | ~IC () |
State | state () const |
Address | address () const |
void | UpdateState (Handle< Object > receiver, Handle< Object > name) |
void | MarkMonomorphicPrototypeFailure () |
Static Public Attributes | |
static const ExtraICState | kStrictModeState |
Static Protected Member Functions | |
static Handle< Code > | pre_monomorphic_stub (Isolate *isolate, StrictMode strict_mode) |
Static Protected Member Functions inherited from IC | |
static Code * | GetTargetAtAddress (Address address, ConstantPoolArray *constant_pool) |
static void | SetTargetAtAddress (Address address, Code *target, ConstantPoolArray *constant_pool) |
static void | PostPatching (Address address, Code *target, Code *old_target) |
Friends | |
class | IC |
Additional Inherited Members | |
Public Types inherited from IC | |
enum | UtilityId { kUtilityCount } |
enum | FrameDepth { NO_EXTRA_FRAME = 0, EXTRA_CALL_FRAME = 1 } |
typedef InlineCacheState | State |
|
inline |
|
protectedvirtual |
Reimplemented from IC.
Definition at line 1309 of file ic.cc.
References ASSERT, Isolate::builtins(), v8::internal::CALLBACKS, Handle< T >::cast(), GlobalObject::cast(), v8::internal::code(), v8::internal::CONSTANT, v8::internal::FIELD, v8::internal::handle(), v8::internal::HANDLER, v8::internal::info, v8::internal::INTERCEPTOR, IC::isolate(), StoreIC::kind(), NONE, v8::internal::NONEXISTENT, v8::internal::NORMAL, v8::internal::OWN_MAP, v8::internal::SLOPPY, StoreIC::slow_stub(), v8::internal::TRANSITION, UNREACHABLE, PropertyCell::UpdatedType(), and HeapObject::UpdateMapCodeCache().
|
inlinestatic |
Definition at line 482 of file ic.h.
References BitFieldBase< StrictMode, shift, size, uint32_t >::encode().
Referenced by StoreICStub::GetExtraICState(), StoreIC::initialize_stub(), and StoreIC::pre_monomorphic_stub().
|
inlinestatic |
Definition at line 505 of file ic.h.
References StoreIC::GenerateMiss().
|
static |
|
static |
Referenced by StoreIC::GenerateInitialize(), and StoreIC::GeneratePreMonomorphic().
|
static |
|
inlinestatic |
Definition at line 506 of file ic.h.
References StoreIC::GenerateMiss().
|
static |
|
static |
Reimplemented from IC.
Definition at line 1281 of file ic.cc.
References StubCache::ComputeStore(), IC::extra_ic_state(), v8::internal::GENERIC, IC::isolate(), and Isolate::stub_cache().
Referenced by StoreIC::Store().
|
inlinestatic |
Definition at line 485 of file ic.h.
References BitFieldBase< StrictMode, shift, size, uint32_t >::decode().
Referenced by IC::SetTargetAtAddress().
|
static |
Definition at line 1267 of file ic.cc.
References StoreIC::ComputeExtraICState(), StubCache::ComputeStore(), Isolate::stub_cache(), and v8::internal::UNINITIALIZED.
|
inlineprotectedvirtual |
Reimplemented from IC.
Reimplemented in KeyedStoreIC.
Definition at line 526 of file ic.h.
Referenced by StoreIC::CompileHandler().
Reimplemented from IC.
Reimplemented in KeyedStoreIC.
Definition at line 1276 of file ic.cc.
References StubCache::ComputeStore(), IC::extra_ic_state(), IC::isolate(), v8::internal::MEGAMORPHIC, and Isolate::stub_cache().
Reimplemented in KeyedStoreIC.
Definition at line 536 of file ic.h.
References IC::isolate(), and StoreIC::strict_mode().
Referenced by StoreIC::Store().
|
staticprotected |
Definition at line 1286 of file ic.cc.
References StoreIC::ComputeExtraICState(), StubCache::ComputeStore(), v8::internal::PREMONOMORPHIC, and Isolate::stub_cache().
Reimplemented from IC.
Reimplemented in KeyedStoreIC.
Definition at line 532 of file ic.h.
References Isolate::builtins(), and IC::isolate().
Referenced by StoreIC::CompileHandler().
MaybeObject * Store | ( | Handle< Object > | object, |
Handle< String > | name, | ||
Handle< Object > | value, | ||
JSReceiver::StoreFromKeyed | store_mode = JSReceiver::CERTAINLY_NOT_STORE_FROM_KEYED |
||
) |
Definition at line 1189 of file ic.cc.
References Handle< T >::cast(), StoreIC::generic_stub(), IC::isolate(), Value::IsString(), Value::IsUndefined(), NONE, StoreIC::pre_monomorphic_stub(), IC::ReferenceError(), RETURN_IF_EMPTY_HANDLE, JSObject::SetElement(), JSReceiver::SetProperty(), IC::state(), v8::internal::STRICT, StoreIC::strict_mode(), TRACE_IC, IC::TypeError(), v8::internal::UNINITIALIZED, and StoreIC::UpdateCaches().
Referenced by KeyedStoreIC::Store().
|
inline |
Definition at line 499 of file ic.h.
References BitFieldBase< StrictMode, shift, size, uint32_t >::decode(), and IC::extra_ic_state().
Referenced by KeyedStoreIC::megamorphic_stub(), StoreIC::pre_monomorphic_stub(), KeyedStoreIC::pre_monomorphic_stub(), StoreIC::Store(), KeyedStoreIC::Store(), and KeyedStoreIC::StoreElementStub().
|
protected |
Definition at line 1293 of file ic.cc.
References ASSERT, IC::ComputeHandler(), IC::CurrentTypeOf(), IC::isolate(), IC::PatchCache(), and TRACE_IC.
Referenced by StoreIC::Store().
|
static |