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
LoadStubCompiler Class Reference

#include <stub-cache.h>

Inheritance diagram for LoadStubCompiler:
Collaboration diagram for LoadStubCompiler:

Public Member Functions

 LoadStubCompiler (Isolate *isolate, ExtraICState extra_ic_state=kNoExtraICState, InlineCacheHolderFlag cache_holder=OWN_MAP, Code::Kind kind=Code::LOAD_IC)
 
virtual ~LoadStubCompiler ()
 
Handle< CodeCompileLoadField (Handle< HeapType > type, Handle< JSObject > holder, Handle< Name > name, PropertyIndex index, Representation representation)
 
Handle< CodeCompileLoadCallback (Handle< HeapType > type, Handle< JSObject > holder, Handle< Name > name, Handle< ExecutableAccessorInfo > callback)
 
Handle< CodeCompileLoadCallback (Handle< HeapType > type, Handle< JSObject > holder, Handle< Name > name, const CallOptimization &call_optimization)
 
Handle< CodeCompileLoadConstant (Handle< HeapType > type, Handle< JSObject > holder, Handle< Name > name, Handle< Object > value)
 
Handle< CodeCompileLoadInterceptor (Handle< HeapType > type, Handle< JSObject > holder, Handle< Name > name)
 
Handle< CodeCompileLoadViaGetter (Handle< HeapType > type, Handle< JSObject > holder, Handle< Name > name, Handle< JSFunction > getter)
 
Handle< CodeCompileLoadNonexistent (Handle< HeapType > type, Handle< JSObject > last, Handle< Name > name)
 
Handle< CodeCompileLoadGlobal (Handle< HeapType > type, Handle< GlobalObject > holder, Handle< PropertyCell > cell, Handle< Name > name, bool is_dont_delete)
 
- Public Member Functions inherited from BaseLoadStoreStubCompiler
 BaseLoadStoreStubCompiler (Isolate *isolate, Code::Kind kind, ExtraICState extra_ic_state=kNoExtraICState, InlineCacheHolderFlag cache_holder=OWN_MAP)
 
virtual ~BaseLoadStoreStubCompiler ()
 
Handle< CodeCompileMonomorphicIC (Handle< HeapType > type, Handle< Code > handler, Handle< Name > name)
 
Handle< CodeCompilePolymorphicIC (TypeHandleList *types, CodeHandleList *handlers, Handle< Name > name, Code::StubType type, IcCheckType check)
 

Static Public Member Functions

static void GenerateLoadViaGetter (MacroAssembler *masm, Handle< HeapType > type, Register receiver, Handle< JSFunction > getter)
 
static void GenerateLoadViaGetterForDeopt (MacroAssembler *masm)
 
- Static Public Member Functions inherited from BaseLoadStoreStubCompiler
static Builtins::Name MissBuiltin (Code::Kind kind)
 

Protected Member Functions

ContextualMode contextual_mode ()
 
virtual Register HandlerFrontendHeader (Handle< HeapType > type, Register object_reg, Handle< JSObject > holder, Handle< Name > name, Label *miss)
 
virtual void HandlerFrontendFooter (Handle< Name > name, Label *miss)
 
Register CallbackHandlerFrontend (Handle< HeapType > type, Register object_reg, Handle< JSObject > holder, Handle< Name > name, Handle< Object > callback)
 
void NonexistentHandlerFrontend (Handle< HeapType > type, Handle< JSObject > last, Handle< Name > name)
 
void GenerateLoadField (Register reg, Handle< JSObject > holder, PropertyIndex field, Representation representation)
 
void GenerateLoadConstant (Handle< Object > value)
 
void GenerateLoadCallback (Register reg, Handle< ExecutableAccessorInfo > callback)
 
void GenerateLoadCallback (const CallOptimization &call_optimization, Handle< Map > receiver_map)
 
void GenerateLoadInterceptor (Register holder_reg, Handle< Object > object, Handle< JSObject > holder, LookupResult *lookup, Handle< Name > name)
 
void GenerateLoadPostInterceptor (Register reg, Handle< JSObject > interceptor_holder, Handle< Name > name, LookupResult *lookup)
 
- Protected Member Functions inherited from BaseLoadStoreStubCompiler
Register HandlerFrontend (Handle< HeapType > type, Register object_reg, Handle< JSObject > holder, Handle< Name > name)
 
Handle< CodeGetCode (Code::Kind kind, Code::StubType type, Handle< Name > name)
 
Handle< CodeGetICCode (Code::Kind kind, Code::StubType type, Handle< Name > name, InlineCacheState state=MONOMORPHIC)
 
Code::Kind kind ()
 
Logger::LogEventsAndTags log_kind (Handle< Code > code)
 
void JitEvent (Handle< Name > name, Handle< Code > code)
 
Register receiver ()
 
Register name ()
 
