| 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/compilation-dependencies.h" | 5 #include "src/compilation-dependencies.h" |
| 6 #include "src/compiler/js-graph.h" | 6 #include "src/compiler/js-graph.h" |
| 7 #include "src/compiler/js-typed-lowering.h" | 7 #include "src/compiler/js-typed-lowering.h" |
| 8 #include "src/compiler/machine-operator.h" | 8 #include "src/compiler/machine-operator.h" |
| 9 #include "src/compiler/node-properties.h" | 9 #include "src/compiler/node-properties.h" |
| 10 #include "src/compiler/opcodes.h" | 10 #include "src/compiler/opcodes.h" |
| (...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 JSTypedLoweringTester R; | 435 JSTypedLoweringTester R; |
| 436 | 436 |
| 437 Type* types[] = {Type::Null(), Type::Undefined(), Type::Number()}; | 437 Type* types[] = {Type::Null(), Type::Undefined(), Type::Number()}; |
| 438 | 438 |
| 439 for (size_t i = 0; i < arraysize(types); i++) { | 439 for (size_t i = 0; i < arraysize(types); i++) { |
| 440 Node* n = R.Parameter(types[i]); | 440 Node* n = R.Parameter(types[i]); |
| 441 Node* c = | 441 Node* c = |
| 442 R.graph.NewNode(R.javascript.ToNumber(), n, R.context(), | 442 R.graph.NewNode(R.javascript.ToNumber(), n, R.context(), |
| 443 R.EmptyFrameState(R.context()), R.start(), R.start()); | 443 R.EmptyFrameState(R.context()), R.start(), R.start()); |
| 444 Node* effect_use = R.UseForEffect(c); | 444 Node* effect_use = R.UseForEffect(c); |
| 445 Node* add = R.graph.NewNode(R.simplified.ReferenceEqual(Type::Any()), n, c); | 445 Node* add = R.graph.NewNode(R.simplified.ReferenceEqual(), n, c); |
| 446 | 446 |
| 447 R.CheckEffectInput(c, effect_use); | 447 R.CheckEffectInput(c, effect_use); |
| 448 Node* r = R.reduce(c); | 448 Node* r = R.reduce(c); |
| 449 | 449 |
| 450 if (types[i]->Is(Type::Number())) { | 450 if (types[i]->Is(Type::Number())) { |
| 451 CHECK_EQ(n, r); | 451 CHECK_EQ(n, r); |
| 452 } else { | 452 } else { |
| 453 CHECK_EQ(IrOpcode::kNumberConstant, r->opcode()); | 453 CHECK_EQ(IrOpcode::kNumberConstant, r->opcode()); |
| 454 } | 454 } |
| 455 | 455 |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 547 JSTypedLoweringTester R; | 547 JSTypedLoweringTester R; |
| 548 | 548 |
| 549 Type* types[] = {Type::Null(), Type::Undefined(), Type::String()}; | 549 Type* types[] = {Type::Null(), Type::Undefined(), Type::String()}; |
| 550 | 550 |
| 551 for (size_t i = 0; i < arraysize(types); i++) { | 551 for (size_t i = 0; i < arraysize(types); i++) { |
| 552 Node* n = R.Parameter(types[i]); | 552 Node* n = R.Parameter(types[i]); |
| 553 Node* c = | 553 Node* c = |
| 554 R.graph.NewNode(R.javascript.ToString(), n, R.context(), | 554 R.graph.NewNode(R.javascript.ToString(), n, R.context(), |
| 555 R.EmptyFrameState(R.context()), R.start(), R.start()); | 555 R.EmptyFrameState(R.context()), R.start(), R.start()); |
| 556 Node* effect_use = R.UseForEffect(c); | 556 Node* effect_use = R.UseForEffect(c); |
| 557 Node* add = R.graph.NewNode(R.simplified.ReferenceEqual(Type::Any()), n, c); | 557 Node* add = R.graph.NewNode(R.simplified.ReferenceEqual(), n, c); |
| 558 | 558 |
| 559 R.CheckEffectInput(c, effect_use); | 559 R.CheckEffectInput(c, effect_use); |
| 560 Node* r = R.reduce(c); | 560 Node* r = R.reduce(c); |
| 561 | 561 |
| 562 if (types[i]->Is(Type::String())) { | 562 if (types[i]->Is(Type::String())) { |
| 563 CHECK_EQ(n, r); | 563 CHECK_EQ(n, r); |
| 564 } else { | 564 } else { |
| 565 CHECK_EQ(IrOpcode::kHeapConstant, r->opcode()); | 565 CHECK_EQ(IrOpcode::kHeapConstant, r->opcode()); |
| 566 } | 566 } |
| 567 | 567 |
| (...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1236 CHECK_EQ(p1, r->InputAt(1)); | 1236 CHECK_EQ(p1, r->InputAt(1)); |
| 1237 } | 1237 } |
| 1238 } | 1238 } |
| 1239 } | 1239 } |
| 1240 } | 1240 } |
| 1241 } | 1241 } |
| 1242 | 1242 |
| 1243 } // namespace compiler | 1243 } // namespace compiler |
| 1244 } // namespace internal | 1244 } // namespace internal |
| 1245 } // namespace v8 | 1245 } // namespace v8 |
| OLD | NEW |