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

Side by Side Diff: src/compiler/js-generic-lowering.cc

Issue 2222993003: [turbofan] Consume number type hints for strict equality. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 4 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 unified diff | Download patch
« no previous file with comments | « no previous file | src/compiler/js-operator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/code-factory.h" 5 #include "src/code-factory.h"
6 #include "src/code-stubs.h" 6 #include "src/code-stubs.h"
7 #include "src/compiler/common-operator.h" 7 #include "src/compiler/common-operator.h"
8 #include "src/compiler/js-generic-lowering.h" 8 #include "src/compiler/js-generic-lowering.h"
9 #include "src/compiler/js-graph.h" 9 #include "src/compiler/js-graph.h"
10 #include "src/compiler/machine-operator.h" 10 #include "src/compiler/machine-operator.h"
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 Node* ref = jsgraph()->ExternalConstant(ExternalReference(f, isolate())); 113 Node* ref = jsgraph()->ExternalConstant(ExternalReference(f, isolate()));
114 Node* arity = jsgraph()->Int32Constant(nargs); 114 Node* arity = jsgraph()->Int32Constant(nargs);
115 node->InsertInput(zone(), 0, jsgraph()->CEntryStubConstant(fun->result_size)); 115 node->InsertInput(zone(), 0, jsgraph()->CEntryStubConstant(fun->result_size));
116 node->InsertInput(zone(), nargs + 1, ref); 116 node->InsertInput(zone(), nargs + 1, ref);
117 node->InsertInput(zone(), nargs + 2, arity); 117 node->InsertInput(zone(), nargs + 2, arity);
118 NodeProperties::ChangeOp(node, common()->Call(desc)); 118 NodeProperties::ChangeOp(node, common()->Call(desc));
119 } 119 }
120 120
121 void JSGenericLowering::LowerJSStrictEqual(Node* node) { 121 void JSGenericLowering::LowerJSStrictEqual(Node* node) {
122 Callable callable = CodeFactory::StrictEqual(isolate()); 122 Callable callable = CodeFactory::StrictEqual(isolate());
123 node->AppendInput(zone(), graph()->start()); 123 node->RemoveInput(4); // control
124 ReplaceWithStubCall(node, callable, CallDescriptor::kNoFlags, 124 ReplaceWithStubCall(node, callable, CallDescriptor::kNoFlags,
125 Operator::kEliminatable); 125 Operator::kEliminatable);
126 } 126 }
127 127
128 void JSGenericLowering::LowerJSStrictNotEqual(Node* node) { 128 void JSGenericLowering::LowerJSStrictNotEqual(Node* node) {
129 Callable callable = CodeFactory::StrictNotEqual(isolate()); 129 Callable callable = CodeFactory::StrictNotEqual(isolate());
130 node->AppendInput(zone(), graph()->start()); 130 node->RemoveInput(4); // control
131 ReplaceWithStubCall(node, callable, CallDescriptor::kNoFlags, 131 ReplaceWithStubCall(node, callable, CallDescriptor::kNoFlags,
132 Operator::kEliminatable); 132 Operator::kEliminatable);
133 } 133 }
134 134
135 void JSGenericLowering::LowerJSToBoolean(Node* node) { 135 void JSGenericLowering::LowerJSToBoolean(Node* node) {
136 Callable callable = CodeFactory::ToBoolean(isolate()); 136 Callable callable = CodeFactory::ToBoolean(isolate());
137 node->AppendInput(zone(), graph()->start()); 137 node->AppendInput(zone(), graph()->start());
138 ReplaceWithStubCall(node, callable, CallDescriptor::kNoAllocate, 138 ReplaceWithStubCall(node, callable, CallDescriptor::kNoAllocate,
139 Operator::kEliminatable); 139 Operator::kEliminatable);
140 } 140 }
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 } 684 }
685 685
686 686
687 MachineOperatorBuilder* JSGenericLowering::machine() const { 687 MachineOperatorBuilder* JSGenericLowering::machine() const {
688 return jsgraph()->machine(); 688 return jsgraph()->machine();
689 } 689 }
690 690
691 } // namespace compiler 691 } // namespace compiler
692 } // namespace internal 692 } // namespace internal
693 } // namespace v8 693 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/compiler/js-operator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698