V8 Project
v8::internal::StoreFieldStub Class Reference

#include <code-stubs.h>

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

Classes

class  RepresentationBits
 
class  StoreFieldByIndexBits
 

Public Member Functions

 StoreFieldStub (Isolate *isolate, FieldIndex index, Representation representation)
 
FieldIndex index () const
 
Representation representation ()
 
- Public Member Functions inherited from v8::internal::HandlerStub
virtual Code::Kind GetCodeKind () const
 
virtual ExtraICState GetExtraICState () const
 
virtual InlineCacheState GetICState () const
 
virtual void InitializeDescriptor (CodeStubDescriptor *descriptor) OVERRIDE
 
virtual CallInterfaceDescriptor GetCallInterfaceDescriptor () OVERRIDE
 
- Public Member Functions inherited from v8::internal::HydrogenCodeStub
virtual Handle< CodeGenerateCode ()=0
 
bool IsUninitialized () const
 
Handle< CodeGenerateLightweightMissCode (ExternalReference miss)
 
template<class StateType >
void TraceTransition (StateType from, StateType to)
 

Protected Member Functions

virtual Code::Kind kind () const
 
virtual Code::StubType GetStubType ()
 
- Protected Member Functions inherited from v8::internal::HandlerStub
 HandlerStub (Isolate *isolate)
 
 DEFINE_CODE_STUB_BASE (HandlerStub, HydrogenCodeStub)
 
- 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
 

Private Member Functions

 DEFINE_HANDLER_CODE_STUB (StoreField, HandlerStub)
 

Additional Inherited Members

- Public Types inherited from v8::internal::HydrogenCodeStub
enum  InitializationState { UNINITIALIZED , INITIALIZED }
 
- Static Public Member Functions inherited from v8::internal::HydrogenCodeStub
template<class SubClass >
static Handle< CodeGetUninitialized (Isolate *isolate)
 
- Static Protected Attributes inherited from v8::internal::HydrogenCodeStub
static const int kSubMinorKeyBits = kStubMinorKeyBits - 1
 

Detailed Description

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

Constructor & Destructor Documentation

◆ StoreFieldStub()

v8::internal::StoreFieldStub::StoreFieldStub ( Isolate isolate,
FieldIndex  index,
Representation  representation 
)
inline

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

972  : HandlerStub(isolate) {
973  int property_index_key = index.GetFieldAccessStubKey();
974  uint8_t repr = PropertyDetails::EncodeRepresentation(representation);
977  }
static U encode(T value)
Definition: utils.h:217
HandlerStub(Isolate *isolate)
Definition: code-stubs.h:889
void set_sub_minor_key(uint32_t key)
Definition: code-stubs.h:463
FieldIndex index() const
Definition: code-stubs.h:979
Representation representation()
Definition: code-stubs.h:984

References v8::internal::BitFieldBase< T, shift, size, U >::encode(), index(), representation(), and v8::internal::HydrogenCodeStub::set_sub_minor_key().

+ Here is the call graph for this function:

Member Function Documentation

◆ DEFINE_HANDLER_CODE_STUB()

v8::internal::StoreFieldStub::DEFINE_HANDLER_CODE_STUB ( StoreField  ,
HandlerStub   
)
private

◆ GetStubType()

virtual Code::StubType v8::internal::StoreFieldStub::GetStubType ( )
inlineprotectedvirtual

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

991 { return Code::FAST; }

References v8::internal::Code::FAST.

◆ index()

FieldIndex v8::internal::StoreFieldStub::index ( ) const
inline

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

979  {
980  int property_index_key = StoreFieldByIndexBits::decode(sub_minor_key());
981  return FieldIndex::FromFieldAccessStubKey(property_index_key);
982  }
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 StoreFieldStub().

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

◆ kind()

virtual Code::Kind v8::internal::StoreFieldStub::kind ( ) const
inlineprotectedvirtual

Implements v8::internal::HandlerStub.

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

990 { return Code::STORE_IC; }

◆ representation()

Representation v8::internal::StoreFieldStub::representation ( )
inline

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

984  {
985  uint8_t repr = RepresentationBits::decode(sub_minor_key());
986  return PropertyDetails::DecodeRepresentation(repr);
987  }

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

Referenced by StoreFieldStub().

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

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