| Index: src/compiler/js-intrinsic-lowering.cc
|
| diff --git a/src/compiler/js-intrinsic-lowering.cc b/src/compiler/js-intrinsic-lowering.cc
|
| index 5ccbe098b59ded0c193c6dce621880944ab332c3..1d939e1ee00f846b74a12188657fe87c06184523 100644
|
| --- a/src/compiler/js-intrinsic-lowering.cc
|
| +++ b/src/compiler/js-intrinsic-lowering.cc
|
| @@ -50,8 +50,6 @@ Reduction JSIntrinsicLowering::Reduce(Node* node) {
|
| return ReduceIsJSReceiver(node);
|
| case Runtime::kInlineIsSmi:
|
| return ReduceIsSmi(node);
|
| - case Runtime::kInlineValueOf:
|
| - return ReduceValueOf(node);
|
| case Runtime::kInlineFixedArrayGet:
|
| return ReduceFixedArrayGet(node);
|
| case Runtime::kInlineFixedArraySet:
|
| @@ -204,70 +202,6 @@ Reduction JSIntrinsicLowering::ReduceIsSmi(Node* node) {
|
| }
|
|
|
|
|
| -Reduction JSIntrinsicLowering::ReduceValueOf(Node* node) {
|
| - // if (%_IsSmi(value)) {
|
| - // return value;
|
| - // } else if (%_GetInstanceType(%_GetMap(value)) == JS_VALUE_TYPE) {
|
| - // return %_GetValue(value);
|
| - // } else {
|
| - // return value;
|
| - // }
|
| - const Operator* const merge_op = common()->Merge(2);
|
| - const Operator* const ephi_op = common()->EffectPhi(2);
|
| - const Operator* const phi_op =
|
| - common()->Phi(MachineRepresentation::kTagged, 2);
|
| -
|
| - Node* value = NodeProperties::GetValueInput(node, 0);
|
| - Node* effect = NodeProperties::GetEffectInput(node);
|
| - Node* control = NodeProperties::GetControlInput(node);
|
| -
|
| - Node* check0 = graph()->NewNode(simplified()->ObjectIsSmi(), value);
|
| - Node* branch0 = graph()->NewNode(common()->Branch(), check0, control);
|
| -
|
| - Node* if_true0 = graph()->NewNode(common()->IfTrue(), branch0);
|
| - Node* etrue0 = effect;
|
| - Node* vtrue0 = value;
|
| -
|
| - Node* if_false0 = graph()->NewNode(common()->IfFalse(), branch0);
|
| - Node* efalse0;
|
| - Node* vfalse0;
|
| - {
|
| - Node* check1 = graph()->NewNode(
|
| - machine()->Word32Equal(),
|
| - graph()->NewNode(
|
| - simplified()->LoadField(AccessBuilder::ForMapInstanceType()),
|
| - graph()->NewNode(simplified()->LoadField(AccessBuilder::ForMap()),
|
| - value, effect, if_false0),
|
| - effect, if_false0),
|
| - jsgraph()->Int32Constant(JS_VALUE_TYPE));
|
| - Node* branch1 = graph()->NewNode(common()->Branch(), check1, if_false0);
|
| -
|
| - Node* if_true1 = graph()->NewNode(common()->IfTrue(), branch1);
|
| - Node* etrue1 =
|
| - graph()->NewNode(simplified()->LoadField(AccessBuilder::ForValue()),
|
| - value, effect, if_true1);
|
| - Node* vtrue1 = etrue1;
|
| -
|
| - Node* if_false1 = graph()->NewNode(common()->IfFalse(), branch1);
|
| - Node* efalse1 = effect;
|
| - Node* vfalse1 = value;
|
| -
|
| - Node* merge1 = graph()->NewNode(merge_op, if_true1, if_false1);
|
| - efalse0 = graph()->NewNode(ephi_op, etrue1, efalse1, merge1);
|
| - vfalse0 = graph()->NewNode(phi_op, vtrue1, vfalse1, merge1);
|
| - }
|
| -
|
| - Node* merge0 = graph()->NewNode(merge_op, if_true0, if_false0);
|
| -
|
| - // Replace all effect uses of {node} with the {ephi0}.
|
| - Node* ephi0 = graph()->NewNode(ephi_op, etrue0, efalse0, merge0);
|
| - ReplaceWithValue(node, node, ephi0);
|
| -
|
| - // Turn the {node} into a Phi.
|
| - return Change(node, phi_op, vtrue0, vfalse0, merge0);
|
| -}
|
| -
|
| -
|
| Reduction JSIntrinsicLowering::Change(Node* node, const Operator* op) {
|
| // Replace all effect uses of {node} with the effect dependency.
|
| RelaxEffectsAndControls(node);
|
|
|