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

#include <ic.h>

Inheritance diagram for CallICBase:
Collaboration diagram for CallICBase:

Data Structures

class  Contextual
 
class  StringStubState
 

Public Member Functions

MUST_USE_RESULT MaybeObject * LoadFunction (State state, Code::ExtraICState extra_ic_state, Handle< Object > object, Handle< String > name)
 
- Public Member Functions inherited from IC
 IC (FrameDepth depth, Isolate *isolate)
 
virtual ~IC ()
 
Codetarget () const
 
Address address () const
 
virtual bool IsGeneric () const
 
RelocInfo::Mode ComputeMode ()
 
bool IsContextual (Handle< Object > receiver)
 
bool SlowIsContextual ()
 

Protected Member Functions

 CallICBase (Code::Kind kind, Isolate *isolate)
 
bool TryUpdateExtraICState (LookupResult *lookup, Handle< Object > object, Code::ExtraICState *extra_ic_state)
 
Handle< CodeComputeMonomorphicStub (LookupResult *lookup, State state, Code::ExtraICState extra_state, Handle< Object > object, Handle< String > name)
 
void UpdateCaches (LookupResult *lookup, State state, Code::ExtraICState extra_ic_state, Handle< Object > object, Handle< String > name)
 
Handle< ObjectTryCallAsFunction (Handle< Object > object)
 
void ReceiverToObjectIfRequired (Handle< Object > callee, Handle< Object > object)
 
- Protected Member Functions inherited from IC
Address fp () const
 
Address pc () const
 
Isolateisolate () const
 
void set_target (Code *code)
 
FailureTypeError (const char *type, Handle< Object > object, Handle< Object > key)
 
FailureReferenceError (const char *type, Handle< String > name)
 

Static Protected Member Functions

static void Clear (Address address, Code *target)
 
static void GenerateMiss (MacroAssembler *masm, int argc, IC::UtilityId id, Code::ExtraICState extra_state)
 
static void GenerateNormal (MacroAssembler *masm, int argc)
 
static void GenerateMonomorphicCacheProbe (MacroAssembler *masm, int argc, Code::Kind kind, Code::ExtraICState extra_state)
 
- Static Protected Member Functions inherited from IC
static CodeGetTargetAtAddress (Address address)
 
static void SetTargetAtAddress (Address address, Code *target)
 
static void PostPatching (Address address, Code *target, Code *old_target)
 

Protected Attributes

Code::Kind kind_
 

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 Public Member Functions inherited from IC
static Address AddressFromUtilityId (UtilityId id)
 
static State StateFrom (Code *target, Object *receiver, Object *name)
 
static void Clear (Address address)
 
static InlineCacheHolderFlag GetCodeCacheForObject (Object *object, JSObject *holder)
 
static InlineCacheHolderFlag GetCodeCacheForObject (JSObject *object, JSObject *holder)
 
static JSObjectGetCodeCacheHolder (Object *object, InlineCacheHolderFlag holder)
 

Detailed Description

Definition at line 202 of file ic.h.

Constructor & Destructor Documentation

CallICBase ( Code::Kind  kind,
Isolate isolate 
)
inlineprotected

Definition at line 214 of file ic.h.

Member Function Documentation

void Clear ( Address  address,
Code target 
)
staticprotected
static void GenerateMiss ( MacroAssembler masm,
int  argc,
IC::UtilityId  id,
Code::ExtraICState  extra_state 
)
staticprotected
static void GenerateMonomorphicCacheProbe ( MacroAssembler masm,
int  argc,
Code::Kind  kind,
Code::ExtraICState  extra_state 
)
staticprotected
static void GenerateNormal ( MacroAssembler masm,
int  argc 
)
staticprotected

Referenced by CallIC::GenerateNormal().

Friends And Related Function Documentation

friend class IC
friend

Definition at line 261 of file ic.h.

Field Documentation


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