v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <ic.h>
Data Structures | |
class | ContextualModeBits |
Public Member Functions | |
STATIC_ASSERT (static_cast< int >(NOT_CONTEXTUAL)==0) | |
ContextualMode | contextual_mode () const |
LoadIC (FrameDepth depth, Isolate *isolate) | |
bool | IsUndeclaredGlobal (Handle< Object > receiver) |
MUST_USE_RESULT MaybeObject * | Load (Handle< Object > object, Handle< String > name) |
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 () |
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 |
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) |
|
inlineexplicit |
|
protectedvirtual |
Reimplemented from IC.
Definition at line 878 of file ic.cc.
References ASSERT, Isolate::builtins(), v8::internal::CALLBACKS, Handle< T >::cast(), v8::internal::code(), v8::internal::CONSTANT, IC::CurrentTypeOf(), v8::internal::FIELD, IC::GetCodeCacheHolder(), v8::internal::handle(), v8::internal::info, v8::internal::INTERCEPTOR, PropertyIndex::is_inobject(), IC::isolate(), Value::IsString(), LoadIC::kind(), String::kLengthOffset, v8::internal::kPointerSize, v8::internal::NORMAL, v8::internal::SLOPPY, LoadIC::slow_stub(), PropertyIndex::translate(), and HeapObject::UpdateMapCodeCache().
|
inlinestatic |
Definition at line 310 of file ic.h.
References BitFieldBase< ContextualMode, shift, size, uint32_t >::encode().
|
inline |
Definition at line 318 of file ic.h.
References BitFieldBase< ContextualMode, shift, size, uint32_t >::decode(), and IC::extra_ic_state().
Referenced by LoadIC::IsUndeclaredGlobal().
|
inlinestatic |
Definition at line 339 of file ic.h.
References LoadIC::GenerateMiss().
|
static |
|
static |
Referenced by LoadIC::GenerateInitialize(), and LoadIC::GeneratePreMonomorphic().
|
static |
|
inlinestatic |
Definition at line 340 of file ic.h.
References LoadIC::GenerateMiss().
|
static |
|
inlinestatic |
Definition at line 314 of file ic.h.
References BitFieldBase< ContextualMode, shift, size, uint32_t >::decode().
Referenced by LoadStubCompiler::contextual_mode(), and LoadIC::set_target().
|
static |
Definition at line 782 of file ic.cc.
References StubCache::ComputeLoad(), Isolate::stub_cache(), and v8::internal::UNINITIALIZED.
Referenced by TEST().
Definition at line 329 of file ic.h.
References ASSERT, v8::internal::CONTEXTUAL, and LoadIC::contextual_mode().
Referenced by LoadIC::Load().
|
inlineprotectedvirtual |
Reimplemented from IC.
Reimplemented in KeyedLoadIC.
Definition at line 355 of file ic.h.
Referenced by LoadIC::CompileHandler(), LoadIC::Load(), and LoadIC::UpdateCaches().
Definition at line 530 of file ic.cc.
References ABSENT, ASSERT, Handle< T >::cast(), Accessors::FunctionGetPrototype(), v8::internal::GENERIC, IC::generic_stub(), Runtime::GetElementOrCharAt(), Object::GetProperty(), Handle< T >::is_null(), IC::isolate(), LoadIC::IsUndeclaredGlobal(), Value::IsUndefined(), LoadIC::kind(), LOG, v8::internal::MEGAMORPHIC, LoadIC::megamorphic_stub(), v8::internal::PREMONOMORPHIC, v8::internal::PrintF(), IC::ReferenceError(), RETURN_IF_EMPTY_HANDLE, LoadIC::set_target(), IC::state(), IC::TypeError(), v8::internal::UNINITIALIZED, and LoadIC::UpdateCaches().
Referenced by KeyedLoadIC::Load().
Reimplemented from IC.
Reimplemented in KeyedLoadIC.
Definition at line 794 of file ic.cc.
References StubCache::ComputeLoad(), IC::extra_ic_state(), IC::isolate(), v8::internal::MEGAMORPHIC, and Isolate::stub_cache().
Referenced by LoadIC::Load().
|
inlineprotected |
Definition at line 357 of file ic.h.
References ASSERT, Code::extra_ic_state(), LoadIC::GetContextualMode(), IC::set_target(), and IC::target().
Referenced by LoadIC::Load(), KeyedLoadIC::Load(), and LoadIC::UpdateCaches().
Reimplemented from IC.
Reimplemented in KeyedLoadIC.
Definition at line 365 of file ic.h.
References Isolate::builtins(), and IC::isolate().
Referenced by LoadIC::CompileHandler(), and LoadIC::UpdateCaches().
STATIC_ASSERT | ( | static_cast< int > | NOT_CONTEXTUAL = =0 | ) |
|
protected |
Definition at line 812 of file ic.cc.
References v8::internal::code(), IC::ComputeHandler(), StubCache::ComputeLoadNonexistent(), IC::CurrentTypeOf(), IC::isolate(), LoadIC::kind(), IC::PatchCache(), LoadIC::set_target(), LoadIC::slow_stub(), IC::state(), Isolate::stub_cache(), TRACE_IC, and v8::internal::UNINITIALIZED.
Referenced by LoadIC::Load().