V8 Project
|
Public Member Functions | |
JSBinopReduction (JSTypedLowering *lowering, Node *node) | |
void | ConvertInputsToNumber () |
void | ConvertInputsToInt32 (bool left_signed, bool right_signed) |
void | ConvertInputsToString () |
void | ConvertInputsForShift (bool left_signed) |
void | SwapInputs () |
Reduction | ChangeToPureOperator (const Operator *op, bool invert=false) |
bool | OneInputIs (Type *t) |
bool | BothInputsAre (Type *t) |
bool | OneInputCannotBe (Type *t) |
bool | NeitherInputCanBe (Type *t) |
Node * | effect () |
Node * | control () |
Node * | context () |
Node * | left () |
Node * | right () |
Type * | left_type () |
Type * | right_type () |
SimplifiedOperatorBuilder * | simplified () |
Graph * | graph () |
JSGraph * | jsgraph () |
JSOperatorBuilder * | javascript () |
MachineOperatorBuilder * | machine () |
Private Member Functions | |
Node * | ConvertToString (Node *node) |
Node * | ConvertToNumber (Node *node) |
bool | TryNarrowingToI32 (Type *type, Node *node) |
Node * | ConvertToI32 (bool is_signed, Node *node) |
void | update_effect (Node *effect) |
Private Attributes | |
JSTypedLowering * | lowering_ |
Node * | node_ |
Type * | left_type_ |
Type * | right_type_ |
Definition at line 45 of file js-typed-lowering.cc.
|
inline |
Definition at line 47 of file js-typed-lowering.cc.
Definition at line 114 of file js-typed-lowering.cc.
References v8::internal::TypeImpl< Config >::Is(), left_type_, and right_type_.
Referenced by TryNarrowingToI32().
|
inline |
Definition at line 86 of file js-typed-lowering.cc.
References DCHECK_EQ, v8::internal::compiler::OperatorProperties::GetControlInputCount(), v8::internal::compiler::OperatorProperties::GetEffectInputCount(), v8::internal::compiler::OperatorProperties::GetValueInputCount(), graph(), v8::internal::compiler::OperatorProperties::HasContextInput(), lowering_, v8::internal::compiler::Graph::NewNode(), node_, v8::internal::compiler::RelaxEffects(), v8::internal::compiler::NodeProperties::RemoveNonValueInputs(), and simplified().
|
inline |
Definition at line 128 of file js-typed-lowering.cc.
References v8::internal::compiler::NodeProperties::GetContextInput(), and node_.
Referenced by ConvertToNumber(), and ConvertToString().
|
inline |
Definition at line 127 of file js-typed-lowering.cc.
References v8::internal::compiler::NodeProperties::GetControlInput(), and node_.
Referenced by ConvertToNumber(), and ConvertToString().
|
inline |
Definition at line 69 of file js-typed-lowering.cc.
References ConvertToI32(), graph(), jsgraph(), left(), machine(), node_, and right().
|
inline |
Definition at line 58 of file js-typed-lowering.cc.
References ConvertToI32(), left(), node_, and right().
|
inline |
Definition at line 53 of file js-typed-lowering.cc.
References ConvertToNumber(), left(), node_, and right().
|
inline |
Definition at line 63 of file js-typed-lowering.cc.
References ConvertToString(), left(), node_, and right().
|
inlineprivate |
Definition at line 194 of file js-typed-lowering.cc.
References ConvertToNumber(), v8::internal::compiler::NodeProperties::GetBounds(), graph(), v8::internal::TypeImpl< Config >::Is(), v8::internal::compiler::Graph::NewNode(), node_, simplified(), TryNarrowingToI32(), and v8::internal::BoundsImpl< Config >::upper.
Referenced by ConvertInputsForShift(), and ConvertInputsToInt32().
|
inlineprivate |
Definition at line 156 of file js-typed-lowering.cc.
References context(), control(), effect(), graph(), javascript(), lowering_, v8::internal::compiler::Graph::NewNode(), v8::internal::ToNumber(), and update_effect().
Referenced by ConvertInputsToNumber(), and ConvertToI32().
|
inlineprivate |
Definition at line 146 of file js-typed-lowering.cc.
References context(), control(), effect(), graph(), javascript(), lowering_, v8::internal::compiler::Graph::NewNode(), and update_effect().
Referenced by ConvertInputsToString().
|
inline |
Definition at line 126 of file js-typed-lowering.cc.
References v8::internal::compiler::NodeProperties::GetEffectInput(), and node_.
Referenced by ConvertToNumber(), ConvertToString(), and update_effect().
|
inline |
Definition at line 135 of file js-typed-lowering.cc.
References lowering_.
Referenced by ChangeToPureOperator(), ConvertInputsForShift(), ConvertToI32(), ConvertToNumber(), and ConvertToString().
|
inline |
Definition at line 137 of file js-typed-lowering.cc.
References lowering_.
Referenced by ConvertToNumber(), and ConvertToString().
|
inline |
Definition at line 136 of file js-typed-lowering.cc.
References lowering_.
Referenced by ConvertInputsForShift().
|
inline |
Definition at line 129 of file js-typed-lowering.cc.
References v8::internal::compiler::NodeProperties::GetValueInput(), and node_.
Referenced by ConvertInputsForShift(), ConvertInputsToInt32(), ConvertInputsToNumber(), ConvertInputsToString(), and SwapInputs().
|
inline |
|
inline |
Definition at line 138 of file js-typed-lowering.cc.
References lowering_.
Referenced by ConvertInputsForShift().
Definition at line 122 of file js-typed-lowering.cc.
References left_type_, v8::internal::TypeImpl< Config >::Maybe(), and right_type_.
Definition at line 118 of file js-typed-lowering.cc.
References left_type_, v8::internal::TypeImpl< Config >::Maybe(), and right_type_.
Definition at line 112 of file js-typed-lowering.cc.
References v8::internal::TypeImpl< Config >::Is(), left_type_, and right_type_.
|
inline |
Definition at line 130 of file js-typed-lowering.cc.
References v8::internal::compiler::NodeProperties::GetValueInput(), and node_.
Referenced by ConvertInputsForShift(), ConvertInputsToInt32(), ConvertInputsToNumber(), ConvertInputsToString(), and SwapInputs().
|
inline |
|
inline |
Definition at line 134 of file js-typed-lowering.cc.
References lowering_.
Referenced by ChangeToPureOperator(), and ConvertToI32().
|
inline |
Definition at line 76 of file js-typed-lowering.cc.
References left(), left_type_, node_, right(), and right_type_.
|
inlineprivate |
Definition at line 167 of file js-typed-lowering.cc.
References BothInputsAre(), lowering_, and v8::internal::compiler::NodeProperties::SetBounds().
Referenced by ConvertToI32().
|
inlineprivate |
Definition at line 218 of file js-typed-lowering.cc.
References effect(), node_, and v8::internal::compiler::NodeProperties::ReplaceEffectInput().
Referenced by ConvertToNumber(), and ConvertToString().
|
private |
Definition at line 143 of file js-typed-lowering.cc.
Referenced by BothInputsAre(), left_type(), NeitherInputCanBe(), OneInputCannotBe(), OneInputIs(), and SwapInputs().
|
private |
Definition at line 141 of file js-typed-lowering.cc.
Referenced by ChangeToPureOperator(), ConvertToNumber(), ConvertToString(), graph(), javascript(), jsgraph(), machine(), simplified(), and TryNarrowingToI32().
|
private |
Definition at line 142 of file js-typed-lowering.cc.
Referenced by ChangeToPureOperator(), context(), control(), ConvertInputsForShift(), ConvertInputsToInt32(), ConvertInputsToNumber(), ConvertInputsToString(), ConvertToI32(), effect(), left(), right(), SwapInputs(), and update_effect().
|
private |
Definition at line 144 of file js-typed-lowering.cc.
Referenced by BothInputsAre(), NeitherInputCanBe(), OneInputCannotBe(), OneInputIs(), right_type(), and SwapInputs().