v8  3.14.5(node0.10.28)
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< CodeComputeLoadNonexistent (Handle< String > name, Handle< JSObject > receiver)
 
Handle< CodeComputeLoadField (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, int field_index)
 
Handle< CodeComputeLoadCallback (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, Handle< AccessorInfo > callback)
 
Handle< CodeComputeLoadViaGetter (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, Handle< JSFunction > getter)
 
Handle< CodeComputeLoadConstant (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, Handle< JSFunction > value)
 
Handle< CodeComputeLoadInterceptor (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder)
 
Handle< CodeComputeLoadNormal ()
 
Handle< CodeComputeLoadGlobal (Handle< String > name, Handle< JSObject > receiver, Handle< GlobalObject > holder, Handle< JSGlobalPropertyCell > cell, bool is_dont_delete)
 
Handle< CodeComputeKeyedLoadField (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, int field_index)
 
Handle< CodeComputeKeyedLoadCallback (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, Handle< AccessorInfo > callback)
 
Handle< CodeComputeKeyedLoadConstant (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, Handle< JSFunction > value)
 
Handle< CodeComputeKeyedLoadInterceptor (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder)
 
Handle< CodeComputeKeyedLoadArrayLength (Handle< String > name, Handle< JSArray > receiver)
 
Handle< CodeComputeKeyedLoadStringLength (Handle< String > name, Handle< String > receiver)
 
Handle< CodeComputeKeyedLoadFunctionPrototype (Handle< String > name, Handle< JSFunction > receiver)
 
Handle< CodeComputeStoreField (Handle< String > name, Handle< JSObject > receiver, int field_index, Handle< Map > transition, StrictModeFlag strict_mode)
 
Handle< CodeComputeStoreNormal (StrictModeFlag strict_mode)
 
Handle< CodeComputeStoreGlobal (Handle< String > name, Handle< GlobalObject > receiver, Handle< JSGlobalPropertyCell > cell, StrictModeFlag strict_mode)
 
Handle< CodeComputeStoreCallback (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, Handle< AccessorInfo > callback, StrictModeFlag strict_mode)
 
Handle< CodeComputeStoreViaSetter (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, Handle< JSFunction > setter, StrictModeFlag strict_mode)
 
Handle< CodeComputeStoreInterceptor (Handle< String > name, Handle< JSObject > receiver, StrictModeFlag strict_mode)
 
Handle< CodeComputeKeyedStoreField (Handle< String > name, Handle< JSObject > receiver, int field_index, Handle< Map > transition, StrictModeFlag strict_mode)
 
Handle< CodeComputeKeyedLoadOrStoreElement (Handle< Map > receiver_map, KeyedIC::StubKind stub_kind, StrictModeFlag strict_mode)
 
Handle< CodeComputeCallField (int argc, Code::Kind, Code::ExtraICState extra_state, Handle< String > name, Handle< Object > object, Handle< JSObject > holder, int index)
 
Handle< CodeComputeCallConstant (int argc, Code::Kind, Code::ExtraICState extra_state, Handle< String > name, Handle< Object > object, Handle< JSObject > holder, Handle< JSFunction > function)
 
Handle< CodeComputeCallInterceptor (int argc, Code::Kind, Code::ExtraICState extra_state, Handle< String > name, Handle< Object > object, Handle< JSObject > holder)
 
Handle< CodeComputeCallGlobal (int argc, Code::Kind, Code::ExtraICState extra_state, Handle< String > name, Handle< JSObject > receiver, Handle< GlobalObject > holder, Handle< JSGlobalPropertyCell > cell, Handle< JSFunction > function)
 
Handle< CodeComputeCallInitialize (int argc, RelocInfo::Mode mode)
 
Handle< CodeComputeKeyedCallInitialize (int argc)
 
Handle< CodeComputeCallPreMonomorphic (int argc, Code::Kind kind, Code::ExtraICState extra_state)
 
Handle< CodeComputeCallNormal (int argc, Code::Kind kind, Code::ExtraICState state)
 
Handle< CodeComputeCallArguments (int argc, Code::Kind kind)
 
Handle< CodeComputeCallMegamorphic (int argc, Code::Kind kind, Code::ExtraICState state)
 
Handle< CodeComputeCallMiss (int argc, Code::Kind kind, Code::ExtraICState state)
 
CodeFindCallInitialize (int argc, RelocInfo::Mode mode, Code::Kind kind)
 
CodeSet (String *name, Map *map, Code *code)
 
void Clear ()
 
