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

Classes

class  NodeInfo
 
class  NodeProperties
 
struct  NodeState
 

Public Member Functions

 RepresentationSelector (JSGraph *jsgraph, JSHeapBroker *broker, Zone *zone, RepresentationChanger *changer, SourcePositionTable *source_positions, NodeOriginTable *node_origins, TickCounter *tick_counter, Linkage *linkage, ObserveNodeManager *observe_node_manager, SimplifiedLoweringVerifier *verifier)
 
bool verification_enabled () const
 
void ResetNodeInfoState ()
 
Type TypeOf (Node *node)
 
Type FeedbackTypeOf (Node *node)
 
Type TypePhi (Node *node)
 
Type TypeSelect (Node *node)
 
bool UpdateFeedbackType (Node *node)
 
void PrintNodeFeedbackType (Node *n)
 
Type Weaken (Node *node, Type previous_type, Type current_type)
 
void GenerateTraversal ()
 
void PushNodeToRevisitIfVisited (Node *node)
 
bool RetypeNode (Node *node)
 
void PropagateTruncation (Node *node)
 
void RunPropagatePhase ()
 
void RunRetypePhase ()
 
void RunLowerPhase (SimplifiedLowering *lowering)
 
void RunVerifyPhase (OptimizedCompilationInfo *compilation_info)
 
void Run (SimplifiedLowering *lowering)
 
template<Phase T>
void EnqueueInput (Node *use_node, int index, UseInfo use_info=UseInfo::None())
 
template<Phase T>
void SetOutput (Node *node, MachineRepresentation representation, Type restriction_type=Type::Any())
 
Type GetUpperBound (Node *node)
 
bool InputCannotBe (Node *node, Type type)
 
bool InputIs (Node *node, Type type)
 
bool BothInputsAreSigned32 (Node *node)
 
bool BothInputsAreUnsigned32 (Node *node)
 
bool BothInputsAre (Node *node, Type type)
 
bool IsNodeRepresentationTagged (Node *node)
 
bool OneInputCannotBe (Node *node, Type type)
 
void ChangeToDeadValue (Node *node, Node *effect, Node *control)
 
void ReplaceWithPureNode (Node *node, Node *pure_node)
 
void ChangeToPureOp (Node *node, const Operator *new_op)
 
void ChangeUnaryToPureBinaryOp (Node *node, const Operator *new_op, int new_input_index, Node *new_input)
 
void ConvertInput (Node *node, int index, UseInfo use, Type input_type=Type::Invalid())
 
template<Phase T>
void ProcessInput (Node *node, int index, UseInfo use)
 
template<Phase T>
void ProcessRemainingInputs (Node *node, int index)
 
void MarkAsPossibleRevisit (Node *node, Node *input)
 
template<Phase T>
void VisitInputs (Node *node)
 
template<Phase T>
void VisitReturn (Node *node)
 
template<Phase T>
void VisitUnused (Node *node)
 
template<Phase T>
void VisitNoop (Node *node, Truncation truncation)
 
template<Phase T>
void VisitBinop (Node *node, UseInfo left_use, UseInfo right_use, MachineRepresentation output, Type restriction_type=Type::Any())
 
template<Phase T>
void VisitBinop (Node *node, UseInfo input_use, MachineRepresentation output, Type restriction_type=Type::Any())
 
template<Phase T>
void VisitSpeculativeInt32Binop (Node *node)
 
template<Phase T>
void VisitUnop (Node *node, UseInfo input_use, MachineRepresentation output, Type restriction_type=Type::Any())
 
template<Phase T>
void VisitLeaf (Node *node, MachineRepresentation output)
 
template<Phase T>
void VisitFloat64Binop (Node *node)
 
template<Phase T>
void VisitInt64Binop (Node *node)
 
template<Phase T>
void VisitWord32TruncatingBinop (Node *node)
 
MachineRepresentation GetOutputInfoForPhi (Type type, Truncation use)
 
template<Phase T>
void VisitSelect (Node *node, Truncation truncation, SimplifiedLowering *lowering)
 
template<Phase T>
void VisitPhi (Node *node, Truncation truncation, SimplifiedLowering *lowering)
 
template<Phase T>
void VisitObjectIs (Node *node, Type type, SimplifiedLowering *lowering)
 
template<Phase T>
void VisitCheck (Node *node, Type type, SimplifiedLowering *lowering)
 
template<Phase T>
void VisitCall (Node *node, SimplifiedLowering *lowering)
 
void MaskShiftOperand (Node *node, Type rhs_type)
 
template<Phase T>
void VisitStateValues (Node *node)
 
template<Phase T>
void VisitFrameState (FrameState node)
 
template<Phase T>
void VisitObjectState (Node *node)
 
const OperatorInt32Op (Node *node)
 
const OperatorInt32OverflowOp (Node *node)
 
