V8 Project
v8::internal::ElementsTransitionAndStoreStub Class Reference

#include <code-stubs.h>

+ Inheritance diagram for v8::internal::ElementsTransitionAndStoreStub:
+ Collaboration diagram for v8::internal::ElementsTransitionAndStoreStub:

Classes

class  FromBits
 
class  IsJSArrayBits
 
class  StoreModeBits
 
class  ToBits
 

Public Types

enum  ParameterIndices {
  kValueIndex , kMapIndex , kKeyIndex , kObjectIndex ,
  kParameterCount
}
 
- Public Types inherited from v8::internal::HydrogenCodeStub
enum  InitializationState { UNINITIALIZED , INITIALIZED }
 

Public Member Functions

 ElementsTransitionAndStoreStub (Isolate *isolate, ElementsKind from_kind, ElementsKind to_kind, bool is_jsarray, KeyedAccessStoreMode store_mode)
 
ElementsKind from_kind () const
 
ElementsKind to_kind () const
 
bool is_jsarray () const
 
KeyedAccessStoreMode store_mode () const
 
- Public Member Functions inherited from v8::internal::HydrogenCodeStub
virtual Code::Kind GetCodeKind () const
 
virtual Handle< CodeGenerateCode ()=0
 
bool IsUninitialized () const
 
Handle< CodeGenerateLightweightMissCode (ExternalReference miss)
 
template<class StateType >
void TraceTransition (StateType from, StateType to)
 

Static Public Member Functions

static const Register ValueRegister ()
 
static const Register MapRegister ()
 
static const Register KeyRegister ()
 
static const Register ObjectRegister ()
 
- Static Public Member Functions inherited from v8::internal::HydrogenCodeStub
template<class SubClass >
static Handle< CodeGetUninitialized (Isolate *isolate)
 

Private Member Functions

 DEFINE_CALL_INTERFACE_DESCRIPTOR (ElementTransitionAndStore)
 
 DEFINE_HYDROGEN_CODE_STUB (ElementsTransitionAndStore, HydrogenCodeStub)
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::HydrogenCodeStub
 HydrogenCodeStub (Isolate *isolate, InitializationState state=INITIALIZED)
 
void set_sub_minor_key (uint32_t key)
 
uint32_t sub_minor_key () const
 
- Static Protected Attributes inherited from v8::internal::HydrogenCodeStub
static const int kSubMinorKeyBits = kStubMinorKeyBits - 1
 

Detailed Description

Definition at line 2289 of file code-stubs.h.

Member Enumeration Documentation

◆ ParameterIndices

Constructor & Destructor Documentation

◆ ElementsTransitionAndStoreStub()

v8::internal::ElementsTransitionAndStoreStub::ElementsTransitionAndStoreStub ( Isolate isolate,
ElementsKind  from_kind,
ElementsKind  to_kind,
bool  is_jsarray,
KeyedAccessStoreMode  store_mode 
)
inline

Definition at line 2291 of file code-stubs.h.

2294  : HydrogenCodeStub(isolate) {
2298  }
static U encode(T value)
Definition: utils.h:217
KeyedAccessStoreMode store_mode() const
Definition: code-stubs.h:2303
HydrogenCodeStub(Isolate *isolate, InitializationState state=INITIALIZED)
Definition: code-stubs.h:457
void set_sub_minor_key(uint32_t key)
Definition: code-stubs.h:463

References v8::internal::BitFieldBase< T, shift, size, U >::encode(), from_kind(), is_jsarray(), v8::internal::HydrogenCodeStub::set_sub_minor_key(), store_mode(), and to_kind().

+ Here is the call graph for this function:

Member Function Documentation

◆ DEFINE_CALL_INTERFACE_DESCRIPTOR()

v8::internal::ElementsTransitionAndStoreStub::DEFINE_CALL_INTERFACE_DESCRIPTOR ( ElementTransitionAndStore  )
private

◆ DEFINE_HYDROGEN_CODE_STUB()

v8::internal::ElementsTransitionAndStoreStub::DEFINE_HYDROGEN_CODE_STUB ( ElementsTransitionAndStore  ,
HydrogenCodeStub   
)
private

◆ from_kind()

ElementsKind v8::internal::ElementsTransitionAndStoreStub::from_kind ( ) const
inline

Definition at line 2300 of file code-stubs.h.

2300 { return FromBits::decode(sub_minor_key()); }
static T decode(U value)
Definition: utils.h:228
uint32_t sub_minor_key() const
Definition: code-stubs.h:467

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::HydrogenCodeStub::sub_minor_key().

Referenced by ElementsTransitionAndStoreStub().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ is_jsarray()

bool v8::internal::ElementsTransitionAndStoreStub::is_jsarray ( ) const
inline

Definition at line 2302 of file code-stubs.h.

2302 { return IsJSArrayBits::decode(sub_minor_key()); }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::HydrogenCodeStub::sub_minor_key().

Referenced by ElementsTransitionAndStoreStub().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ KeyRegister()

static const Register v8::internal::ElementsTransitionAndStoreStub::KeyRegister ( )
inlinestatic

Definition at line 2322 of file code-stubs.h.

2322  {
2324  }
static const Register NameRegister()

References v8::internal::StoreDescriptor::NameRegister().

+ Here is the call graph for this function:

◆ MapRegister()

static const Register v8::internal::ElementsTransitionAndStoreStub::MapRegister ( )
inlinestatic

Definition at line 2319 of file code-stubs.h.

References v8::internal::ElementTransitionAndStoreDescriptor::MapRegister().

+ Here is the call graph for this function:

◆ ObjectRegister()

static const Register v8::internal::ElementsTransitionAndStoreStub::ObjectRegister ( )
inlinestatic

Definition at line 2325 of file code-stubs.h.

2325  {
2327  }
static const Register ReceiverRegister()

References v8::internal::StoreDescriptor::ReceiverRegister().

+ Here is the call graph for this function:

◆ store_mode()

KeyedAccessStoreMode v8::internal::ElementsTransitionAndStoreStub::store_mode ( ) const
inline

Definition at line 2303 of file code-stubs.h.

2303  {
2305  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::HydrogenCodeStub::sub_minor_key().

Referenced by ElementsTransitionAndStoreStub().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ to_kind()

ElementsKind v8::internal::ElementsTransitionAndStoreStub::to_kind ( ) const
inline

Definition at line 2301 of file code-stubs.h.

2301 { return ToBits::decode(sub_minor_key()); }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::HydrogenCodeStub::sub_minor_key().

Referenced by ElementsTransitionAndStoreStub().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ValueRegister()

static const Register v8::internal::ElementsTransitionAndStoreStub::ValueRegister ( )
inlinestatic

Definition at line 2316 of file code-stubs.h.

2316  {
2318  }
static const Register ValueRegister()

References v8::internal::StoreDescriptor::ValueRegister().

+ Here is the call graph for this function:

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