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

#include <property-details.h>

Collaboration diagram for v8::internal::PropertyDetails:

Public Types

enum  PrintMode {
  kPrintAttributes = 1 << 0 , kPrintFieldIndex = 1 << 1 , kPrintRepresentation = 1 << 2 , kPrintPointer = 1 << 3 ,
  kForProperties = kPrintFieldIndex | kPrintAttributes , kForTransitions = kPrintAttributes , kPrintFull = -1
}
 
using KindField = base::BitField<PropertyKind, 0, 1>
 
using ConstnessField = KindField::Next<PropertyConstness, 1>
 
using AttributesField = ConstnessField::Next<PropertyAttributes, 3>
 
using PropertyCellTypeField = AttributesField::Next<PropertyCellType, 3>
 
using DictionaryStorageField = PropertyCellTypeField::Next<uint32_t, 23>
 
using LocationField = AttributesField::Next<PropertyLocation, 1>
 
using RepresentationField = LocationField::Next<uint32_t, 3>
 
using DescriptorPointer
 
using FieldIndexField
 

Public Member Functions

constexpr PropertyDetails (PropertyKind kind, PropertyAttributes attributes, PropertyCellType cell_type, int dictionary_index=0)
 
constexpr PropertyDetails (PropertyKind kind, PropertyAttributes attributes, PropertyConstness constness, int dictionary_index=0)
 
constexpr PropertyDetails (PropertyKind kind, PropertyAttributes attributes, PropertyLocation location, PropertyConstness constness, Representation representation, int field_index=0)
 
bool operator== (PropertyDetails const &other) const
 
bool operator!= (PropertyDetails const &other) const
 
int pointer () const
 
PropertyDetails set_pointer (int i) const
 
PropertyDetails set_cell_type (PropertyCellType type) const
 
PropertyDetails set_index (int index) const
 
PropertyDetails CopyWithRepresentation (Representation representation) const
 
PropertyDetails CopyWithConstness (PropertyConstness constness) const
 
PropertyDetails CopyAddAttributes (PropertyAttributes new_attributes) const
 
 PropertyDetails (Tagged< Smi > smi)
 
Tagged< SmiAsSmi () const
 
PropertyKind kind () const
 
PropertyLocation location () const
 
PropertyConstness constness () const
 
PropertyAttributes attributes () const
 
bool HasKindAndAttributes (PropertyKind kind, PropertyAttributes attributes)
 
int dictionary_index () const
 
Representation representation () const
 
int field_index () const
 
int field_width_in_words () const
 
bool IsReadOnly () const
 
bool IsConfigurable () const
 
bool IsDontEnum () const
 
bool IsEnumerable () const
 
PropertyCellType cell_type () const
 
void PrintAsSlowTo (std::ostream &out, bool print_dict_index)
 
void PrintAsFastTo (std::ostream &out, PrintMode mode=kPrintFull)
 
uint8_t ToByte ()
 

Static Public Member Functions

static constexpr PropertyDetails Empty (PropertyCellType cell_type=PropertyCellType::kNoCell)
 
static constexpr uint8_t EncodeRepresentation (Representation representation)
 
static Representation DecodeRepresentation (uint32_t bits)
 
static bool IsValidIndex (int index)
 
static PropertyDetails FromByte (uint8_t encoded_details)
 

Static Public Attributes

static const int kAttributesReadOnlyMask
 
static const int kAttributesDontDeleteMask
 
static const int kAttributesDontEnumMask
 
static const int kInitialIndex = 1
 
static constexpr PropertyConstness kConstIfDictConstnessTracking
 

Private Member Functions

 PropertyDetails (int value, int pointer)
 
 PropertyDetails (int value, Representation representation)
 
 PropertyDetails (int value, PropertyConstness constness)
 
 PropertyDetails (int value, PropertyAttributes attributes)
 
 PropertyDetails (uint32_t value)
 

Private Attributes

uint32_t value_
 

Detailed Description

Definition at line 267 of file property-details.h.

Member Typedef Documentation

◆ AttributesField

◆ ConstnessField

◆ DescriptorPointer

◆ DictionaryStorageField

◆ FieldIndexField

◆ KindField

◆ LocationField

◆ PropertyCellTypeField

◆ RepresentationField

Member Enumeration Documentation

◆ PrintMode

Enumerator
kPrintAttributes 
kPrintFieldIndex 
kPrintRepresentation 
kPrintPointer 
kForProperties 
kForTransitions 
kPrintFull 

