Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(109)

Unified Diff: src/compiler/js-intrinsic-lowering.cc

Issue 2126453002: [intrinsic] Drop the %_ValueOf intrinsic. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix noi18n build (narf) Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/js-intrinsic-lowering.h ('k') | src/crankshaft/hydrogen.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « src/compiler/js-intrinsic-lowering.h ('k') | src/crankshaft/hydrogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698