const OperatorAdditiveSafeIntegerOverflowOp (Node *node)
 
const OperatorInt64Op (Node *node)
 
const OperatorInt64OverflowOp (Node *node)
 
const OperatorBigIntOp (Node *node)
 
const OperatorUint32Op (Node *node)
 
const OperatorUint32OverflowOp (Node *node)
 
const OperatorFloat64Op (Node *node)
 
WriteBarrierKind WriteBarrierKindFor (BaseTaggedness base_taggedness, MachineRepresentation field_representation, Type field_type, MachineRepresentation value_representation, Node *value)
 
WriteBarrierKind WriteBarrierKindFor (BaseTaggedness base_taggedness, MachineRepresentation field_representation, int field_offset, Type field_type, MachineRepresentation value_representation, Node *value)
 
TFGraphgraph () const
 
CommonOperatorBuildercommon () const
 
SimplifiedOperatorBuildersimplified () const
 
template<Phase T>
void VisitForCheckedInt32Mul (Node *node, Truncation truncation, Type input0_type, Type input1_type, UseInfo input_use)
 
void ChangeToInt32OverflowOp (Node *node)
 
void ChangeToUint32OverflowOp (Node *node)
 
template<Phase T>
void VisitSpeculativeSmallIntegerAdditiveOp (Node *node, Truncation truncation, SimplifiedLowering *lowering)
 
bool CanSpeculateAdditiveSafeInteger (Node *node)
 
template<Phase T>
void VisitSpeculativeAdditiveOp (Node *node, Truncation truncation, SimplifiedLowering *lowering)
 
template<Phase T>
void VisitSpeculativeNumberModulus (Node *node, Truncation truncation, SimplifiedLowering *lowering)
 
template<Phase T>
void InsertUnreachableIfNecessary (Node *node)
 
template<Phase T>
void VisitCheckBounds (Node *node, SimplifiedLowering *lowering)
 
UseInfo UseInfoForFastApiCallArgument (CTypeInfo type, CFunctionInfo::Int64Representation repr, FeedbackSource const &feedback)
 
template<Phase T>
void VisitFastApiCall (Node *node, SimplifiedLowering *lowering)
 
template<Phase T>
bool TryOptimizeBigInt64Shift (Node *node, const Truncation &truncation, SimplifiedLowering *lowering)
 
template<Phase T>
void VisitNode (Node *node, Truncation truncation, SimplifiedLowering *lowering)
 
void DisconnectFromEffectAndControl (Node *node)
 
void DeferReplacement (Node *node, Node *replacement)
 
NodeInsertTypeOverrideForVerifier (const Type &type, Node *node)
 
NodeInsertSemanticsHintForVerifier (const Operator *semantics, Node *node)
 
template<>
void EnqueueInput (Node *use_node, int index, UseInfo use_info)
 
template<>
void SetOutput (Node *node, MachineRepresentation representation, Type restriction_type)
 
template<>
void SetOutput (Node *node, MachineRepresentation representation, Type restriction_type)
 
template<>
void SetOutput (Node *node, MachineRepresentation representation, Type restriction_type)
 
template<>
void ProcessInput (Node *node, int index, UseInfo use)
 
template<>
void ProcessInput (Node *node, int index, UseInfo use)
 
template<>
void ProcessInput (Node *node, int index, UseInfo use)
 
template<>
void ProcessRemainingInputs (Node *node, int index)
 
template<>
void VisitInputs (Node *node)
 
template<>
void VisitInputs (Node *node)
 
template<>
void InsertUnreachableIfNecessary (Node *node)
 

Static Public Member Functions

template<Phase T>
static constexpr bool propagate ()
 
template<Phase T>
static constexpr bool retype ()
 
template<Phase T>
static constexpr bool lower ()
 
static MachineSemantic DeoptValueSemanticOf (Type type)
 
static MachineType DeoptMachineTypeOf (MachineRepresentation rep, Type type)
 

Static Public Attributes

static constexpr int kInitialArgumentsCount = 10
 

Private Member Functions

void ChangeOp (Node *node, const Operator *new_op)
 
void NotifyNodeReplaced (Node *node, Node *replacement)
 
Type true_type () const
 
Type false_type () const
 
NodeInfoGetInfo (Node *node)
 
Zonezone ()
 
Zonegraph_zone ()
 
Linkagelinkage ()
 

Private Attributes

JSGraphjsgraph_
 
JSHeapBrokerbroker_
 
Zonezone_
 
ZoneMap< Node *, ZoneVector< Node * > > might_need_revisit_
 
size_t count_
 
ZoneVector< NodeInfoinfo_
 
NodeVector replacements_
 
RepresentationChangerchanger_
 
ZoneQueue< Node * > revisit_queue_
 
NodeVector traversal_nodes_
 
SourcePositionTablesource_positions_
 
NodeOriginTablenode_origins_
 
TypeCache const * type_cache_
 
OperationTyper op_typer_
 
Type singleton_true_
 
Type singleton_false_
 
TickCounter *const tick_counter_
 
Linkage *const linkage_
 
ObserveNodeManager *const observe_node_manager_
 
SimplifiedLoweringVerifierverifier_
 

Detailed Description

Definition at line 297 of file simplified-lowering.cc.

Constructor & Destructor Documentation

◆ RepresentationSelector()

v8::internal::compiler::RepresentationSelector::RepresentationSelector ( JSGraph * jsgraph,
JSHeapBroker * broker,
Zone * zone,
RepresentationChanger * changer,
SourcePositionTable * source_positions,
NodeOriginTable * node_origins,
TickCounter * tick_counter,
Linkage * linkage,
ObserveNodeManager * observe_node_manager,
SimplifiedLoweringVerifier * verifier )
inline

Definition at line 355 of file simplified-lowering.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AdditiveSafeIntegerOverflowOp()

const Operator * v8::internal::compiler::RepresentationSelector::AdditiveSafeIntegerOverflowOp ( Node * node)
inline

Definition at line 1556 of file simplified-lowering.cc.

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

◆ BigIntOp()

const Operator * v8::internal::compiler::RepresentationSelector::BigIntOp ( Node * node)
inline

Definition at line 1568 of file simplified-lowering.cc.

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

◆ BothInputsAre()

bool v8::internal::compiler::RepresentationSelector::BothInputsAre ( Node * node,
Type type )
inline

Definition at line 914 of file simplified-lowering.cc.

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

◆ BothInputsAreSigned32()

bool v8::internal::compiler::RepresentationSelector::BothInputsAreSigned32 ( Node * node)
inline

Definition at line 906 of file simplified-lowering.cc.

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

◆ BothInputsAreUnsigned32()

bool v8::internal::compiler::RepresentationSelector::BothInputsAreUnsigned32 ( Node * node)
inline

Definition at line 910 of file simplified-lowering.cc.

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

◆ CanSpeculateAdditiveSafeInteger()

bool v8::internal::compiler::RepresentationSelector::CanSpeculateAdditiveSafeInteger ( Node * node)
inline

Definition at line 1779 of file simplified-lowering.cc.

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

◆ ChangeOp()

void v8::internal::compiler::RepresentationSelector::ChangeOp ( Node * node,
const Operator * new_op )
inlineprivate

Definition at line 4915 of file simplified-lowering.cc.

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

◆ ChangeToDeadValue()

void v8::internal::compiler::RepresentationSelector::ChangeToDeadValue ( Node * node,
Node * effect,
Node * control )
inline

Definition at line 931 of file simplified-lowering.cc.

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

◆ ChangeToInt32OverflowOp()

void v8::internal::compiler::RepresentationSelector::ChangeToInt32OverflowOp ( Node * node)
inline

Definition at line 1681 of file simplified-lowering.cc.

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

◆ ChangeToPureOp()

void v8::internal::compiler::RepresentationSelector::ChangeToPureOp ( Node * node,
const Operator * new_op )
inline

Definition at line 967 of file simplified-lowering.cc.

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

◆ ChangeToUint32OverflowOp()

void v8::internal::compiler::RepresentationSelector::ChangeToUint32OverflowOp ( Node * node)
inline

Definition at line 1685 of file simplified-lowering.cc.

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

◆ ChangeUnaryToPureBinaryOp()

void v8::internal::compiler::RepresentationSelector::ChangeUnaryToPureBinaryOp ( Node * node,
const Operator * new_op,
int new_input_index,
Node * new_input )
inline

Definition at line 987 of file simplified-lowering.cc.

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

◆ common()

CommonOperatorBuilder * v8::internal::compiler::RepresentationSelector::common ( ) const
inline

Definition at line 1649 of file simplified-lowering.cc.

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

◆ ConvertInput()

void v8::internal::compiler::RepresentationSelector::ConvertInput ( Node * node,
int index,
UseInfo use,
Type input_type = Type::Invalid() )
inline

Definition at line 1020 of file simplified-lowering.cc.

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

◆ DeferReplacement()

void v8::internal::compiler::RepresentationSelector::DeferReplacement ( Node * node,
Node * replacement )
inline

Definition at line 4883 of file simplified-lowering.cc.

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

◆ DeoptMachineTypeOf()

static MachineType v8::internal::compiler::RepresentationSelector::DeoptMachineTypeOf ( MachineRepresentation rep,
Type type )
inlinestatic

Definition at line 1376 of file simplified-lowering.cc.

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

◆ DeoptValueSemanticOf()

static MachineSemantic v8::internal::compiler::RepresentationSelector::DeoptValueSemanticOf ( Type type)
inlinestatic

Definition at line 1365 of file simplified-lowering.cc.

Here is the caller graph for this function:

◆ DisconnectFromEffectAndControl()

void v8::internal::compiler::RepresentationSelector::DisconnectFromEffectAndControl ( Node * node)
inline

Definition at line 4865 of file simplified-lowering.cc.

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

◆ EnqueueInput() [1/2]

template<>
void v8::internal::compiler::RepresentationSelector::EnqueueInput ( Node * use_node,
int index,
UseInfo use_info )

Definition at line 4982 of file simplified-lowering.cc.

Here is the call graph for this function:

◆ EnqueueInput() [2/2]

template<Phase T>
void v8::internal::compiler::RepresentationSelector::EnqueueInput ( Node * use_node,
int index,
UseInfo use_info = UseInfo::None() )
inline

Definition at line 868 of file simplified-lowering.cc.

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

◆ false_type()

Type v8::internal::compiler::RepresentationSelector::false_type ( ) const
inlineprivate

Definition at line 4930 of file simplified-lowering.cc.

Here is the caller graph for this function:

◆ FeedbackTypeOf()

Type v8::internal::compiler::RepresentationSelector::FeedbackTypeOf ( Node * node)
inline

Definition at line 403 of file simplified-lowering.cc.

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

◆ Float64Op()

const Operator * v8::internal::compiler::RepresentationSelector::Float64Op ( Node * node)
inline

Definition at line 1580 of file simplified-lowering.cc.

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

◆ GenerateTraversal()

void v8::internal::compiler::RepresentationSelector::GenerateTraversal ( )
inline

Definition at line 627 of file simplified-lowering.cc.

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

◆ GetInfo()

NodeInfo * v8::internal::compiler::RepresentationSelector::GetInfo ( Node * node)
inlineprivate

Definition at line 4968 of file simplified-lowering.cc.

Here is the caller graph for this function:

◆ GetOutputInfoForPhi()

MachineRepresentation v8::internal::compiler::RepresentationSelector::GetOutputInfoForPhi ( Type type,
Truncation use )
inline

Definition at line 1202 of file simplified-lowering.cc.

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

◆ GetUpperBound()

Type v8::internal::compiler::RepresentationSelector::GetUpperBound ( Node * node)
inline

Definition at line 894 of file simplified-lowering.cc.

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

◆ graph()

TFGraph * v8::internal::compiler::RepresentationSelector::graph ( ) const
inline

Definition at line 1648 of file simplified-lowering.cc.

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

◆ graph_zone()

Zone * v8::internal::compiler::RepresentationSelector::graph_zone ( )
inlineprivate

Definition at line 4973 of file simplified-lowering.cc.

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

◆ InputCannotBe()

bool v8::internal::compiler::RepresentationSelector::InputCannotBe ( Node * node,
Type type )
inline

Definition at line 896 of file simplified-lowering.cc.

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

◆ InputIs()

bool v8::internal::compiler::RepresentationSelector::InputIs ( Node * node,
Type type )
inline

Definition at line 901 of file simplified-lowering.cc.

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

◆ InsertSemanticsHintForVerifier()

Node * v8::internal::compiler::RepresentationSelector::InsertSemanticsHintForVerifier ( const Operator * semantics,
Node * node )
inline

Definition at line 4906 of file simplified-lowering.cc.

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

◆ InsertTypeOverrideForVerifier()

Node * v8::internal::compiler::RepresentationSelector::InsertTypeOverrideForVerifier ( const Type & type,
Node * node )
inline

Definition at line 4897 of file simplified-lowering.cc.

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

◆ InsertUnreachableIfNecessary() [1/2]

template<Phase T>
void v8::internal::compiler::RepresentationSelector::InsertUnreachableIfNecessary ( Node * node)
inline

Definition at line 1962 of file simplified-lowering.cc.

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

◆ InsertUnreachableIfNecessary() [2/2]

template<>
void v8::internal::compiler::RepresentationSelector::InsertUnreachableIfNecessary ( Node * node)

Definition at line 5105 of file simplified-lowering.cc.

Here is the call graph for this function:

◆ Int32Op()

const Operator * v8::internal::compiler::RepresentationSelector::Int32Op ( Node * node)
inline

Definition at line 1548 of file simplified-lowering.cc.

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

◆ Int32OverflowOp()

const Operator * v8::internal::compiler::RepresentationSelector::Int32OverflowOp ( Node * node)
inline

Definition at line 1552 of file simplified-lowering.cc.

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

◆ Int64Op()

const Operator * v8::internal::compiler::RepresentationSelector::Int64Op ( Node * node)
inline

Definition at line 1560 of file simplified-lowering.cc.

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

◆ Int64OverflowOp()

const Operator * v8::internal::compiler::RepresentationSelector::Int64OverflowOp ( Node * node)
inline

Definition at line 1564 of file simplified-lowering.cc.

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

◆ IsNodeRepresentationTagged()

