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< 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< JSObject > holder, Handle< AccessorInfo > callback, StrictModeFlag strict_mode)
 
Handle< Code > ComputeStoreViaSetter (Handle< String > name, Handle< JSObject > receiver, Handle< JSObject > holder, 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 > 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::Entry * first_entry (StubCache::Table table)
 
Isolate * isolate ()
 
Heap * heap ()
 
Factory * factory ()
 

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: