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
BaseLoadStoreStubCompiler Class Referenceabstract

#include <stub-cache.h>

Inheritance diagram for BaseLoadStoreStubCompiler:
Collaboration diagram for BaseLoadStoreStubCompiler:

Public Member Functions

 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 Builtins::Name MissBuiltin (Code::Kind kind)
 

Protected Member Functions

virtual Register HandlerFrontendHeader (Handle< HeapType > type, Register object_reg, Handle< JSObject > holder, Handle< Name > name, Label *miss)=0
 
virtual void HandlerFrontendFooter (Handle< Name > name, Label *miss)=0
 
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)
 

Protected Attributes

Code::Kind kind_
 
InlineCacheHolderFlag cache_holder_
 
Registerregisters_
 

Detailed Description

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

Constructor & Destructor Documentation

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

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

References BaseLoadStoreStubCompiler::InitializeRegisters().

virtual ~BaseLoadStoreStubCompiler ( )
inlinevirtual

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

Member Function Documentation

Handle< Code > CompileMonomorphicIC ( Handle< HeapType type,
Handle< Code handler,
Handle< Name name 
)

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

References List< T, P >::Add(), and v8::internal::PROPERTY.

Referenced by StubCache::ComputeMonomorphicIC().

Handle<Code> CompilePolymorphicIC ( TypeHandleList types,
CodeHandleList handlers,
Handle< Name name,
Code::StubType  type,
IcCheckType  check 
)
Handle< Code > GetCode ( Code::Kind  kind,
Code::StubType  type,
Handle< Name name 
)
protected

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

References ASSERT_EQ, code(), and PROFILE.

Handle< Code > GetICCode ( Code::Kind  kind,
Code::StubType  type,
Handle< Name name,
InlineCacheState  state = MONOMORPHIC 
)
protected

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

References code(), and PROFILE.

Register HandlerFrontend ( Handle< HeapType type,
Register  object_reg,
Handle< JSObject holder,
Handle< Name name 
)
protected

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

virtual void HandlerFrontendFooter ( Handle< Name name,
Label *  miss 
)
protectedpure virtual

Implemented in StoreStubCompiler, and LoadStubCompiler.

virtual Register HandlerFrontendHeader ( Handle< HeapType type,
Register  object_reg,
Handle< JSObject holder,
Handle< Name name,
Label *  miss 
)
protectedpure virtual

Implemented in StoreStubCompiler, and LoadStubCompiler.

bool IncludesNumberType ( TypeHandleList types)
protected

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

References List< T, P >::at().

void InitializeRegisters ( )
protected
void JitEvent ( Handle< Name name,
Handle< Code code 
)
protected

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

References GDBJIT.

Code::Kind kind ( )
inlineprotected

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

References BaseLoadStoreStubCompiler::kind_.

Logger::LogEventsAndTags log_kind ( Handle< Code code)
inlineprotected

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

References BaseLoadStoreStubCompiler::kind_, and v8::internal::MONOMORPHIC.

static Builtins::Name MissBuiltin ( Code::Kind  kind)
inlinestatic

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

References UNREACHABLE.

Register name ( )
inlineprotected

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

References BaseLoadStoreStubCompiler::registers_.

Register receiver ( )
inlineprotected

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

References BaseLoadStoreStubCompiler::registers_.

Register scratch1 ( )
inlineprotected

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

References BaseLoadStoreStubCompiler::registers_.

Register scratch2 ( )
inlineprotected

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

References BaseLoadStoreStubCompiler::registers_.

Register scratch3 ( )
inlineprotected

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

References BaseLoadStoreStubCompiler::registers_.

Field Documentation

InlineCacheHolderFlag cache_holder_
protected

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

Code::Kind kind_
protected

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