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

#include <maglev-ir.h>

Inheritance diagram for v8::internal::maglev::StoreMap:
Collaboration diagram for v8::internal::maglev::StoreMap:

Public Types

enum class  Kind { kInitializing , kInlinedAllocation , kTransitioning }
 

Public Member Functions

 StoreMap (uint64_t bitfield, compiler::MapRef map, Kind kind)
 
Inputobject_input ()
 
compiler::MapRef map () const
 
Kind kind () const
 
int MaxCallStackArgs () const
 
void SetValueLocationConstraints ()
 
void GenerateCode (MaglevAssembler *, const ProcessingState &)
 
void PrintParams (std::ostream &, MaglevGraphLabeller *) const
 
void ClearUnstableNodeAspects (KnownNodeAspects &)
 
- Public Member Functions inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
constexpr bool has_inputs () const
 
constexpr uint16_t input_count () const
 
constexpr auto end ()
 
void VerifyInputs (MaglevGraphLabeller *graph_labeller) const
 
- Public Member Functions inherited from v8::internal::maglev::NodeTMixin< Base, Derived >
constexpr Opcode opcode () const
 
constexpr const OpPropertiesproperties () const
 

Static Public Attributes

static constexpr OpProperties kProperties
 
static constexpr Base::InputTypes kInputTypes {ValueRepresentation::kTagged}
 
static constexpr int kObjectIndex = 0
 
- Static Public Attributes inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
static constexpr size_t kInputCount = InputCount
 

Private Types

using Base = FixedInputNodeT<1, StoreMap>
 
using KindField = NextBitField<Kind, 3>
 

Private Attributes

const compiler::MapRef map_
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::maglev::NodeTMixin< Base, Derived >
template<typename... Args>
static Derived * New (Zone *zone, std::initializer_list< ValueNode * > inputs, Args &&... args)
 
template<typename... Args>
static Derived * New (Zone *zone, size_t input_count, Args &&... args)
 
- Protected Types inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
using InputTypes = detail::ArrayWrapper<kInputCount>
 
- Protected Member Functions inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
template<typename... Args>
 FixedInputNodeTMixin (uint64_t bitfield, Args &&... args)
 
- Protected Member Functions inherited from v8::internal::maglev::NodeTMixin< Base, Derived >
template<typename... Args>
 NodeTMixin (uint64_t bitfield, Args &&... args)
 
- Protected Attributes inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
detail::YouNeedToDefineAnInputTypesArrayInYourDerivedClass kInputTypes
 

Detailed Description

Definition at line 8634 of file maglev-ir.h.

Member Typedef Documentation

◆ Base

Definition at line 8635 of file maglev-ir.h.

◆ KindField

using v8::internal::maglev::StoreMap::KindField = NextBitField<Kind, 3>
private

Definition at line 8665 of file maglev-ir.h.

Member Enumeration Documentation

◆ Kind

Enumerator
kInitializing 
kInlinedAllocation 
kTransitioning 

Definition at line 8638 of file maglev-ir.h.

Constructor & Destructor Documentation

◆ StoreMap()

v8::internal::maglev::StoreMap::StoreMap ( uint64_t bitfield,
compiler::MapRef map,
Kind kind )
inlineexplicit

Definition at line 8643 of file maglev-ir.h.

Member Function Documentation

◆ ClearUnstableNodeAspects()

void v8::internal::maglev::StoreMap::ClearUnstableNodeAspects ( KnownNodeAspects & known_node_aspects)

Definition at line 8058 of file maglev-ir.cc.

Here is the call graph for this function:

◆ GenerateCode()

void v8::internal::maglev::StoreMap::GenerateCode ( MaglevAssembler * ,
const ProcessingState &  )

◆ kind()

Kind v8::internal::maglev::StoreMap::kind ( ) const
inline

Definition at line 8655 of file maglev-ir.h.

◆ map()

compiler::MapRef v8::internal::maglev::StoreMap::map ( ) const
inline

Definition at line 8654 of file maglev-ir.h.

◆ MaxCallStackArgs()

int v8::internal::maglev::StoreMap::MaxCallStackArgs ( ) const

◆ object_input()

Input & v8::internal::maglev::StoreMap::object_input ( )
inline

Definition at line 8652 of file maglev-ir.h.

◆ PrintParams()

void v8::internal::maglev::StoreMap::PrintParams ( std::ostream & os,
MaglevGraphLabeller * graph_labeller ) const

Definition at line 7813 of file maglev-ir.cc.

◆ SetValueLocationConstraints()

void v8::internal::maglev::StoreMap::SetValueLocationConstraints ( )

Member Data Documentation

◆ kInputTypes

Base::InputTypes v8::internal::maglev::StoreMap::kInputTypes {ValueRepresentation::kTagged}
staticconstexpr

Definition at line 8649 of file maglev-ir.h.

◆ kObjectIndex

int v8::internal::maglev::StoreMap::kObjectIndex = 0
staticconstexpr

Definition at line 8651 of file maglev-ir.h.

◆ kProperties

OpProperties v8::internal::maglev::StoreMap::kProperties
staticconstexpr
Initial value:
=
static constexpr OpProperties DeferredCall()
Definition maglev-ir.h:1168
static constexpr OpProperties CanWrite()
Definition maglev-ir.h:1105

Definition at line 8646 of file maglev-ir.h.

◆ map_

const compiler::MapRef v8::internal::maglev::StoreMap::map_
private

Definition at line 8666 of file maglev-ir.h.


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