void CollectMatchingMaps (SmallMapList *types, String *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 ()
 

Friends

class Isolate
 
class SCTableReference
 

Detailed Description

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

Member Enumeration Documentation

enum Table
Enumerator
kPrimary 
kSecondary 

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

Member Function Documentation

void Clear ( )

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

void CollectMatchingMaps ( SmallMapList types,
String name,
Code::Flags  flags,
Handle< Context native_context,
Zone zone 
)
Handle< Code > ComputeCallArguments ( int  argc,
Code::Kind  kind 
)

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

References ASSERT, code(), v8::internal::MEGAMORPHIC, and v8::internal::NORMAL.

Referenced by KeyedCallIC::LoadFunction().

Handle< Code > ComputeCallField ( int  argc,
Code::Kind  kind,
Code::ExtraICState  extra_state,
Handle< String name,
Handle< Object object,
Handle< JSObject holder,
int  index 
)
Handle< Code > ComputeCallGlobal ( int  argc,
Code::Kind  kind,
Code::ExtraICState  extra_state,
Handle< String name,
Handle< JSObject receiver,
Handle< GlobalObject holder,
Handle< JSGlobalPropertyCell cell,
Handle< JSFunction function 
)
Handle< Code > ComputeCallInitialize ( int  argc,
RelocInfo::Mode  mode 
)

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

Handle< Code > ComputeCallInterceptor ( int  argc,
Code::Kind  kind,
Code::ExtraICState  extra_state,
Handle< String name,
Handle< Object object,
Handle< JSObject holder 
)
Handle< Code > ComputeCallMegamorphic ( int  argc,
Code::Kind  kind,
Code::ExtraICState  state 
)
Handle< Code > ComputeCallMiss ( int  argc,
Code::Kind  kind,
Code::ExtraICState  state 
)
Handle< Code > ComputeCallNormal ( int  argc,
Code::Kind  kind,
Code::ExtraICState  state 
)
Handle< Code > ComputeCallPreMonomorphic ( int  argc,
Code::Kind  kind,
Code::ExtraICState  extra_state 
)

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

References code(), v8::internal::NORMAL, and v8::internal::PREMONOMORPHIC.

Referenced by CallICBase::UpdateCaches().

Handle< Code > ComputeKeyedCallInitialize ( int  argc)

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

Handle< Code > ComputeKeyedLoadArrayLength ( Handle< String name,
Handle< JSArray receiver 
)
Handle< Code > ComputeKeyedLoadCallback ( Handle< String name,
Handle< JSObject receiver,
Handle< JSObject holder,
Handle< AccessorInfo callback 
)
Handle< Code > ComputeKeyedLoadConstant ( Handle< String name,
Handle< JSObject receiver,
Handle< JSObject holder,
Handle< JSFunction value 
)
Handle< Code > ComputeKeyedLoadField ( Handle< String name,
Handle< JSObject receiver,
Handle< JSObject holder,
int  field_index 
)
Handle< Code > ComputeKeyedLoadFunctionPrototype ( Handle< String name,
Handle< JSFunction receiver 
)
Handle< Code > ComputeKeyedLoadInterceptor ( Handle< String name,
Handle< JSObject receiver,
Handle< JSObject holder 
)
Handle< Code > ComputeKeyedLoadStringLength ( Handle< String name,
Handle< String receiver 
)
Handle< Code > ComputeKeyedStoreField ( Handle< String name,
Handle< JSObject receiver,
int  field_index,
Handle< Map transition,
StrictModeFlag  strict_mode 
)
Handle< Code > ComputeLoadCallback ( Handle< String name,
Handle< JSObject receiver,
Handle< JSObject holder,
Handle< AccessorInfo callback 
)
Handle< Code > ComputeLoadConstant ( Handle< String name,
Handle< JSObject receiver,
Handle< JSObject holder,
Handle< JSFunction value 
)
Handle< Code > ComputeLoadField ( Handle< String name,
Handle< JSObject receiver,
Handle< JSObject holder,
int  field_index 
)
Handle< Code > ComputeLoadGlobal ( Handle< String name,
Handle< JSObject receiver,
Handle< GlobalObject holder,
Handle< JSGlobalPropertyCell cell,
bool  is_dont_delete 
)
Handle< Code > ComputeLoadInterceptor ( Handle< String name,
Handle< JSObject receiver,
Handle< JSObject holder 
)
Handle< Code > ComputeLoadNonexistent ( Handle< String name,
Handle< JSObject receiver 
)
Handle< Code > ComputeLoadNormal ( )

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

Handle< Code > ComputeLoadViaGetter ( Handle< String name,
Handle< JSObject receiver,
Handle< JSObject holder,
Handle< JSFunction getter 
)
Handle< Code > ComputeStoreCallback ( Handle< String name,
Handle< JSObject receiver,
Handle< JSObject holder,
Handle< AccessorInfo callback,
StrictModeFlag  strict_mode 
)
Handle< Code > ComputeStoreField ( Handle< String name,
Handle< JSObject receiver,
int  field_index,
Handle< Map transition,
StrictModeFlag  strict_mode 
)
Handle< Code > ComputeStoreGlobal ( Handle< String name,
Handle< GlobalObject receiver,
Handle< JSGlobalPropertyCell cell,
StrictModeFlag  strict_mode 
)
Handle< Code > ComputeStoreInterceptor ( Handle< String name,
Handle< JSObject receiver,
StrictModeFlag  strict_mode 
)
Handle< Code > ComputeStoreNormal ( StrictModeFlag  strict_mode)

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

References v8::internal::kStrictMode.

Handle< Code > ComputeStoreViaSetter ( Handle< String name,
Handle< JSObject receiver,
Handle< JSObject holder,
Handle< JSFunction setter,
StrictModeFlag  strict_mode 
)
Factory* factory ( )
inline

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

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

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 314 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 313 of file stub-cache.h.

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

SCTableReference key_reference ( StubCache::Table  table)
inline

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

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

SCTableReference map_reference ( StubCache::Table  table)
inline

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

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

SCTableReference value_reference ( StubCache::Table  table)
inline

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

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

Friends And Related Function Documentation

friend class Isolate
friend

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

friend class SCTableReference
friend

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