bool v8::internal::compiler::RepresentationSelector::IsNodeRepresentationTagged ( Node * node)
inline

Definition at line 920 of file simplified-lowering.cc.

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

◆ linkage()

Linkage * v8::internal::compiler::RepresentationSelector::linkage ( )
inlineprivate

Definition at line 4974 of file simplified-lowering.cc.

Here is the caller graph for this function:

◆ lower()

template<Phase T>
static constexpr bool v8::internal::compiler::RepresentationSelector::lower ( )
inlinestaticconstexpr

Definition at line 886 of file simplified-lowering.cc.

Here is the caller graph for this function:

◆ MarkAsPossibleRevisit()

void v8::internal::compiler::RepresentationSelector::MarkAsPossibleRevisit ( Node * node,
Node * input )
inline

Definition at line 1069 of file simplified-lowering.cc.

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

◆ MaskShiftOperand()

void v8::internal::compiler::RepresentationSelector::MaskShiftOperand ( Node * node,
Type rhs_type )
inline

Definition at line 1356 of file simplified-lowering.cc.

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

◆ NotifyNodeReplaced()

void v8::internal::compiler::RepresentationSelector::NotifyNodeReplaced ( Node * node,
Node * replacement )
inlineprivate

Definition at line 4923 of file simplified-lowering.cc.

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

◆ OneInputCannotBe()

bool v8::internal::compiler::RepresentationSelector::OneInputCannotBe ( Node * node,
Type type )
inline

Definition at line 925 of file simplified-lowering.cc.

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

◆ PrintNodeFeedbackType()

void v8::internal::compiler::RepresentationSelector::PrintNodeFeedbackType ( Node * n)
inline

Definition at line 572 of file simplified-lowering.cc.

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

◆ ProcessInput() [1/4]

template<Phase T>
void v8::internal::compiler::RepresentationSelector::ProcessInput ( Node * node,
int index,
UseInfo use )
Here is the caller graph for this function:

◆ ProcessInput() [2/4]

template<>
void v8::internal::compiler::RepresentationSelector::ProcessInput ( Node * node,
int index,
UseInfo use )

Definition at line 5041 of file simplified-lowering.cc.

Here is the call graph for this function:

◆ ProcessInput() [3/4]

template<>
void v8::internal::compiler::RepresentationSelector::ProcessInput ( Node * node,
int index,
UseInfo use )

Definition at line 5050 of file simplified-lowering.cc.

◆ ProcessInput() [4/4]

template<>
void v8::internal::compiler::RepresentationSelector::ProcessInput ( Node * node,
int index,
UseInfo use )

Definition at line 5058 of file simplified-lowering.cc.

Here is the call graph for this function:

◆ ProcessRemainingInputs() [1/2]

template<Phase T>
void v8::internal::compiler::RepresentationSelector::ProcessRemainingInputs ( Node * node,
int index )
inline

Definition at line 1059 of file simplified-lowering.cc.

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

◆ ProcessRemainingInputs() [2/2]

template<>
void v8::internal::compiler::RepresentationSelector::ProcessRemainingInputs ( Node * node,
int index )

Definition at line 5067 of file simplified-lowering.cc.

Here is the call graph for this function:

◆ propagate()

template<Phase T>
static constexpr bool v8::internal::compiler::RepresentationSelector::propagate ( )
inlinestaticconstexpr

Definition at line 876 of file simplified-lowering.cc.

Here is the caller graph for this function:

◆ PropagateTruncation()

void v8::internal::compiler::RepresentationSelector::PropagateTruncation ( Node * node)
inline

Definition at line 699 of file simplified-lowering.cc.

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

◆ PushNodeToRevisitIfVisited()

void v8::internal::compiler::RepresentationSelector::PushNodeToRevisitIfVisited ( Node * node)
inline

Definition at line 673 of file simplified-lowering.cc.

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

◆ ReplaceWithPureNode()

void v8::internal::compiler::RepresentationSelector::ReplaceWithPureNode ( Node * node,
Node * pure_node )
inline

Definition at line 949 of file simplified-lowering.cc.

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

◆ ResetNodeInfoState()

void v8::internal::compiler::RepresentationSelector::ResetNodeInfoState ( )
inline

Definition at line 391 of file simplified-lowering.cc.

Here is the caller graph for this function:

◆ retype()

template<Phase T>
static constexpr bool v8::internal::compiler::RepresentationSelector::retype ( )
inlinestaticconstexpr

Definition at line 881 of file simplified-lowering.cc.

Here is the caller graph for this function:

◆ RetypeNode()

bool v8::internal::compiler::RepresentationSelector::RetypeNode ( Node * node)
inline

Definition at line 685 of file simplified-lowering.cc.

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

◆ Run()

void v8::internal::compiler::RepresentationSelector::Run ( SimplifiedLowering * lowering)
inline

Definition at line 856 of file simplified-lowering.cc.

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

