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

#include <stub-cache.h>

Inheritance diagram for KeyedStoreStubCompiler:
Collaboration diagram for KeyedStoreStubCompiler:

Public Member Functions

 KeyedStoreStubCompiler (Isolate *isolate, ExtraICState extra_ic_state)
 
Handle< CodeCompileStoreElement (Handle< Map > receiver_map)
 
Handle< CodeCompileStorePolymorphic (MapHandleList *receiver_maps, CodeHandleList *handler_stubs, MapHandleList *transitioned_maps)
 
Handle< CodeCompileStoreElementPolymorphic (MapHandleList *receiver_maps)
 
- Public Member Functions inherited from StoreStubCompiler
 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 GenerateStoreDictionaryElement (MacroAssembler *masm)
 
- Static Public Member Functions inherited from StoreStubCompiler
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)
 

Friends

class BaseLoadStoreStubCompiler
 

Additional Inherited Members

- Protected Member Functions inherited from StoreStubCompiler
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)
 
- Protected Attributes inherited from BaseLoadStoreStubCompiler
Code::Kind kind_
 
InlineCacheHolderFlag cache_holder_
 
Registerregisters_
 

Detailed Description

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

Constructor & Destructor Documentation

KeyedStoreStubCompiler ( Isolate isolate,
ExtraICState  extra_ic_state 
)
inline

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

Member Function Documentation

Handle< Code > CompileStoreElement ( Handle< Map receiver_map)
Handle<Code> CompileStorePolymorphic ( MapHandleList receiver_maps,
CodeHandleList handler_stubs,
MapHandleList transitioned_maps 
)
void GenerateStoreDictionaryElement ( MacroAssembler masm)
static

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

Referenced by KeyedStoreElementStub::Generate().

Friends And Related Function Documentation

friend class BaseLoadStoreStubCompiler
friend

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


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