Register scratch1 ()
 
Register scratch2 ()
 
Register scratch3 ()
 
void InitializeRegisters ()
 
bool IncludesNumberType (TypeHandleList *types)
 

Friends

class BaseLoadStoreStubCompiler
 

Additional Inherited Members

- Protected Attributes inherited from BaseLoadStoreStubCompiler
Code::Kind kind_
 
InlineCacheHolderFlag cache_holder_
 
Registerregisters_
 

Detailed Description

Definition at line 535 of file stub-cache.h.

Constructor & Destructor Documentation

LoadStubCompiler ( Isolate isolate,
ExtraICState  extra_ic_state = kNoExtraICState,
InlineCacheHolderFlag  cache_holder = OWN_MAP,
Code::Kind  kind = Code::LOAD_IC 
)
inline

Definition at line 537 of file stub-cache.h.

virtual ~LoadStubCompiler ( )
inlinevirtual

Definition at line 543 of file stub-cache.h.

Member Function Documentation

Register CallbackHandlerFrontend ( Handle< HeapType type,
Register  object_reg,
Handle< JSObject holder,
Handle< Name name,
Handle< Object callback 
)
protected
Handle< Code > CompileLoadCallback ( Handle< HeapType type,
Handle< JSObject holder,
Handle< Name name,
Handle< ExecutableAccessorInfo callback 
)

Definition at line 935 of file stub-cache.cc.

Handle< Code > CompileLoadCallback ( Handle< HeapType type,
Handle< JSObject holder,
Handle< Name name,
const CallOptimization &  call_optimization 
)

Definition at line 949 of file stub-cache.cc.

References ASSERT, and NULL.

Handle< Code > CompileLoadConstant ( Handle< HeapType type,
Handle< JSObject holder,
Handle< Name name,
Handle< Object value 
)

Definition at line 922 of file stub-cache.cc.

Handle< Code > CompileLoadField ( Handle< HeapType type,
Handle< JSObject holder,
Handle< Name name,
PropertyIndex  index,
Representation  representation 
)

Definition at line 908 of file stub-cache.cc.

Handle<Code> CompileLoadGlobal ( Handle< HeapType type,
Handle< GlobalObject holder,
Handle< PropertyCell cell,
Handle< Name name,
bool  is_dont_delete 
)
Handle< Code > CompileLoadInterceptor ( Handle< HeapType type,
Handle< JSObject holder,
Handle< Name name 
)

Definition at line 966 of file stub-cache.cc.

Handle<Code> CompileLoadNonexistent ( Handle< HeapType type,
Handle< JSObject last,
Handle< Name name 
)
Handle< Code > CompileLoadViaGetter ( Handle< HeapType type,
Handle< JSObject holder,
Handle< Name name,
Handle< JSFunction getter 
)

Definition at line 1032 of file stub-cache.cc.

ContextualMode contextual_mode ( )
inlineprotected

Definition at line 596 of file stub-cache.h.

References LoadIC::GetContextualMode().

void GenerateLoadCallback ( Register  reg,
Handle< ExecutableAccessorInfo callback 
)
protected
void GenerateLoadCallback ( const CallOptimization &  call_optimization,
Handle< Map receiver_map 
)
protected
void GenerateLoadConstant ( Handle< Object value)
protected
void GenerateLoadField ( Register  reg,
Handle< JSObject holder,
PropertyIndex  field,
Representation  representation 
)
protected
void GenerateLoadInterceptor ( Register  holder_reg,
Handle< Object object,
Handle< JSObject holder,
LookupResult *  lookup,
Handle< Name name 
)
protected
void GenerateLoadPostInterceptor ( Register  reg,
Handle< JSObject interceptor_holder,
Handle< Name name,
LookupResult *  lookup 
)
protected

Definition at line 983 of file stub-cache.cc.

References ASSERT, v8::internal::CALLBACKS, and NULL.

static void GenerateLoadViaGetter ( MacroAssembler masm,
Handle< HeapType type,
Register  receiver,
Handle< JSFunction getter 
)
static
static void GenerateLoadViaGetterForDeopt ( MacroAssembler masm)
inlinestatic
virtual void HandlerFrontendFooter ( Handle< Name name,
Label *  miss 
)
protectedvirtual
Register HandlerFrontendHeader ( Handle< HeapType type,
Register  object_reg,
Handle< JSObject holder,
Handle< Name name,
Label *  miss 
)
protectedvirtual
void NonexistentHandlerFrontend ( Handle< HeapType type,
Handle< JSObject last,
Handle< Name name 
)
protected

Definition at line 864 of file stub-cache.cc.

References ASSERT, v8::internal::handle(), and Handle< T >::is_null().

Friends And Related Function Documentation

friend class BaseLoadStoreStubCompiler
friend

Definition at line 639 of file stub-cache.h.


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