◆ RunLowerPhase()

void v8::internal::compiler::RepresentationSelector::RunLowerPhase ( SimplifiedLowering * lowering)
inline

Definition at line 760 of file simplified-lowering.cc.

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

◆ RunPropagatePhase()

void v8::internal::compiler::RepresentationSelector::RunPropagatePhase ( )
inline

Definition at line 708 of file simplified-lowering.cc.

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

◆ RunRetypePhase()

void v8::internal::compiler::RepresentationSelector::RunRetypePhase ( )
inline

Definition at line 727 of file simplified-lowering.cc.

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

◆ RunVerifyPhase()

void v8::internal::compiler::RepresentationSelector::RunVerifyPhase ( OptimizedCompilationInfo * compilation_info)
inline

Definition at line 790 of file simplified-lowering.cc.

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

◆ SetOutput() [1/4]

template<>
void v8::internal::compiler::RepresentationSelector::SetOutput ( Node * node,
MachineRepresentation representation,
Type restriction_type )

Definition at line 5011 of file simplified-lowering.cc.

Here is the call graph for this function:

◆ SetOutput() [2/4]

template<>
void v8::internal::compiler::RepresentationSelector::SetOutput ( Node * node,
MachineRepresentation representation,
Type restriction_type )

Definition at line 5018 of file simplified-lowering.cc.

Here is the call graph for this function:

◆ SetOutput() [3/4]

template<>
void v8::internal::compiler::RepresentationSelector::SetOutput ( Node * node,
MachineRepresentation representation,
Type restriction_type )

Definition at line 5029 of file simplified-lowering.cc.

Here is the call graph for this function:

◆ SetOutput() [4/4]

template<Phase T>
void v8::internal::compiler::RepresentationSelector::SetOutput ( Node * node,
MachineRepresentation representation,
Type restriction_type = Type::Any() )
Here is the caller graph for this function:

◆ simplified()

SimplifiedOperatorBuilder * v8::internal::compiler::RepresentationSelector::simplified ( ) const
inline

Definition at line 1650 of file simplified-lowering.cc.

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

◆ true_type()

Type v8::internal::compiler::RepresentationSelector::true_type ( ) const
inlineprivate

Definition at line 4929 of file simplified-lowering.cc.

Here is the caller graph for this function:

◆ TryOptimizeBigInt64Shift()

template<Phase T>
bool v8::internal::compiler::RepresentationSelector::TryOptimizeBigInt64Shift ( Node * node,
const Truncation & truncation,
SimplifiedLowering * lowering )
inline

Definition at line 2204 of file simplified-lowering.cc.

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

◆ TypeOf()

Type v8::internal::compiler::RepresentationSelector::TypeOf ( Node * node)
inline

Definition at line 398 of file simplified-lowering.cc.

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

◆ TypePhi()

Type v8::internal::compiler::RepresentationSelector::TypePhi ( Node * node)
inline

Definition at line 408 of file simplified-lowering.cc.

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

◆ TypeSelect()

Type v8::internal::compiler::RepresentationSelector::TypeSelect ( Node * node)
inline

Definition at line 417 of file simplified-lowering.cc.

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

◆ Uint32Op()

const Operator * v8::internal::compiler::RepresentationSelector::Uint32Op ( Node * node)
inline

Definition at line 1572 of file simplified-lowering.cc.

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

◆ Uint32OverflowOp()

const Operator * v8::internal::compiler::RepresentationSelector::Uint32OverflowOp ( Node * node)
inline

Definition at line 1576 of file simplified-lowering.cc.

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

◆ UpdateFeedbackType()

bool v8::internal::compiler::RepresentationSelector::UpdateFeedbackType ( Node * node)
inline

Definition at line 422 of file simplified-lowering.cc.

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

◆ UseInfoForFastApiCallArgument()

UseInfo v8::internal::compiler::RepresentationSelector::UseInfoForFastApiCallArgument ( CTypeInfo type,
CFunctionInfo::Int64Representation repr,
FeedbackSource const & feedback )
inline

Definition at line 2042 of file simplified-lowering.cc.

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

◆ verification_enabled()

bool v8::internal::compiler::RepresentationSelector::verification_enabled ( ) const
inline

Definition at line 389 of file simplified-lowering.cc.

Here is the caller graph for this function:

◆ VisitBinop() [1/2]

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitBinop ( Node * node,
UseInfo input_use,
MachineRepresentation output,
Type restriction_type = Type::Any() )
inline

Definition at line 1147 of file simplified-lowering.cc.

Here is the call graph for this function:

◆ VisitBinop() [2/2]

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitBinop ( Node * node,
UseInfo left_use,
UseInfo right_use,
MachineRepresentation output,
Type restriction_type = Type::Any() )
inline

Definition at line 1133 of file simplified-lowering.cc.

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

