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

#include <stub-cache.h>

Inheritance diagram for StoreStubCompiler:
Collaboration diagram for StoreStubCompiler:

Public Member Functions

 StoreStubCompiler (Isolate *isolate, ExtraICState extra_ic_state, Code::Kind kind=Code::STORE_IC)
 
virtual ~StoreStubCompiler ()
 
Handle< CodeCompileStoreTransition (Handle< JSObject > object, LookupResult *lookup, Handle< Map > transition, Handle< Name > name)
 
Handle< CodeCompileStoreField (Handle< JSObject > object, LookupResult *lookup, Handle< Name > name)
 
Handle< CodeCompileStoreArrayLength (Handle< JSObject > object, LookupResult *lookup, Handle< Name > name)
 
void GenerateStoreArrayLength ()
 
void GenerateNegativeHolderLookup (MacroAssembler *masm, Handle< JSObject > holder, Register holder_reg, Handle< Name > name, Label *miss)
 
void GenerateStoreTransition (MacroAssembler *masm, Handle< JSObject > object, LookupResult *lookup, Handle< Map > transition, Handle< Name > name, Register receiver_reg, Register name_reg, Register value_reg, Register scratch1, Register scratch2, Register scratch3, Label *miss_label, Label *slow)
 
void GenerateStoreField (MacroAssembler *masm, Handle< JSObject > object, LookupResult *lookup, Register receiver_reg, Register name_reg, Register value_reg, Register scratch1, Register scratch2, Label *miss_label)
 
Handle< CodeCompileStoreCallback (Handle< JSObject > object, Handle< JSObject > holder, Handle< Name > name, Handle< ExecutableAccessorInfo > callback)
 
Handle< CodeCompileStoreCallback (Handle< JSObject > object, Handle< JSObject > holder, Handle< Name > name, const CallOptimization &call_optimization)
 
Handle< CodeCompileStoreViaSetter (Handle< JSObject > object, Handle< JSObject > holder, Handle< Name > name, Handle< JSFunction > setter)
 
Handle< CodeCompileStoreInterceptor (Handle< JSObject > object, Handle< Name > name)
 
- 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 GenerateStoreViaSetter (MacroAssembler *masm, Handle< HeapType > type, Register receiver, Handle< JSFunction > setter)
 
static void GenerateStoreViaSetterForDeopt (MacroAssembler *masm)
 
static Builtins::Name SlowBuiltin (Code::Kind kind)
 
- Static Public Member Functions inherited from BaseLoadStoreStubCompiler
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)
 
virtual void HandlerFrontendFooter (Handle< Name > name, Label *miss)
 
void GenerateRestoreName (MacroAssembler *masm, Label *label, Handle< Name > name)
 
- 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 664 of file stub-cache.h.

Constructor & Destructor Documentation

StoreStubCompiler ( Isolate isolate,
ExtraICState  extra_ic_state,
Code::Kind  kind = Code::STORE_IC 
)
inline

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

virtual ~StoreStubCompiler ( )
inlinevirtual

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

Member Function Documentation

Handle< Code > CompileStoreArrayLength ( Handle< JSObject object,
LookupResult *  lookup,
Handle< Name name 
)

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

References __.

Handle<Code> CompileStoreCallback ( Handle< JSObject object,
Handle< JSObject holder,
Handle< Name name,
Handle< ExecutableAccessorInfo callback 
)
Handle< Code > CompileStoreCallback ( Handle< JSObject object,
Handle< JSObject holder,
Handle< Name name,
const CallOptimization &  call_optimization 
)

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

References v8::internal::handle().

Handle< Code > CompileStoreField ( Handle< JSObject object,
LookupResult *  lookup,
Handle< Name name 
)

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

References __, and name.

Handle<Code> CompileStoreInterceptor ( Handle< JSObject object,
Handle< Name name 
)
Handle< Code > CompileStoreTransition ( Handle< JSObject object,
LookupResult *  lookup,
Handle< Map transition,
Handle< Name name 
)

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

References __, and name.

Handle< Code > CompileStoreViaSetter ( Handle< JSObject object,
Handle< JSObject holder,
Handle< Name name,
Handle< JSFunction setter 
)

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

void GenerateNegativeHolderLookup ( MacroAssembler masm,
Handle< JSObject holder,
Register  holder_reg,
Handle< Name name,
Label *  miss 
)
void GenerateRestoreName ( MacroAssembler masm,
Label *  label,
Handle< Name name 
)
protected
void GenerateStoreArrayLength ( )
void GenerateStoreField ( MacroAssembler masm,
Handle< JSObject object,
LookupResult *  lookup,
Register  receiver_reg,
Register  name_reg,
Register  value_reg,
Register  scratch1,
Register  scratch2,
Label *  miss_label 
)
void GenerateStoreTransition ( MacroAssembler masm,
Handle< JSObject object,
LookupResult *  lookup,
Handle< Map transition,
Handle< Name name,
Register  receiver_reg,
Register  name_reg,
Register  value_reg,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Label *  miss_label,
Label *  slow 
)
static void GenerateStoreViaSetter ( MacroAssembler masm,
Handle< HeapType type,
Register  receiver,
Handle< JSFunction setter 
)
static
static void GenerateStoreViaSetterForDeopt ( 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

Implements BaseLoadStoreStubCompiler.

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

References name, and v8::internal::SKIP_RECEIVER.

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

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

References UNREACHABLE.

Friends And Related Function Documentation

friend class BaseLoadStoreStubCompiler
friend

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


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