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

#include <stub-cache.h>

Data Structures

struct  Entry
 

Public Types

enum  Table { kPrimary, kSecondary }
 

Public Member Functions

void Initialize ()
 
Handle< JSObjectStubHolder (Handle< JSObject > receiver, Handle< JSObject > holder)
 
Handle< CodeFindIC (Handle< Name > name, Handle< Map > stub_holder_map, Code::Kind kind, ExtraICState extra_state=kNoExtraICState, InlineCacheHolderFlag cache_holder=OWN_MAP)
 
Handle< CodeFindHandler (Handle< Name > name, Handle< Map > map, Code::Kind kind, InlineCacheHolderFlag cache_holder, Code::StubType type)
 
Handle< CodeComputeMonomorphicIC (Code::Kind kind, Handle< Name > name, Handle< HeapType > type, Handle< Code > handler, ExtraICState extra_ic_state)
 
Handle< CodeComputeLoadNonexistent (Handle< Name > name, Handle< HeapType > type)
 
Handle< CodeComputeKeyedLoadElement (Handle< Map > receiver_map)
 
Handle< CodeComputeKeyedStoreElement (Handle< Map > receiver_map, StrictMode strict_mode, KeyedAccessStoreMode store_mode)
 
Handle< CodeComputeLoad (InlineCacheState ic_state, ExtraICState extra_state)
 
Handle< CodeComputeStore (InlineCacheState ic_state, ExtraICState extra_state)
 
Handle< CodeComputeCompareNil (Handle< Map > receiver_map, CompareNilICStub &stub)
 
Handle< CodeComputeLoadElementPolymorphic (MapHandleList *receiver_maps)
 
Handle< CodeComputeStoreElementPolymorphic (MapHandleList *receiver_maps, KeyedAccessStoreMode store_mode, StrictMode strict_mode)
 
Handle< CodeComputePolymorphicIC (Code::Kind kind, TypeHandleList *types, CodeHandleList *handlers, int number_of_valid_maps, Handle< Name > name, ExtraICState extra_ic_state)
 
CodeFindPreMonomorphicIC (Code::Kind kind, ExtraICState extra_ic_state)
 
CodeSet (Name *name, Map *map, Code *code)
 
void Clear ()
 
void CollectMatchingMaps (SmallMapList *types, Handle< Name > name, Code::Flags flags, Handle< Context > native_context, Zone *zone)
 
void GenerateProbe (MacroAssembler *masm, Code::Flags flags, Register receiver, Register name, Register scratch, Register extra, Register extra2=no_reg, Register extra3=no_reg)
 
SCTableReference key_reference (StubCache::Table table)
 
SCTableReference map_reference (StubCache::Table table)
 
SCTableReference value_reference (StubCache::Table table)
 
StubCache::Entryfirst_entry (StubCache::Table table)
 
Isolateisolate ()
 
Heapheap ()
 
Factoryfactory ()
 

Static Public Attributes

static const int kInterceptorArgsNameIndex = 0
 
static const int kInterceptorArgsInfoIndex = 1
 
static const int kInterceptorArgsThisIndex = 2
 
static const int kInterceptorArgsHolderIndex = 3
 
static const int kInterceptorArgsLength = 4
 

Friends

class Isolate
 
class SCTableReference
 

Detailed Description

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

Member Enumeration Documentation

enum Table
Enumerator
kPrimary 
kSecondary 

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

Member Function Documentation

void Clear ( )

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

References HeapObject::map(), and NULL.

void CollectMatchingMaps ( SmallMapList *  types,
Handle< Name name,
Code::Flags  flags,
Handle< Context native_context,
Zone zone 
)

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

References map, and NULL.

Handle< Code > ComputeCompareNil ( Handle< Map receiver_map,
CompareNilICStub stub 
)
Handle< Code > ComputeKeyedLoadElement ( Handle< Map receiver_map)

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

References code(), KeyedLoadStubCompiler::CompileLoadElement(), flags, and name.

Referenced by KeyedLoadIC::LoadElementStub().

Handle< Code > ComputeLoadElementPolymorphic ( MapHandleList receiver_maps)
Handle< Code > ComputeLoadNonexistent ( Handle< Name name,
Handle< HeapType type 
)
Handle< Code > ComputeMonomorphicIC ( Code::Kind  kind,
Handle< Name name,
Handle< HeapType type,
Handle< Code handler,
ExtraICState  extra_ic_state 
)
Handle< Code > ComputePolymorphicIC ( Code::Kind  kind,
TypeHandleList types,
CodeHandleList handlers,
int  number_of_valid_maps,
Handle< Name name,
ExtraICState  extra_ic_state 
)
Factory* factory ( )
inline

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

References Isolate::factory(), and StubCache::isolate().

Handle< Code > FindHandler ( Handle< Name name,
Handle< Map map,
Code::Kind  kind,
InlineCacheHolderFlag  cache_holder,
Code::StubType  type 
)

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

References flags.

Referenced by IC::ComputeHandler().

Handle< Code > FindIC ( Handle< Name name,
Handle< Map stub_holder_map,
Code::Kind  kind,
ExtraICState  extra_state = kNoExtraICState,
InlineCacheHolderFlag  cache_holder = OWN_MAP 
)

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

References flags.

Code * FindPreMonomorphicIC ( Code::Kind  kind,
ExtraICState  extra_ic_state 
)
void GenerateProbe ( MacroAssembler masm,
Code::Flags  flags,
Register  receiver,
Register  name,
Register  scratch,
Register  extra,
Register  extra2 = no_reg,
Register  extra3 = no_reg 
)
Heap* heap ( )
inline

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

References Isolate::heap(), and StubCache::isolate().

void Initialize ( )

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

References ASSERT, and v8::internal::IsPowerOf2().

Isolate* isolate ( )
inline

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

Referenced by StubCache::factory(), and StubCache::heap().

SCTableReference key_reference ( StubCache::Table  table)
inline

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

References StubCache::first_entry(), and StubCache::SCTableReference.

SCTableReference map_reference ( StubCache::Table  table)
inline
Handle<JSObject> StubHolder ( Handle< JSObject receiver,
Handle< JSObject holder 
)
SCTableReference value_reference ( StubCache::Table  table)
inline

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

References StubCache::first_entry(), and StubCache::SCTableReference.

Friends And Related Function Documentation

friend class Isolate
friend

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

friend class SCTableReference
friend

Field Documentation

const int kInterceptorArgsHolderIndex = 3
static

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

const int kInterceptorArgsInfoIndex = 1
static

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

const int kInterceptorArgsLength = 4
static

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

const int kInterceptorArgsNameIndex = 0
static

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

const int kInterceptorArgsThisIndex = 2
static

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


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