Definition at line 447 of file property-details.h.

Constructor & Destructor Documentation

◆ PropertyDetails() [1/9]

v8::internal::PropertyDetails::PropertyDetails ( PropertyKind kind,
PropertyAttributes attributes,
PropertyCellType cell_type,
int dictionary_index = 0 )
inlineconstexpr

Definition at line 270 of file property-details.h.

Here is the caller graph for this function:

◆ PropertyDetails() [2/9]

v8::internal::PropertyDetails::PropertyDetails ( PropertyKind kind,
PropertyAttributes attributes,
PropertyConstness constness,
int dictionary_index = 0 )
inlineconstexpr

Definition at line 284 of file property-details.h.

◆ PropertyDetails() [3/9]

v8::internal::PropertyDetails::PropertyDetails ( PropertyKind kind,
PropertyAttributes attributes,
PropertyLocation location,
PropertyConstness constness,
Representation representation,
int field_index = 0 )
inlineconstexpr

Definition at line 295 of file property-details.h.

◆ PropertyDetails() [4/9]

v8::internal::PropertyDetails::PropertyDetails ( Tagged< Smi > smi)
inlineexplicit

Definition at line 77 of file objects-inl.h.

◆ PropertyDetails() [5/9]

v8::internal::PropertyDetails::PropertyDetails ( int value,
int pointer )
inlineprivate

Definition at line 494 of file property-details.h.

Here is the call graph for this function:

◆ PropertyDetails() [6/9]

v8::internal::PropertyDetails::PropertyDetails ( int value,
Representation representation )
inlineprivate

Definition at line 497 of file property-details.h.

Here is the call graph for this function:

◆ PropertyDetails() [7/9]

v8::internal::PropertyDetails::PropertyDetails ( int value,
PropertyConstness constness )
inlineprivate

Definition at line 501 of file property-details.h.

Here is the call graph for this function:

◆ PropertyDetails() [8/9]

v8::internal::PropertyDetails::PropertyDetails ( int value,
PropertyAttributes attributes )
inlineprivate

Definition at line 504 of file property-details.h.

Here is the call graph for this function:

◆ PropertyDetails() [9/9]

v8::internal::PropertyDetails::PropertyDetails ( uint32_t value)
inlineexplicitprivate

Definition at line 508 of file property-details.h.

Member Function Documentation

◆ AsSmi()

Tagged< Smi > v8::internal::PropertyDetails::AsSmi ( ) const
inline

Definition at line 79 of file objects-inl.h.

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

◆ attributes()

PropertyAttributes v8::internal::PropertyDetails::attributes ( ) const
inline

Definition at line 365 of file property-details.h.

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

◆ cell_type()

PropertyCellType v8::internal::PropertyDetails::cell_type ( ) const
inline

Definition at line 394 of file property-details.h.

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

◆ constness()

PropertyConstness v8::internal::PropertyDetails::constness ( ) const
inline

Definition at line 363 of file property-details.h.

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

◆ CopyAddAttributes()

PropertyDetails v8::internal::PropertyDetails::CopyAddAttributes ( PropertyAttributes new_attributes) const
inline

Definition at line 343 of file property-details.h.

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

◆ CopyWithConstness()

PropertyDetails v8::internal::PropertyDetails::CopyWithConstness ( PropertyConstness constness) const
inline

Definition at line 340 of file property-details.h.

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

◆ CopyWithRepresentation()

PropertyDetails v8::internal::PropertyDetails::CopyWithRepresentation ( Representation representation) const
inline

Definition at line 337 of file property-details.h.

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

◆ DecodeRepresentation()

static Representation v8::internal::PropertyDetails::DecodeRepresentation ( uint32_t bits)
inlinestatic

Definition at line 357 of file property-details.h.

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

◆ dictionary_index()

int v8::internal::PropertyDetails::dictionary_index ( ) const
inline

Definition at line 374 of file property-details.h.

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

◆ Empty()

static constexpr PropertyDetails v8::internal::PropertyDetails::Empty ( PropertyCellType cell_type = PropertyCellType::kNoCell)
inlinestaticconstexpr

Definition at line 306 of file property-details.h.

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

◆ EncodeRepresentation()

static constexpr uint8_t v8::internal::PropertyDetails::EncodeRepresentation ( Representation representation)
inlinestaticconstexpr

