v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
KeyedLoadIC Class Reference

#include <ic.h>

Inheritance diagram for KeyedLoadIC:
Collaboration diagram for KeyedLoadIC:

Public Member Functions

 KeyedLoadIC (FrameDepth depth, Isolate *isolate)
 
MUST_USE_RESULT MaybeObject * Load (Handle< Object > object, Handle< Object > key)
 
- Public Member Functions inherited from LoadIC
 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 ()
 

Static Public Member Functions

static void GenerateMiss (MacroAssembler *masm)
 
static void GenerateRuntimeGetProperty (MacroAssembler *masm)
 
static void GenerateInitialize (MacroAssembler *masm)
 
static void GeneratePreMonomorphic (MacroAssembler *masm)
 
static void GenerateGeneric (MacroAssembler *masm)
 
static void GenerateString (MacroAssembler *masm)
 
static void GenerateIndexedInterceptor (MacroAssembler *masm)
 
static void GenerateSloppyArguments (MacroAssembler *masm)
 
- Static Public Member Functions inherited from LoadIC
static ExtraICState ComputeExtraICState (ContextualMode contextual_mode)
 
static ContextualMode GetContextualMode (ExtraICState state)
 
static void GenerateInitialize (MacroAssembler *masm)
 
static void GeneratePreMonomorphic (MacroAssembler *masm)
 
static void GenerateMiss (MacroAssembler *masm)
 
static void GenerateMegamorphic (MacroAssembler *masm)
 
static void GenerateNormal (MacroAssembler *masm)
 
static void GenerateRuntimeGetProperty (MacroAssembler *masm)
 
static Handle< Codeinitialize_stub (Isolate *isolate, ExtraICState extra_state)
 
- Static Public Member Functions inherited from IC
static Address AddressFromUtilityId (UtilityId id)
 
static void Clear (Isolate *isolate, Address address, ConstantPoolArray *constant_pool)
 
static InlineCacheHolderFlag GetCodeCacheForObject (Object *object)
 
static HeapObjectGetCodeCacheHolder (Isolate *isolate, Object *object, InlineCacheHolderFlag holder)
 
static InlineCacheHolderFlag GetCodeCacheFlag (HeapType *type)
 
static Handle< MapGetCodeCacheHolder (InlineCacheHolderFlag flag, HeapType *type, Isolate *isolate)
 
static bool IsCleared (Code *code)
 
static Handle< MapTypeToMap (HeapType *type, Isolate *isolate)
 
template<class T >
static T::TypeHandle MapToType (Handle< Map > map, typename T::Region *region)
 
static Handle< HeapTypeCurrentTypeOf (Handle< Object > object, Isolate *isolate)
 

Static Public Attributes

static const int kSlowCaseBitFieldMask
 

Protected Member Functions

virtual Code::Kind kind () const
 
Handle< CodeLoadElementStub (Handle< JSObject > receiver)
 
virtual Handle< Codemegamorphic_stub ()
 
virtual Handle< Codegeneric_stub () const
 
virtual Handle< Codeslow_stub () const
 
virtual void UpdateMegamorphicCache (HeapType *type, Name *name, Code *code)
 
- Protected Member Functions inherited from LoadIC
void set_target (Code *code)
 
void UpdateCaches (LookupResult *lookup, Handle< Object > object, Handle< String > name)
 
virtual Handle< CodeCompileHandler (LookupResult *lookup, Handle< Object > object, Handle< String > name, Handle< Object > unused, InlineCacheHolderFlag cache_holder)
 
- Protected Member Functions inherited from IC
Handle< Codetarget () const
 
Address fp () const
 
Address pc () const
 
Isolateisolate () const
 
void set_target (Code *code)
 
bool is_target_set ()
 
FailureTypeError (const char *type, Handle< Object > object, Handle< Object > key)
 
FailureReferenceError (const char *type, Handle< String > name)
 
Handle< CodeComputeHandler (LookupResult *lookup, Handle< Object > object, Handle< String > name, Handle< Object > value=Handle< Code >::null())
 
void UpdateMonomorphicIC (Handle< HeapType > type, Handle< Code > handler, Handle< String > name)
 
bool UpdatePolymorphicIC (Handle< HeapType > type, Handle< String > name, Handle< Code > code)
 
void CopyICToMegamorphicCache (Handle< String > name)
 
bool IsTransitionOfMonomorphicTarget (Map *source_map, Map *target_map)
 
void PatchCache (Handle< HeapType > type, Handle< String > name, Handle< Code > code)
 
bool TryRemoveInvalidPrototypeDependentStub (Handle< Object > receiver, Handle< String > name)
 
void TryRemoveInvalidHandlers (Handle< Map > map, Handle< String > name)
 
ExtraICState extra_ic_state () const
 
void set_extra_ic_state (ExtraICState state)
 
void UpdateTarget ()
 

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 CodeGetTargetAtAddress (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)
 

Detailed Description

Definition at line 406 of file ic.h.

Constructor & Destructor Documentation

KeyedLoadIC ( FrameDepth  depth,
Isolate isolate 
)
inlineexplicit

Definition at line 408 of file ic.h.

References ASSERT, and IC::target().

Member Function Documentation

static void GenerateGeneric ( MacroAssembler masm)
static
static void GenerateIndexedInterceptor ( MacroAssembler masm)
static
static void GenerateInitialize ( MacroAssembler masm)
inlinestatic

Definition at line 419 of file ic.h.

References KeyedLoadIC::GenerateMiss().

static void GenerateMiss ( MacroAssembler masm)
static
static void GeneratePreMonomorphic ( MacroAssembler masm)
inlinestatic

Definition at line 420 of file ic.h.

References KeyedLoadIC::GenerateMiss().

static void GenerateRuntimeGetProperty ( MacroAssembler masm)
static
static void GenerateSloppyArguments ( MacroAssembler masm)
static
static void GenerateString ( MacroAssembler masm)
static
virtual Handle<Code> generic_stub ( ) const
inlineprotectedvirtual

Reimplemented from IC.

Definition at line 443 of file ic.h.

References Isolate::builtins(), and IC::isolate().

Referenced by KeyedLoadIC::Load(), and KeyedLoadIC::LoadElementStub().

virtual Code::Kind kind ( ) const
inlineprotectedvirtual

Reimplemented from LoadIC.

Definition at line 436 of file ic.h.

virtual Handle<Code> megamorphic_stub ( )
inlineprotectedvirtual

Reimplemented from LoadIC.

Definition at line 440 of file ic.h.

References Isolate::builtins(), and IC::isolate().

virtual Handle<Code> slow_stub ( ) const
inlineprotectedvirtual

Reimplemented from LoadIC.

Definition at line 446 of file ic.h.

References Isolate::builtins(), and IC::isolate().

virtual void UpdateMegamorphicCache ( HeapType type,
Name name,
Code code 
)
inlineprotectedvirtual

Reimplemented from IC.

Definition at line 450 of file ic.h.

Friends And Related Function Documentation

friend class IC
friend

Definition at line 475 of file ic.h.

Field Documentation

const int kSlowCaseBitFieldMask
static
Initial value:

Definition at line 432 of file ic.h.


The documentation for this class was generated from the following files: