| Index: src/compiler/js-intrinsic-lowering.cc
|
| diff --git a/src/compiler/js-intrinsic-lowering.cc b/src/compiler/js-intrinsic-lowering.cc
|
| index 324c42e9de2a0564102c22d1f10369fe9b1cb350..219a452a7d66adc38770fe1bedd64739ea9e08bf 100644
|
| --- a/src/compiler/js-intrinsic-lowering.cc
|
| +++ b/src/compiler/js-intrinsic-lowering.cc
|
| @@ -283,13 +283,13 @@ Reduction JSIntrinsicLowering::ReduceSeqStringGetChar(
|
| Node* node, String::Encoding encoding) {
|
| Node* effect = NodeProperties::GetEffectInput(node);
|
| Node* control = NodeProperties::GetControlInput(node);
|
| + RelaxControls(node);
|
| node->ReplaceInput(2, effect);
|
| node->ReplaceInput(3, control);
|
| node->TrimInputCount(4);
|
| NodeProperties::ChangeOp(
|
| node,
|
| simplified()->LoadElement(AccessBuilder::ForSeqStringChar(encoding)));
|
| - RelaxControls(node);
|
| return Changed(node);
|
| }
|
|
|
| @@ -302,6 +302,8 @@ Reduction JSIntrinsicLowering::ReduceSeqStringSetChar(
|
| Node* string = NodeProperties::GetValueInput(node, 2);
|
| Node* effect = NodeProperties::GetEffectInput(node);
|
| Node* control = NodeProperties::GetControlInput(node);
|
| + ReplaceWithValue(node, string, node);
|
| + NodeProperties::RemoveType(node);
|
| node->ReplaceInput(0, string);
|
| node->ReplaceInput(1, index);
|
| node->ReplaceInput(2, chr);
|
| @@ -311,8 +313,6 @@ Reduction JSIntrinsicLowering::ReduceSeqStringSetChar(
|
| NodeProperties::ChangeOp(
|
| node,
|
| simplified()->StoreElement(AccessBuilder::ForSeqStringChar(encoding)));
|
| - NodeProperties::RemoveType(node);
|
| - ReplaceWithValue(node, string, node);
|
| return Changed(node);
|
| }
|
|
|
| @@ -552,36 +552,36 @@ Reduction JSIntrinsicLowering::ReduceCallFunction(Node* node) {
|
|
|
| Reduction JSIntrinsicLowering::Change(Node* node, const Operator* op, Node* a,
|
| Node* b) {
|
| + RelaxControls(node);
|
| node->ReplaceInput(0, a);
|
| node->ReplaceInput(1, b);
|
| node->TrimInputCount(2);
|
| NodeProperties::ChangeOp(node, op);
|
| - RelaxControls(node);
|
| return Changed(node);
|
| }
|
|
|
|
|
| Reduction JSIntrinsicLowering::Change(Node* node, const Operator* op, Node* a,
|
| Node* b, Node* c) {
|
| + RelaxControls(node);
|
| node->ReplaceInput(0, a);
|
| node->ReplaceInput(1, b);
|
| node->ReplaceInput(2, c);
|
| node->TrimInputCount(3);
|
| NodeProperties::ChangeOp(node, op);
|
| - RelaxControls(node);
|
| return Changed(node);
|
| }
|
|
|
|
|
| Reduction JSIntrinsicLowering::Change(Node* node, const Operator* op, Node* a,
|
| Node* b, Node* c, Node* d) {
|
| + RelaxControls(node);
|
| node->ReplaceInput(0, a);
|
| node->ReplaceInput(1, b);
|
| node->ReplaceInput(2, c);
|
| node->ReplaceInput(3, d);
|
| node->TrimInputCount(4);
|
| NodeProperties::ChangeOp(node, op);
|
| - RelaxControls(node);
|
| return Changed(node);
|
| }
|
|
|
|
|