v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::FieldIndex Class Referencefinal

#include <field-index.h>

Collaboration diagram for v8::internal::FieldIndex:

Public Types

enum  Encoding { kTagged , kDouble , kWord32 }
 

Public Member Functions

 FieldIndex ()
 
int GetLoadByFieldIndex () const
 
bool is_inobject () const
 
bool is_double () const
 
int offset () const
 
uint64_t bit_field () const
 
int index () const
 
int outobject_array_index () const
 
int property_index () const
 
int GetFieldAccessStubKey () const
 
bool operator== (FieldIndex const &other) const
 
bool operator!= (FieldIndex const &other) const
 

Static Public Member Functions

static FieldIndex ForPropertyIndex (Tagged< Map > map, int index, Representation representation=Representation::Tagged())
 
static FieldIndex ForInObjectOffset (int offset, Encoding encoding)
 
static FieldIndex ForSmiLoadHandler (Tagged< Map > map, int32_t handler)
 
static FieldIndex ForDescriptor (Tagged< Map > map, InternalIndex descriptor_index)
 
static FieldIndex ForDescriptor (PtrComprCageBase cage_base, Tagged< Map > map, InternalIndex descriptor_index)
 
static FieldIndex ForDetails (Tagged< Map > map, PropertyDetails details)
 

Private Types

using OffsetBits = base::BitField64<int, 0, kOffsetBitsSize>
 
using IsInObjectBits = OffsetBits::Next<bool, 1>
 
using EncodingBits = IsInObjectBits::Next<Encoding, 2>
 
using InObjectPropertyBits
 
using FirstInobjectPropertyOffsetBits
 

Private Member Functions

 FieldIndex (bool is_inobject, int offset, Encoding encoding, int inobject_properties, int first_inobject_property_offset)
 
int first_inobject_property_offset () const
 

Static Private Member Functions

static Encoding FieldEncoding (Representation representation)
 

Private Attributes

uint64_t bit_field_
 

Static Private Attributes

static const int kOffsetBitsSize
 

Detailed Description

Definition at line 22 of file field-index.h.

Member Typedef Documentation

◆ EncodingBits

◆ FirstInobjectPropertyOffsetBits

◆ InObjectPropertyBits

◆ IsInObjectBits

Definition at line 119 of file field-index.h.

◆ OffsetBits

Definition at line 118 of file field-index.h.

Member Enumeration Documentation

◆ Encoding

Enumerator
kTagged 
kDouble 
kWord32 

Definition at line 24 of file field-index.h.

Constructor & Destructor Documentation

◆ FieldIndex() [1/2]

v8::internal::FieldIndex::FieldIndex ( )
inline

Definition at line 26 of file field-index.h.

Here is the caller graph for this function:

◆ FieldIndex() [2/2]

v8::internal::FieldIndex::FieldIndex ( bool is_inobject,
int offset,
Encoding encoding,
int inobject_properties,
int first_inobject_property_offset )
inlineprivate

Definition at line 82 of file field-index.h.

Here is the call graph for this function:

Member Function Documentation

◆ bit_field()

uint64_t v8::internal::FieldIndex::bit_field ( ) const
inline

Definition at line 48 of file field-index.h.

◆ FieldEncoding()

static Encoding v8::internal::FieldIndex::FieldEncoding ( Representation representation)
inlinestaticprivate

Definition at line 93 of file field-index.h.

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

◆ first_inobject_property_offset()

int v8::internal::FieldIndex::first_inobject_property_offset ( ) const
inlineprivate

Definition at line 110 of file field-index.h.

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

◆ ForDescriptor() [1/2]

FieldIndex v8::internal::FieldIndex::ForDescriptor ( PtrComprCageBase cage_base,
Tagged< Map > map,
InternalIndex descriptor_index )
inlinestatic

Definition at line 91 of file field-index-inl.h.

Here is the call graph for this function:

◆ ForDescriptor() [2/2]

FieldIndex v8::internal::FieldIndex::ForDescriptor ( Tagged< Map > map,
InternalIndex descriptor_index )
inlinestatic

Definition at line 85 of file field-index-inl.h.

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

◆ ForDetails()

FieldIndex v8::internal::FieldIndex::ForDetails ( Tagged< Map > map,
PropertyDetails details )
inlinestatic

Definition at line 99 of file field-index-inl.h.

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

◆ ForInObjectOffset()

FieldIndex v8::internal::FieldIndex::ForInObjectOffset ( int offset,
Encoding encoding )
inlinestatic

Definition at line 20 of file field-index-inl.h.

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

◆ ForPropertyIndex()

FieldIndex v8::internal::FieldIndex::ForPropertyIndex ( Tagged< Map > map,
int index,
Representation representation = Representation::Tagged() )
inlinestatic

Definition at line 44 of file field-index-inl.h.

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

◆ ForSmiLoadHandler()

FieldIndex v8::internal::FieldIndex::ForSmiLoadHandler ( Tagged< Map > map,
int32_t handler )
inlinestatic

Definition at line 27 of file field-index-inl.h.

Here is the call graph for this function:

◆ GetFieldAccessStubKey()

int v8::internal::FieldIndex::GetFieldAccessStubKey ( ) const
inline

Definition at line 71 of file field-index.h.

Here is the caller graph for this function:

◆ GetLoadByFieldIndex()

int v8::internal::FieldIndex::GetLoadByFieldIndex ( ) const
inline

Definition at line 67 of file field-index-inl.h.

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

◆ index()

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

Definition at line 51 of file field-index.h.

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

◆ is_double()

bool v8::internal::FieldIndex::is_double ( ) const
inline

Definition at line 44 of file field-index.h.

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

◆ is_inobject()

bool v8::internal::FieldIndex::is_inobject ( ) const
inline

Definition at line 42 of file field-index.h.

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

◆ offset()

int v8::internal::FieldIndex::offset ( ) const
inline

Definition at line 46 of file field-index.h.

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

◆ operator!=()

bool v8::internal::FieldIndex::operator!= ( FieldIndex const & other) const
inline

Definition at line 79 of file field-index.h.

◆ operator==()

bool v8::internal::FieldIndex::operator== ( FieldIndex const & other) const
inline

Definition at line 76 of file field-index.h.

◆ outobject_array_index()

int v8::internal::FieldIndex::outobject_array_index ( ) const
inline

Definition at line 56 of file field-index.h.

Here is the call graph for this function:

◆ property_index()

int v8::internal::FieldIndex::property_index ( ) const
inline

Definition at line 63 of file field-index.h.

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

Member Data Documentation

◆ bit_field_

uint64_t v8::internal::FieldIndex::bit_field_
private

Definition at line 129 of file field-index.h.

◆ kOffsetBitsSize

const int v8::internal::FieldIndex::kOffsetBitsSize
staticprivate
Initial value:
=
constexpr int kTaggedSizeLog2
Definition globals.h:543
static const int kDescriptorIndexBitCount

Definition at line 114 of file field-index.h.


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