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

Public Types

enum  Type {
  kObject , kArray , kObjectResume_WithMapCache , kObjectResume_WithoutMapCache ,
  kObjectResume_BuildingMapCache , kArrayResume , kArrayResume_Holey , kArrayResume_WithInterrupts ,
  kArrayResume_Holey_WithInterrupts , kSimpleObject , kObjectKey
}
 
using ObjectT = UnionOf<JSAny, FixedArrayBase>
 

Public Member Functions

Type type () const
 
Tagged< ObjectTobject () const
 
Tagged< JSAnysimple_object () const
 
Tagged< JSArrayjs_array () const
 
Tagged< FixedArrayBasearray_elements () const
 
Tagged< JSObjectjs_object () const
 
Tagged< Stringobject_key () const
 
uint32_t array_index () const
 
uint32_t array_length () const
 
uint16_t object_descriptor_idx () const
 
uint16_t object_nof_descriptors () const
 
uint8_t object_in_object_properties () const
 
uint8_t object_in_object_properties_start () const
 
Tagged< DescriptorArrayobject_descriptors () const
 
Tagged< Mapobject_map () const
 
bool object_key_comma () const
 

Static Public Member Functions

static constexpr ContinuationRecord ForSimpleObject (Tagged< JSAny > obj)
 
static constexpr ContinuationRecord ForJSAny (Tagged< JSAny > obj, FastJsonStringifierResult result)
 
static constexpr ContinuationRecord ForJSArray (Tagged< JSAny > obj)
 
template<ElementsKind kind, bool with_interrupt_check>
static constexpr ContinuationRecord ForJSArrayResume (Tagged< FixedArrayBase > obj, uint32_t index, uint32_t length)
 
static constexpr ContinuationRecord ForJSObject (Tagged< JSAny > obj)
 
template<ResumeJSObjectMode mode>
static constexpr ContinuationRecord ForJSObjectResume (Tagged< JSAny > obj, Tagged< Map > map, uint16_t descriptor_idx, uint16_t nof_descriptors, uint8_t in_object_properties, uint8_t in_object_properties_start, Tagged< DescriptorArray > descriptors)
 
static constexpr ContinuationRecord ForObjectKey (Tagged< String > key, bool comma)
 
static constexpr bool IsObjectResumeType (Type type)
 
static constexpr bool IsArrayResumeType (Type type)
 

Private Member Functions

constexpr ContinuationRecord (Type type, Tagged< ObjectT > obj, uint32_t index, uint32_t length)
 
constexpr ContinuationRecord (Type type, Tagged< ObjectT > obj, Tagged< Map > map, uint16_t descriptor_idx, uint16_t nof_descriptors, uint8_t in_object_properties, uint8_t in_object_properties_start, Tagged< DescriptorArray > descriptors)
 
constexpr ContinuationRecord (Type type, Tagged< ObjectT > obj, bool comma)
 

Static Private Member Functions

static constexpr Type ContinuationTypeFromResult (FastJsonStringifierResult result)
 
static consteval Type ContinuationTypeForArray (ElementsKind kind, bool with_interrupt_check)
 

Private Attributes

Type type_
 
Tagged< ObjectTobject_
 
union { 
 
   struct { 
 
      uint32_t   index 
 
      uint32_t   length 
 
   }   js_array_ 
 
   struct { 
 
      Tagged< Map >   map 
 
      uint16_t   descriptor_idx 
 
      uint16_t   nof_descriptors 
 
      uint8_t   in_object_properties 
 
      uint8_t   in_object_properties_start 
 
      Tagged< DescriptorArray >   descriptors 
 
   }   js_object_ 
 
   struct { 
 
      bool   comma 
 
   }   object_key_ 
 
};  
 

Detailed Description

Definition at line 1922 of file json-stringifier.cc.

Member Typedef Documentation

◆ ObjectT

Member Enumeration Documentation

◆ Type

Enumerator
kObject 
kArray 
kObjectResume_WithMapCache 
kObjectResume_WithoutMapCache 
kObjectResume_BuildingMapCache 
kArrayResume 
kArrayResume_Holey 
kArrayResume_WithInterrupts 
kArrayResume_Holey_WithInterrupts 
kSimpleObject 
kObjectKey 

Definition at line 1924 of file json-stringifier.cc.

Constructor & Destructor Documentation

◆ ContinuationRecord() [1/3]

v8::internal::ContinuationRecord::ContinuationRecord ( Type type,
Tagged< ObjectT > obj,
uint32_t index,
uint32_t length )
inlineconstexprprivate

Definition at line 2070 of file json-stringifier.cc.

Here is the caller graph for this function:

◆ ContinuationRecord() [2/3]

v8::internal::ContinuationRecord::ContinuationRecord ( Type type,
Tagged< ObjectT > obj,
Tagged< Map > map,
uint16_t descriptor_idx,
uint16_t nof_descriptors,
uint8_t in_object_properties,
uint8_t in_object_properties_start,
Tagged< DescriptorArray > descriptors )
inlineconstexprprivate

Definition at line 2073 of file json-stringifier.cc.

◆ ContinuationRecord() [3/3]

v8::internal::ContinuationRecord::ContinuationRecord ( Type type,
Tagged< ObjectT > obj,
bool comma )
inlineconstexprprivate

Definition at line 2083 of file json-stringifier.cc.

Member Function Documentation

◆ array_elements()

Tagged< FixedArrayBase > v8::internal::ContinuationRecord::array_elements ( ) const
inline

Definition at line 2006 of file json-stringifier.cc.

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

◆ array_index()

uint32_t v8::internal::ContinuationRecord::array_index ( ) const
inline

Definition at line 2019 of file json-stringifier.cc.

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

◆ array_length()

uint32_t v8::internal::ContinuationRecord::array_length ( ) const
inline

Definition at line 2023 of file json-stringifier.cc.

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

◆ ContinuationTypeForArray()

static consteval Type v8::internal::ContinuationRecord::ContinuationTypeForArray ( ElementsKind kind,
bool with_interrupt_check )
inlinestaticconstevalprivate

Definition at line 2094 of file json-stringifier.cc.

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

◆ ContinuationTypeFromResult()

static constexpr Type v8::internal::ContinuationRecord::ContinuationTypeFromResult ( FastJsonStringifierResult result)
inlinestaticconstexprprivate

Definition at line 2086 of file json-stringifier.cc.

Here is the caller graph for this function:

◆ ForJSAny()

static constexpr ContinuationRecord v8::internal::ContinuationRecord::ForJSAny ( Tagged< JSAny > obj,
FastJsonStringifierResult result )
inlinestaticconstexpr

Definition at line 1949 of file json-stringifier.cc.

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

◆ ForJSArray()

static constexpr ContinuationRecord v8::internal::ContinuationRecord::ForJSArray ( Tagged< JSAny > obj)
inlinestaticconstexpr

Definition at line 1953 of file json-stringifier.cc.

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

◆ ForJSArrayResume()

template<ElementsKind kind, bool with_interrupt_check>
static constexpr ContinuationRecord v8::internal::ContinuationRecord::ForJSArrayResume ( Tagged< FixedArrayBase > obj,
uint32_t index,
uint32_t length )
inlinestaticconstexpr

Definition at line 1958 of file json-stringifier.cc.

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

◆ ForJSObject()

static constexpr ContinuationRecord v8::internal::ContinuationRecord::ForJSObject ( Tagged< JSAny > obj)
inlinestaticconstexpr

Definition at line 1964 of file json-stringifier.cc.

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

◆ ForJSObjectResume()

template<ResumeJSObjectMode mode>
static constexpr ContinuationRecord v8::internal::ContinuationRecord::ForJSObjectResume ( Tagged< JSAny > obj,
Tagged< Map > map,
uint16_t descriptor_idx,
uint16_t nof_descriptors,
uint8_t in_object_properties,
uint8_t in_object_properties_start,
Tagged< DescriptorArray > descriptors )
inlinestaticconstexpr

Definition at line 1970 of file json-stringifier.cc.

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

◆ ForObjectKey()

static constexpr ContinuationRecord v8::internal::ContinuationRecord::ForObjectKey ( Tagged< String > key,
bool comma )
inlinestaticconstexpr

Definition at line 1991 of file json-stringifier.cc.

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

◆ ForSimpleObject()

static constexpr ContinuationRecord v8::internal::ContinuationRecord::ForSimpleObject ( Tagged< JSAny > obj)
inlinestaticconstexpr

Definition at line 1946 of file json-stringifier.cc.

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

◆ IsArrayResumeType()

static constexpr bool v8::internal::ContinuationRecord::IsArrayResumeType ( Type type)
inlinestaticconstexpr

Definition at line 2063 of file json-stringifier.cc.

Here is the caller graph for this function:

◆ IsObjectResumeType()

static constexpr bool v8::internal::ContinuationRecord::IsObjectResumeType ( Type type)
inlinestaticconstexpr

Definition at line 2058 of file json-stringifier.cc.

Here is the caller graph for this function:

◆ js_array()

Tagged< JSArray > v8::internal::ContinuationRecord::js_array ( ) const
inline

Definition at line 2002 of file json-stringifier.cc.

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

◆ js_object()

Tagged< JSObject > v8::internal::ContinuationRecord::js_object ( ) const
inline

Definition at line 2010 of file json-stringifier.cc.

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

◆ object()

Tagged< ObjectT > v8::internal::ContinuationRecord::object ( ) const
inline

Definition at line 1997 of file json-stringifier.cc.

Here is the caller graph for this function:

◆ object_descriptor_idx()

uint16_t v8::internal::ContinuationRecord::object_descriptor_idx ( ) const
inline

Definition at line 2028 of file json-stringifier.cc.

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

◆ object_descriptors()

Tagged< DescriptorArray > v8::internal::ContinuationRecord::object_descriptors ( ) const
inline

Definition at line 2044 of file json-stringifier.cc.

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

◆ object_in_object_properties()

uint8_t v8::internal::ContinuationRecord::object_in_object_properties ( ) const
inline

Definition at line 2036 of file json-stringifier.cc.

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

◆ object_in_object_properties_start()

uint8_t v8::internal::ContinuationRecord::object_in_object_properties_start ( ) const
inline

Definition at line 2040 of file json-stringifier.cc.

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

◆ object_key()

Tagged< String > v8::internal::ContinuationRecord::object_key ( ) const
inline

Definition at line 2014 of file json-stringifier.cc.

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

◆ object_key_comma()

bool v8::internal::ContinuationRecord::object_key_comma ( ) const
inline

Definition at line 2053 of file json-stringifier.cc.

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

◆ object_map()

Tagged< Map > v8::internal::ContinuationRecord::object_map ( ) const
inline

Definition at line 2048 of file json-stringifier.cc.

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

◆ object_nof_descriptors()

uint16_t v8::internal::ContinuationRecord::object_nof_descriptors ( ) const
inline

Definition at line 2032 of file json-stringifier.cc.

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

◆ simple_object()

Tagged< JSAny > v8::internal::ContinuationRecord::simple_object ( ) const
inline

Definition at line 1998 of file json-stringifier.cc.

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

◆ type()

Type v8::internal::ContinuationRecord::type ( ) const
inline

Definition at line 1996 of file json-stringifier.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ [union]

◆ comma

bool v8::internal::ContinuationRecord::comma

Definition at line 2128 of file json-stringifier.cc.

◆ descriptor_idx

uint16_t v8::internal::ContinuationRecord::descriptor_idx

Definition at line 2121 of file json-stringifier.cc.

◆ descriptors

Tagged<DescriptorArray> v8::internal::ContinuationRecord::descriptors

Definition at line 2125 of file json-stringifier.cc.

◆ in_object_properties

uint8_t v8::internal::ContinuationRecord::in_object_properties

Definition at line 2123 of file json-stringifier.cc.

◆ in_object_properties_start

uint8_t v8::internal::ContinuationRecord::in_object_properties_start

Definition at line 2124 of file json-stringifier.cc.

◆ index

uint32_t v8::internal::ContinuationRecord::index

Definition at line 2116 of file json-stringifier.cc.

◆ [struct]

struct { ... } v8::internal::ContinuationRecord::js_array_

◆ [struct]

struct { ... } v8::internal::ContinuationRecord::js_object_

◆ length

uint32_t v8::internal::ContinuationRecord::length

Definition at line 2117 of file json-stringifier.cc.

◆ map

Tagged<Map> v8::internal::ContinuationRecord::map

Definition at line 2120 of file json-stringifier.cc.

◆ nof_descriptors

uint16_t v8::internal::ContinuationRecord::nof_descriptors

Definition at line 2122 of file json-stringifier.cc.

◆ object_

Tagged<ObjectT> v8::internal::ContinuationRecord::object_
private

Definition at line 2113 of file json-stringifier.cc.

◆ [struct]

struct { ... } v8::internal::ContinuationRecord::object_key_

◆ type_

Type v8::internal::ContinuationRecord::type_
private

Definition at line 2112 of file json-stringifier.cc.


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