V8 Project
v8::internal::LoadFieldStub Class Reference

#include <code-stubs.h>

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

Classes

class  LoadFieldByIndexBits
 

Public Member Functions

 LoadFieldStub (Isolate *isolate, FieldIndex index)
 
FieldIndex index () const
 
- 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 (LoadField, 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 897 of file code-stubs.h.

Constructor & Destructor Documentation

◆ LoadFieldStub()

v8::internal::LoadFieldStub::LoadFieldStub ( Isolate isolate,
FieldIndex  index 
)
inline

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

899  : HandlerStub(isolate) {
900  int property_index_key = index.GetFieldAccessStubKey();
901  set_sub_minor_key(LoadFieldByIndexBits::encode(property_index_key));
902  }
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:904

References v8::internal::BitFieldBase< T, shift, size, U >::encode(), index(), 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::LoadFieldStub::DEFINE_HANDLER_CODE_STUB ( LoadField  ,
HandlerStub   
)
private

◆ GetStubType()

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

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

911 { return Code::FAST; }

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

◆ index()

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

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

904  {
905  int property_index_key = LoadFieldByIndexBits::decode(sub_minor_key());
906  return FieldIndex::FromFieldAccessStubKey(property_index_key);
907  }
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 LoadFieldStub().

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

◆ kind()

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

Implements v8::internal::HandlerStub.

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

910 { return Code::LOAD_IC; }

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