v8  3.11.10(node0.8.26)
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< AccessorInfo > callback, StrictModeFlag strict_mode)
 
Handle< CodeComputeStoreViaSetter (Handle< String > name, Handle< JSObject > receiver, 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 > global_context)
 
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 ()
 
Zonezone () const
 

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

Member Function Documentation

void Clear ( )

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

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

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

References ASSERT, 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 772 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 
)

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

References v8::internal::MONOMORPHIC, and v8::internal::NORMAL.

Referenced by CallICBase::ComputeMonomorphicStub().

Handle< Code > ComputeCallPreMonomorphic ( int  argc,
Code::Kind  kind,
Code::ExtraICState  extra_state 
)

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

References v8::internal::NORMAL, and v8::internal::PREMONOMORPHIC.

Referenced by CallICBase::UpdateCaches().

Handle< Code > ComputeKeyedCallInitialize ( int  argc)

Definition at line 777 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 > 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 232 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< 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 474 of file stub-cache.cc.

References v8::internal::kStrictMode.

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

Definition at line 312 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 311 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 310 of file stub-cache.h.

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

SCTableReference key_reference ( StubCache::Table  table)
inline

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

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

SCTableReference map_reference ( StubCache::Table  table)
inline

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

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

SCTableReference value_reference ( StubCache::Table  table)
inline

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

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

Zone* zone ( ) const
inline

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

Friends And Related Function Documentation

friend class Isolate
friend

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

friend class SCTableReference
friend

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