Definition at line 353 of file property-details.h.

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

◆ field_index()

int v8::internal::PropertyDetails::field_index ( ) const
inline

Definition at line 382 of file property-details.h.

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

◆ field_width_in_words()

int v8::internal::PropertyDetails::field_width_in_words ( ) const
inline

Definition at line 86 of file objects-inl.h.

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

◆ FromByte()

static PropertyDetails v8::internal::PropertyDetails::FromByte ( uint8_t encoded_details)
inlinestatic

Definition at line 482 of file property-details.h.

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

◆ HasKindAndAttributes()

bool v8::internal::PropertyDetails::HasKindAndAttributes ( PropertyKind kind,
PropertyAttributes attributes )
inline

Definition at line 369 of file property-details.h.

Here is the call graph for this function:

◆ IsConfigurable()

bool v8::internal::PropertyDetails::IsConfigurable ( ) const
inline

Definition at line 391 of file property-details.h.

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

◆ IsDontEnum()

bool v8::internal::PropertyDetails::IsDontEnum ( ) const
inline

Definition at line 392 of file property-details.h.

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

◆ IsEnumerable()

bool v8::internal::PropertyDetails::IsEnumerable ( ) const
inline

Definition at line 393 of file property-details.h.

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

◆ IsReadOnly()

bool v8::internal::PropertyDetails::IsReadOnly ( ) const
inline

Definition at line 390 of file property-details.h.

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

◆ IsValidIndex()

static bool v8::internal::PropertyDetails::IsValidIndex ( int index)
inlinestatic

Definition at line 386 of file property-details.h.

Here is the call graph for this function:

◆ kind()

PropertyKind v8::internal::PropertyDetails::kind ( ) const
inline

Definition at line 361 of file property-details.h.

Here is the call graph for this function:

◆ location()

PropertyLocation v8::internal::PropertyDetails::location ( ) const
inline

Definition at line 362 of file property-details.h.

Here is the call graph for this function:

◆ operator!=()

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

Definition at line 315 of file property-details.h.

◆ operator==()

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

Definition at line 311 of file property-details.h.

◆ pointer()

int v8::internal::PropertyDetails::pointer ( ) const
inline

Definition at line 319 of file property-details.h.

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

◆ PrintAsFastTo()

void v8::internal::PropertyDetails::PrintAsFastTo ( std::ostream & out,
PrintMode mode = kPrintFull )

Definition at line 139 of file property.cc.

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

◆ PrintAsSlowTo()

void v8::internal::PropertyDetails::PrintAsSlowTo ( std::ostream & out,
bool print_dict_index )

Definition at line 128 of file property.cc.

Here is the call graph for this function:

◆ representation()

Representation v8::internal::PropertyDetails::representation ( ) const
inline

Definition at line 378 of file property-details.h.

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

◆ set_cell_type()

PropertyDetails v8::internal::PropertyDetails::set_cell_type ( PropertyCellType type) const
inline

Definition at line 325 of file property-details.h.

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

◆ set_index()

PropertyDetails v8::internal::PropertyDetails::set_index ( int index) const
inline

Definition at line 331 of file property-details.h.

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

◆ set_pointer()

PropertyDetails v8::internal::PropertyDetails::set_pointer ( int i) const
inline

Definition at line 321 of file property-details.h.

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

◆ ToByte()

uint8_t v8::internal::PropertyDetails::ToByte ( )
inline

Definition at line 462 of file property-details.h.

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

Member Data Documentation

◆ kAttributesDontDeleteMask

const int v8::internal::PropertyDetails::kAttributesDontDeleteMask
static
Initial value:

Definition at line 405 of file property-details.h.

◆ kAttributesDontEnumMask

const int v8::internal::PropertyDetails::kAttributesDontEnumMask
static
Initial value:

Definition at line 407 of file property-details.h.

◆ kAttributesReadOnlyMask

const int v8::internal::PropertyDetails::kAttributesReadOnlyMask
static
Initial value:

Definition at line 403 of file property-details.h.

◆ kConstIfDictConstnessTracking

PropertyConstness v8::internal::PropertyDetails::kConstIfDictConstnessTracking
staticconstexpr

◆ kInitialIndex

const int v8::internal::PropertyDetails::kInitialIndex = 1
static

Definition at line 436 of file property-details.h.

◆ value_

uint32_t v8::internal::PropertyDetails::value_
private

Definition at line 510 of file property-details.h.


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