◆ VisitCall()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitCall ( Node * node,
SimplifiedLowering * lowering )
inline

Definition at line 1322 of file simplified-lowering.cc.

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

◆ VisitCheck()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitCheck ( Node * node,
Type type,
SimplifiedLowering * lowering )
inline

Definition at line 1309 of file simplified-lowering.cc.

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

◆ VisitCheckBounds()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitCheckBounds ( Node * node,
SimplifiedLowering * lowering )
inline

Definition at line 1969 of file simplified-lowering.cc.

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

◆ VisitFastApiCall()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitFastApiCall ( Node * node,
SimplifiedLowering * lowering )
inline

Definition at line 2106 of file simplified-lowering.cc.

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

◆ VisitFloat64Binop()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitFloat64Binop ( Node * node)
inline

Definition at line 1185 of file simplified-lowering.cc.

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

◆ VisitForCheckedInt32Mul()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitForCheckedInt32Mul ( Node * node,
Truncation truncation,
Type input0_type,
Type input1_type,
UseInfo input_use )
inline

Definition at line 1655 of file simplified-lowering.cc.

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

◆ VisitFrameState()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitFrameState ( FrameState node)
inline

Definition at line 1451 of file simplified-lowering.cc.

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

◆ VisitInputs() [1/3]

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitInputs ( Node * node)
inline

Definition at line 1081 of file simplified-lowering.cc.

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

◆ VisitInputs() [2/3]

template<>
void v8::internal::compiler::RepresentationSelector::VisitInputs ( Node * node)

Definition at line 5083 of file simplified-lowering.cc.

Here is the call graph for this function:

◆ VisitInputs() [3/3]

template<>
void v8::internal::compiler::RepresentationSelector::VisitInputs ( Node * node)

Definition at line 5096 of file simplified-lowering.cc.

Here is the call graph for this function:

◆ VisitInt64Binop()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitInt64Binop ( Node * node)
inline

Definition at line 1191 of file simplified-lowering.cc.

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

◆ VisitLeaf()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitLeaf ( Node * node,
MachineRepresentation output )
inline

Definition at line 1177 of file simplified-lowering.cc.

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

◆ VisitNode()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitNode ( Node * node,
Truncation truncation,
SimplifiedLowering * lowering )
inline

Definition at line 2410 of file simplified-lowering.cc.

Here is the caller graph for this function:

◆ VisitNoop()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitNoop ( Node * node,
Truncation truncation )
inline

Definition at line 1123 of file simplified-lowering.cc.

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

◆ VisitObjectIs()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitObjectIs ( Node * node,
Type type,
SimplifiedLowering * lowering )
inline

Definition at line 1289 of file simplified-lowering.cc.

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

◆ VisitObjectState()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitObjectState ( Node * node)
inline

Definition at line 1517 of file simplified-lowering.cc.

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

◆ VisitPhi()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitPhi ( Node * node,
Truncation truncation,
SimplifiedLowering * lowering )
inline

Definition at line 1259 of file simplified-lowering.cc.

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

◆ VisitReturn()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitReturn ( Node * node)
inline

Definition at line 1088 of file simplified-lowering.cc.

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

◆ VisitSelect()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitSelect ( Node * node,
Truncation truncation,
SimplifiedLowering * lowering )
inline

Definition at line 1234 of file simplified-lowering.cc.

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

◆ VisitSpeculativeAdditiveOp()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitSpeculativeAdditiveOp ( Node * node,
Truncation truncation,
SimplifiedLowering * lowering )
inline

Definition at line 1800 of file simplified-lowering.cc.

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

◆ VisitSpeculativeInt32Binop()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitSpeculativeInt32Binop ( Node * node)
inline

Definition at line 1153 of file simplified-lowering.cc.

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

◆ VisitSpeculativeNumberModulus()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitSpeculativeNumberModulus ( Node * node,
Truncation truncation,
SimplifiedLowering * lowering )
inline

Definition at line 1847 of file simplified-lowering.cc.

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

◆ VisitSpeculativeSmallIntegerAdditiveOp()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitSpeculativeSmallIntegerAdditiveOp ( Node * node,
Truncation truncation,
SimplifiedLowering * lowering )
inline

Definition at line 1690 of file simplified-lowering.cc.

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

◆ VisitStateValues()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitStateValues ( Node * node)
inline

Definition at line 1411 of file simplified-lowering.cc.

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

◆ VisitUnop()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitUnop ( Node * node,
UseInfo input_use,
MachineRepresentation output,
Type restriction_type = Type::Any() )
inline

Definition at line 1167 of file simplified-lowering.cc.

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

◆ VisitUnused()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitUnused ( Node * node)
inline

Definition at line 1105 of file simplified-lowering.cc.

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

◆ VisitWord32TruncatingBinop()

template<Phase T>
void v8::internal::compiler::RepresentationSelector::VisitWord32TruncatingBinop ( Node * node)
inline

