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< Code > ComputeLoadNonexistent (Handle< String > name, Handle< JSObject > receiver)
 
Handle< Code > ComputeLoadField (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, int field_index)
 
Handle< Code > ComputeLoadCallback (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, Handle< AccessorInfo > callback)
 
Handle< Code > ComputeLoadViaGetter (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, Handle< JSFunction > getter)
 
Handle< Code > ComputeLoadConstant (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, Handle< JSFunction > value)
 
Handle< Code > ComputeLoadInterceptor (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder)
 
Handle< Code > ComputeLoadNormal ()
 
Handle< Code > ComputeLoadGlobal (Handle< String > name, Handle< JSObject > receiver, Handle< GlobalObject > holder, Handle< JSGlobalPropertyCell > cell, bool is_dont_delete)
 
Handle< Code > ComputeKeyedLoadField (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, int field_index)
 
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 > ComputeKeyedLoadInterceptor (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder)
 
Handle< Code > ComputeKeyedLoadArrayLength (Handle< String > name, Handle< JSArray > receiver)
 
Handle< Code > ComputeKeyedLoadStringLength (Handle< String > name, Handle< String > receiver)
 
Handle< Code > ComputeKeyedLoadFunctionPrototype (Handle< String > name, Handle< JSFunction > receiver)
 
Handle< Code > ComputeStoreField (Handle< String > name, Handle< JSObject > receiver, int field_index, Handle< Map > transition, StrictModeFlag strict_mode)
 
Handle< Code > ComputeStoreNormal (StrictModeFlag strict_mode)
 
Handle< Code > ComputeStoreGlobal (Handle< String > name, Handle< GlobalObject > receiver, Handle< JSGlobalPropertyCell > cell, StrictModeFlag strict_mode)
 
Handle< Code > ComputeStoreCallback (Handle< String > name, Handle< JSObject > receiver, Handle< AccessorInfo > callback, StrictModeFlag strict_mode)
 
Handle< Code > ComputeStoreViaSetter (Handle< String > name, Handle< JSObject > receiver, Handle< JSFunction > setter, StrictModeFlag strict_mode)
 
Handle< Code > ComputeStoreInterceptor (Handle< String > name, Handle< JSObject > receiver, StrictModeFlag strict_mode)
 
Handle< Code > ComputeKeyedStoreField (Handle< String > name, Handle< JSObject > receiver, int field_index, Handle< Map > transition, StrictModeFlag strict_mode)
 
Handle< Code > ComputeKeyedLoadOrStoreElement (Handle< Map > receiver_map, KeyedIC::StubKind stub_kind, StrictModeFlag strict_mode)
 
Handle< Code > ComputeCallField (int argc, Code::Kind, Code::ExtraICState extra_state, Handle< String > name, Handle< Object > object, Handle< JSObject > holder, int index)
 
Handle< Code > ComputeCallConstant (int argc, Code::Kind, Code::ExtraICState extra_state, Handle< String > name, Handle< Object > object, Handle< JSObject > holder, Handle< JSFunction > function)
 
Handle< Code > ComputeCallInterceptor (int argc, Code::Kind, Code::ExtraICState extra_state, Handle< String > name, Handle< Object > object, Handle< JSObject > holder)
 
Handle< Code > ComputeCallGlobal (int argc, Code::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)
 
Handle< Code > ComputeKeyedCallInitialize (int argc)
 
Handle< Code > ComputeCallPreMonomorphic (int argc, Code::Kind kind, Code::ExtraICState extra_state)
 
Handle< Code > ComputeCallNormal (int argc, Code::Kind kind, Code::ExtraICState state)
 
Handle< Code > ComputeCallArguments (int argc, Code::Kind kind)
 
Handle< Code > ComputeCallMegamorphic (int argc, Code::Kind kind, Code::ExtraICState state)
 
Handle< Code > ComputeCallMiss (int argc, Code::Kind kind, Code::ExtraICState state)
 
Code * FindCallInitialize (int argc, RelocInfo::Mode mode, Code::Kind kind)
 
Code * Set (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::Entry * first_entry (StubCache::Table table)
 
Isolate * isolate ()
 
Heap * heap ()
 
Factory * factory ()
 
Zone * zone () 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: