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

#include <translated-state.h>

Collaboration diagram for v8::internal::TranslatedValue:

Classes

struct  MaterializedObjectInfo
 

Public Member Functions

Tagged< ObjectGetRawValue () const
 
int GetSmiValue () const
 
Handle< ObjectGetValue ()
 
bool IsMaterializedObject () const
 
bool IsMaterializableByDebugger () const
 

Private Types

enum  Kind : uint8_t {
  kInvalid , kTagged , kInt32 , kInt64 ,
  kInt64ToBigInt , kUint64ToBigInt , kUint32 , kUint64 ,
  kBoolBit , kFloat , kDouble , kHoleyDouble ,
  kSimd128 , kCapturedObject , kDuplicatedObject , kCapturedStringConcat
}
 
enum  MaterializationState : uint8_t { kUninitialized , kAllocated , kFinished }
 

Private Member Functions

 TranslatedValue (TranslatedState *container, Kind kind)
 
Kind kind () const
 
MaterializationState materialization_state () const
 
void Handlify ()
 
int GetChildrenCount () const
 
Isolateisolate () const
 
void set_storage (Handle< HeapObject > storage)
 
void set_initialized_storage (Handle< HeapObject > storage)
 
void mark_finished ()
 
void mark_allocated ()
 
Handle< HeapObjectstorage ()
 
void ReplaceElementsArrayWithCopy ()
 
Tagged< Objectraw_literal () const
 
int32_t int32_value () const
 
int64_t int64_value () const
 
uint32_t uint32_value () const
 
uint64_t uint64_value () const
 
Float32 float_value () const
 
Float64 double_value () const
 
Simd128 simd_value () const
 
int object_length () const
 
int object_index () const
 
int string_concat_index () const
 

Static Private Member Functions

static TranslatedValue NewDeferredObject (TranslatedState *container, int length, int object_index)
 
static TranslatedValue NewDuplicateObject (TranslatedState *container, int id)
 
static TranslatedValue NewStringConcat (TranslatedState *container, int id)
 
static TranslatedValue NewFloat (TranslatedState *container, Float32 value)
 
static TranslatedValue NewDouble (TranslatedState *container, Float64 value)
 
static TranslatedValue NewHoleyDouble (TranslatedState *container, Float64 value)
 
static TranslatedValue NewSimd128 (TranslatedState *container, Simd128 value)
 
static TranslatedValue NewInt32 (TranslatedState *container, int32_t value)
 
static TranslatedValue NewInt64 (TranslatedState *container, int64_t value)
 
static TranslatedValue NewInt64ToBigInt (TranslatedState *container, int64_t value)
 
static TranslatedValue NewUint64ToBigInt (TranslatedState *container, uint64_t value)
 
static TranslatedValue NewUint32 (TranslatedState *container, uint32_t value)
 
static TranslatedValue NewUint64 (TranslatedState *container, uint64_t value)
 
static TranslatedValue NewBool (TranslatedState *container, uint32_t value)
 
static TranslatedValue NewTagged (TranslatedState *container, Tagged< Object > literal)
 
static TranslatedValue NewInvalid (TranslatedState *container)
 

Private Attributes

Kind kind_
 
MaterializationState materialization_state_ = kUninitialized
 
TranslatedStatecontainer_
 
Handle< HeapObjectstorage_
 
union { 
 
   Tagged< Object >   raw_literal_ 
 
   uint32_t   uint32_value_ 
 
   int32_t   int32_value_ 
 
   uint64_t   uint64_value_ 
 
   int64_t   int64_value_ 
 
   Float32   float_value_ 
 
   Float64   double_value_ 
 
   MaterializedObjectInfo   materialization_info_ 
 
   Simd128   simd128_value_ 
 
};  
 

Friends

class TranslatedState
 
class TranslatedFrame
 
class Deoptimizer
 
class DeoptimizationLiteralProvider
 

Detailed Description

Definition at line 52 of file translated-state.h.

Member Enumeration Documentation

◆ Kind

enum v8::internal::TranslatedValue::Kind : uint8_t
private
Enumerator
kInvalid 
kTagged 
kInt32 
kInt64 
kInt64ToBigInt 
kUint64ToBigInt 
kUint32 
kUint64 
kBoolBit 
kFloat 
kDouble 
kHoleyDouble 
kSimd128 
kCapturedObject 
kDuplicatedObject 
kCapturedStringConcat 

Definition at line 76 of file translated-state.h.

◆ MaterializationState

Enumerator
kUninitialized 
kAllocated 
kFinished 

Definition at line 99 of file translated-state.h.

Constructor & Destructor Documentation

◆ TranslatedValue()

v8::internal::TranslatedValue::TranslatedValue ( TranslatedState * container,
Kind kind )
inlineprivate

Definition at line 107 of file translated-state.h.

Here is the caller graph for this function:

Member Function Documentation

◆ double_value()

Float64 v8::internal::TranslatedValue::double_value ( ) const
private

Definition at line 533 of file translated-state.cc.

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

◆ float_value()

Float32 v8::internal::TranslatedValue::float_value ( ) const
private

Definition at line 528 of file translated-state.cc.

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

◆ GetChildrenCount()

int v8::internal::TranslatedValue::GetChildrenCount ( ) const
private

Definition at line 798 of file translated-state.cc.

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

◆ GetRawValue()

Tagged< Object > v8::internal::TranslatedValue::GetRawValue ( ) const

Definition at line 554 of file translated-state.cc.

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

◆ GetSmiValue()

int v8::internal::TranslatedValue::GetSmiValue ( ) const

Definition at line 2161 of file translated-state.cc.

Here is the call graph for this function:

◆ GetValue()

Handle< Object > v8::internal::TranslatedValue::GetValue ( )

Definition at line 695 of file translated-state.cc.

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

◆ Handlify()

void v8::internal::TranslatedValue::Handlify ( )
private

Definition at line 842 of file translated-state.cc.

Here is the call graph for this function:

◆ int32_value()

int32_t v8::internal::TranslatedValue::int32_value ( ) const
private

Definition at line 508 of file translated-state.cc.

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

◆ int64_value()

int64_t v8::internal::TranslatedValue::int64_value ( ) const
private

Definition at line 513 of file translated-state.cc.

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

◆ IsMaterializableByDebugger()

bool v8::internal::TranslatedValue::IsMaterializableByDebugger ( ) const

Definition at line 793 of file translated-state.cc.

Here is the call graph for this function:

◆ IsMaterializedObject()

bool v8::internal::TranslatedValue::IsMaterializedObject ( ) const

Definition at line 782 of file translated-state.cc.

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

◆ isolate()

Isolate * v8::internal::TranslatedValue::isolate ( ) const
private

Definition at line 501 of file translated-state.cc.

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

◆ kind()

Kind v8::internal::TranslatedValue::kind ( ) const
inlineprivate

Definition at line 109 of file translated-state.h.

Here is the caller graph for this function:

◆ mark_allocated()

void v8::internal::TranslatedValue::mark_allocated ( )
inlineprivate

Definition at line 143 of file translated-state.h.

Here is the caller graph for this function:

◆ mark_finished()

void v8::internal::TranslatedValue::mark_finished ( )
inlineprivate

Definition at line 142 of file translated-state.h.

Here is the caller graph for this function:

◆ materialization_state()

MaterializationState v8::internal::TranslatedValue::materialization_state ( ) const
inlineprivate

Definition at line 110 of file translated-state.h.

Here is the caller graph for this function:

◆ NewBool()

TranslatedValue v8::internal::TranslatedValue::NewBool ( TranslatedState * container,
uint32_t value )
staticprivate

Definition at line 481 of file translated-state.cc.

Here is the caller graph for this function:

◆ NewDeferredObject()

TranslatedValue v8::internal::TranslatedValue::NewDeferredObject ( TranslatedState * container,
int length,
int object_index )
staticprivate

Definition at line 377 of file translated-state.cc.

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

◆ NewDouble()

TranslatedValue v8::internal::TranslatedValue::NewDouble ( TranslatedState * container,
Float64 value )
staticprivate

Definition at line 410 of file translated-state.cc.

Here is the caller graph for this function:

◆ NewDuplicateObject()

TranslatedValue v8::internal::TranslatedValue::NewDuplicateObject ( TranslatedState * container,
int id )
staticprivate

Definition at line 386 of file translated-state.cc.

Here is the caller graph for this function:

◆ NewFloat()

TranslatedValue v8::internal::TranslatedValue::NewFloat ( TranslatedState * container,
Float32 value )
staticprivate

Definition at line 402 of file translated-state.cc.

Here is the caller graph for this function:

◆ NewHoleyDouble()

TranslatedValue v8::internal::TranslatedValue::NewHoleyDouble ( TranslatedState * container,
Float64 value )
staticprivate

Definition at line 418 of file translated-state.cc.

Here is the caller graph for this function:

◆ NewInt32()

TranslatedValue v8::internal::TranslatedValue::NewInt32 ( TranslatedState * container,
int32_t value )
staticprivate

Definition at line 434 of file translated-state.cc.

Here is the caller graph for this function:

◆ NewInt64()

TranslatedValue v8::internal::TranslatedValue::NewInt64 ( TranslatedState * container,
int64_t value )
staticprivate

Definition at line 442 of file translated-state.cc.

Here is the caller graph for this function:

◆ NewInt64ToBigInt()

TranslatedValue v8::internal::TranslatedValue::NewInt64ToBigInt ( TranslatedState * container,
int64_t value )
staticprivate

Definition at line 450 of file translated-state.cc.

Here is the caller graph for this function:

◆ NewInvalid()

TranslatedValue v8::internal::TranslatedValue::NewInvalid ( TranslatedState * container)
staticprivate

Definition at line 497 of file translated-state.cc.

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

◆ NewSimd128()

TranslatedValue v8::internal::TranslatedValue::NewSimd128 ( TranslatedState * container,
Simd128 value )
staticprivate

Definition at line 426 of file translated-state.cc.

Here is the caller graph for this function:

◆ NewStringConcat()

TranslatedValue v8::internal::TranslatedValue::NewStringConcat ( TranslatedState * container,
int id )
staticprivate

Definition at line 394 of file translated-state.cc.

Here is the caller graph for this function:

◆ NewTagged()

TranslatedValue v8::internal::TranslatedValue::NewTagged ( TranslatedState * container,
Tagged< Object > literal )
staticprivate

Definition at line 489 of file translated-state.cc.

Here is the caller graph for this function:

◆ NewUint32()

TranslatedValue v8::internal::TranslatedValue::NewUint32 ( TranslatedState * container,
uint32_t value )
staticprivate

Definition at line 466 of file translated-state.cc.

Here is the caller graph for this function:

◆ NewUint64()

TranslatedValue v8::internal::TranslatedValue::NewUint64 ( TranslatedState * container,
uint64_t value )
staticprivate

Definition at line 473 of file translated-state.cc.

◆ NewUint64ToBigInt()

TranslatedValue v8::internal::TranslatedValue::NewUint64ToBigInt ( TranslatedState * container,
uint64_t value )
staticprivate

Definition at line 458 of file translated-state.cc.

Here is the caller graph for this function:

◆ object_index()

int v8::internal::TranslatedValue::object_index ( ) const
private

Definition at line 548 of file translated-state.cc.

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

◆ object_length()

int v8::internal::TranslatedValue::object_length ( ) const
private

Definition at line 543 of file translated-state.cc.

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

◆ raw_literal()

Tagged< Object > v8::internal::TranslatedValue::raw_literal ( ) const
private

Definition at line 503 of file translated-state.cc.

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

◆ ReplaceElementsArrayWithCopy()

void v8::internal::TranslatedValue::ReplaceElementsArrayWithCopy ( )
private

Definition at line 2364 of file translated-state.cc.

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

◆ set_initialized_storage()

void v8::internal::TranslatedValue::set_initialized_storage ( Handle< HeapObject > storage)
private

Definition at line 689 of file translated-state.cc.

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

◆ set_storage()

void v8::internal::TranslatedValue::set_storage ( Handle< HeapObject > storage)
inlineprivate

Definition at line 140 of file translated-state.h.

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

◆ simd_value()

Simd128 v8::internal::TranslatedValue::simd_value ( ) const
private

Definition at line 538 of file translated-state.cc.

Here is the call graph for this function:

◆ storage()

Handle< HeapObject > v8::internal::TranslatedValue::storage ( )
inlineprivate

Definition at line 145 of file translated-state.h.

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

◆ string_concat_index()

int v8::internal::TranslatedValue::string_concat_index ( ) const
private

◆ uint32_value()

uint32_t v8::internal::TranslatedValue::uint32_value ( ) const
private

Definition at line 523 of file translated-state.cc.

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

◆ uint64_value()

uint64_t v8::internal::TranslatedValue::uint64_value ( ) const
private

Definition at line 518 of file translated-state.cc.

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

Friends And Related Symbol Documentation

◆ DeoptimizationLiteralProvider

friend class DeoptimizationLiteralProvider
friend

Definition at line 74 of file translated-state.h.

◆ Deoptimizer

friend class Deoptimizer
friend

Definition at line 73 of file translated-state.h.

◆ TranslatedFrame

friend class TranslatedFrame
friend

Definition at line 72 of file translated-state.h.

◆ TranslatedState

friend class TranslatedState
friend

Definition at line 71 of file translated-state.h.

Member Data Documentation

◆ [union]

◆ container_

TranslatedState* v8::internal::TranslatedValue::container_
private

Definition at line 154 of file translated-state.h.

◆ double_value_

Float64 v8::internal::TranslatedValue::double_value_

Definition at line 181 of file translated-state.h.

◆ float_value_

Float32 v8::internal::TranslatedValue::float_value_

Definition at line 179 of file translated-state.h.

◆ int32_value_

int32_t v8::internal::TranslatedValue::int32_value_

Definition at line 173 of file translated-state.h.

◆ int64_value_

int64_t v8::internal::TranslatedValue::int64_value_

Definition at line 177 of file translated-state.h.

◆ kind_

Kind v8::internal::TranslatedValue::kind_
private

Definition at line 152 of file translated-state.h.

◆ materialization_info_

MaterializedObjectInfo v8::internal::TranslatedValue::materialization_info_

Definition at line 183 of file translated-state.h.

◆ materialization_state_

MaterializationState v8::internal::TranslatedValue::materialization_state_ = kUninitialized
private

Definition at line 153 of file translated-state.h.

◆ raw_literal_

Tagged<Object> v8::internal::TranslatedValue::raw_literal_

Definition at line 169 of file translated-state.h.

◆ simd128_value_

Simd128 v8::internal::TranslatedValue::simd128_value_

Definition at line 185 of file translated-state.h.

◆ storage_

Handle<HeapObject> v8::internal::TranslatedValue::storage_
private

Definition at line 158 of file translated-state.h.

◆ uint32_value_

uint32_t v8::internal::TranslatedValue::uint32_value_

Definition at line 171 of file translated-state.h.

◆ uint64_value_

uint64_t v8::internal::TranslatedValue::uint64_value_

Definition at line 175 of file translated-state.h.


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