OLD | NEW |
---|---|
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/compilation-dependencies.h" | 6 #include "src/compilation-dependencies.h" |
7 #include "src/compiler/access-builder.h" | 7 #include "src/compiler/access-builder.h" |
8 #include "src/compiler/js-graph.h" | 8 #include "src/compiler/js-graph.h" |
9 #include "src/compiler/js-typed-lowering.h" | 9 #include "src/compiler/js-typed-lowering.h" |
10 #include "src/compiler/linkage.h" | 10 #include "src/compiler/linkage.h" |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
211 value->ReplaceInput(0, node_); | 211 value->ReplaceInput(0, node_); |
212 return lowering_->Replace(value); | 212 return lowering_->Replace(value); |
213 } | 213 } |
214 return lowering_->Changed(node_); | 214 return lowering_->Changed(node_); |
215 } | 215 } |
216 | 216 |
217 Reduction ChangeToPureOperator(const Operator* op, Type* type) { | 217 Reduction ChangeToPureOperator(const Operator* op, Type* type) { |
218 return ChangeToPureOperator(op, false, type); | 218 return ChangeToPureOperator(op, false, type); |
219 } | 219 } |
220 | 220 |
221 bool IsStrong() { return is_strong(OpParameter<LanguageMode>(node_)); } | 221 // TODO(turbofan): Strong mode should be killed soonish! |
Jarin
2015/12/01 07:31:00
???
| |
222 bool IsStrong() const { | |
223 if (node_->opcode() == IrOpcode::kJSLessThan || | |
224 node_->opcode() == IrOpcode::kJSLessThanOrEqual || | |
225 node_->opcode() == IrOpcode::kJSGreaterThan || | |
226 node_->opcode() == IrOpcode::kJSGreaterThanOrEqual) { | |
227 return is_strong(OpParameter<LanguageMode>(node_)); | |
228 } | |
229 return is_strong(BinaryOperationParametersOf(node_->op()).language_mode()); | |
230 } | |
222 | 231 |
223 bool LeftInputIs(Type* t) { return left_type()->Is(t); } | 232 bool LeftInputIs(Type* t) { return left_type()->Is(t); } |
224 | 233 |
225 bool RightInputIs(Type* t) { return right_type()->Is(t); } | 234 bool RightInputIs(Type* t) { return right_type()->Is(t); } |
226 | 235 |
227 bool OneInputIs(Type* t) { return LeftInputIs(t) || RightInputIs(t); } | 236 bool OneInputIs(Type* t) { return LeftInputIs(t) || RightInputIs(t); } |
228 | 237 |
229 bool BothInputsAre(Type* t) { return LeftInputIs(t) && RightInputIs(t); } | 238 bool BothInputsAre(Type* t) { return LeftInputIs(t) && RightInputIs(t); } |
230 | 239 |
231 bool OneInputCannotBe(Type* t) { | 240 bool OneInputCannotBe(Type* t) { |
(...skipping 2357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2589 } | 2598 } |
2590 | 2599 |
2591 | 2600 |
2592 CompilationDependencies* JSTypedLowering::dependencies() const { | 2601 CompilationDependencies* JSTypedLowering::dependencies() const { |
2593 return dependencies_; | 2602 return dependencies_; |
2594 } | 2603 } |
2595 | 2604 |
2596 } // namespace compiler | 2605 } // namespace compiler |
2597 } // namespace internal | 2606 } // namespace internal |
2598 } // namespace v8 | 2607 } // namespace v8 |
OLD | NEW |