Definition at line 1196 of file simplified-lowering.cc.

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

◆ Weaken()

Type v8::internal::compiler::RepresentationSelector::Weaken ( Node * node,
Type previous_type,
Type current_type )
inline

Definition at line 593 of file simplified-lowering.cc.

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

◆ WriteBarrierKindFor() [1/2]

WriteBarrierKind v8::internal::compiler::RepresentationSelector::WriteBarrierKindFor ( BaseTaggedness base_taggedness,
MachineRepresentation field_representation,
int field_offset,
Type field_type,
MachineRepresentation value_representation,
Node * value )
inline

Definition at line 1631 of file simplified-lowering.cc.

Here is the call graph for this function:

◆ WriteBarrierKindFor() [2/2]

WriteBarrierKind v8::internal::compiler::RepresentationSelector::WriteBarrierKindFor ( BaseTaggedness base_taggedness,
MachineRepresentation field_representation,
Type field_type,
MachineRepresentation value_representation,
Node * value )
inline

Definition at line 1584 of file simplified-lowering.cc.

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

◆ zone()

Zone * v8::internal::compiler::RepresentationSelector::zone ( )
inlineprivate

Definition at line 4972 of file simplified-lowering.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ broker_

JSHeapBroker* v8::internal::compiler::RepresentationSelector::broker_
private

Definition at line 4933 of file simplified-lowering.cc.

◆ changer_

RepresentationChanger* v8::internal::compiler::RepresentationSelector::changer_
private

Definition at line 4944 of file simplified-lowering.cc.

◆ count_

size_t v8::internal::compiler::RepresentationSelector::count_
private

Definition at line 4937 of file simplified-lowering.cc.

◆ info_

ZoneVector<NodeInfo> v8::internal::compiler::RepresentationSelector::info_
private

Definition at line 4938 of file simplified-lowering.cc.

◆ jsgraph_

JSGraph* v8::internal::compiler::RepresentationSelector::jsgraph_
private

Definition at line 4932 of file simplified-lowering.cc.

◆ kInitialArgumentsCount

int v8::internal::compiler::RepresentationSelector::kInitialArgumentsCount = 10
staticconstexpr

Definition at line 2103 of file simplified-lowering.cc.

◆ linkage_

Linkage* const v8::internal::compiler::RepresentationSelector::linkage_
private

Definition at line 4964 of file simplified-lowering.cc.

◆ might_need_revisit_

ZoneMap<Node*, ZoneVector<Node*> > v8::internal::compiler::RepresentationSelector::might_need_revisit_
private

Definition at line 4936 of file simplified-lowering.cc.

◆ node_origins_

NodeOriginTable* v8::internal::compiler::RepresentationSelector::node_origins_
private

Definition at line 4958 of file simplified-lowering.cc.

◆ observe_node_manager_

ObserveNodeManager* const v8::internal::compiler::RepresentationSelector::observe_node_manager_
private

Definition at line 4965 of file simplified-lowering.cc.

◆ op_typer_

OperationTyper v8::internal::compiler::RepresentationSelector::op_typer_
private

Definition at line 4960 of file simplified-lowering.cc.

◆ replacements_

NodeVector v8::internal::compiler::RepresentationSelector::replacements_
private

Definition at line 4943 of file simplified-lowering.cc.

◆ revisit_queue_

ZoneQueue<Node*> v8::internal::compiler::RepresentationSelector::revisit_queue_
private

Definition at line 4945 of file simplified-lowering.cc.

◆ singleton_false_

Type v8::internal::compiler::RepresentationSelector::singleton_false_
private

Definition at line 4962 of file simplified-lowering.cc.

◆ singleton_true_

Type v8::internal::compiler::RepresentationSelector::singleton_true_
private

Definition at line 4961 of file simplified-lowering.cc.

◆ source_positions_

SourcePositionTable* v8::internal::compiler::RepresentationSelector::source_positions_
private

Definition at line 4957 of file simplified-lowering.cc.

◆ tick_counter_

TickCounter* const v8::internal::compiler::RepresentationSelector::tick_counter_
private

Definition at line 4963 of file simplified-lowering.cc.

◆ traversal_nodes_

NodeVector v8::internal::compiler::RepresentationSelector::traversal_nodes_
private

Definition at line 4951 of file simplified-lowering.cc.

◆ type_cache_

TypeCache const* v8::internal::compiler::RepresentationSelector::type_cache_
private

Definition at line 4959 of file simplified-lowering.cc.

◆ verifier_

SimplifiedLoweringVerifier* v8::internal::compiler::RepresentationSelector::verifier_
private

Definition at line 4966 of file simplified-lowering.cc.

◆ zone_

Zone* v8::internal::compiler::RepresentationSelector::zone_
private

Definition at line 4934 of file simplified-lowering.cc.


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