| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/compiler/effect-control-linearizer.h" | 5 #include "src/compiler/effect-control-linearizer.h" |
| 6 | 6 |
| 7 #include "src/code-factory.h" | 7 #include "src/code-factory.h" |
| 8 #include "src/compiler/access-builder.h" | 8 #include "src/compiler/access-builder.h" |
| 9 #include "src/compiler/js-graph.h" | 9 #include "src/compiler/js-graph.h" |
| 10 #include "src/compiler/linkage.h" | 10 #include "src/compiler/linkage.h" |
| (...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 // Update the value uses to the value input of the finish node and | 524 // Update the value uses to the value input of the finish node and |
| 525 // the effect uses to the effect input. | 525 // the effect uses to the effect input. |
| 526 return RemoveRegionNode(node); | 526 return RemoveRegionNode(node); |
| 527 } | 527 } |
| 528 | 528 |
| 529 // Special treatment for checkpoint nodes. | 529 // Special treatment for checkpoint nodes. |
| 530 if (node->opcode() == IrOpcode::kCheckpoint) { | 530 if (node->opcode() == IrOpcode::kCheckpoint) { |
| 531 // Unlink the check point; effect uses will be updated to the incoming | 531 // Unlink the check point; effect uses will be updated to the incoming |
| 532 // effect that is passed. The frame state is preserved for lowering. | 532 // effect that is passed. The frame state is preserved for lowering. |
| 533 DCHECK_EQ(RegionObservability::kObservable, region_observability_); | 533 DCHECK_EQ(RegionObservability::kObservable, region_observability_); |
| 534 *frame_state = NodeProperties::GetFrameStateInput(node, 0); | 534 *frame_state = NodeProperties::GetFrameStateInput(node); |
| 535 return; | 535 return; |
| 536 } | 536 } |
| 537 | 537 |
| 538 if (node->opcode() == IrOpcode::kIfSuccess) { | 538 if (node->opcode() == IrOpcode::kIfSuccess) { |
| 539 // We always schedule IfSuccess with its call, so skip it here. | 539 // We always schedule IfSuccess with its call, so skip it here. |
| 540 DCHECK_EQ(IrOpcode::kCall, node->InputAt(0)->opcode()); | 540 DCHECK_EQ(IrOpcode::kCall, node->InputAt(0)->opcode()); |
| 541 // The IfSuccess node should not belong to an exceptional call node | 541 // The IfSuccess node should not belong to an exceptional call node |
| 542 // because such IfSuccess nodes should only start a basic block (and | 542 // because such IfSuccess nodes should only start a basic block (and |
| 543 // basic block start nodes are not handled in the ProcessNode method). | 543 // basic block start nodes are not handled in the ProcessNode method). |
| 544 DCHECK(!NodeProperties::IsExceptionalCall(node->InputAt(0))); | 544 DCHECK(!NodeProperties::IsExceptionalCall(node->InputAt(0))); |
| (...skipping 2149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2694 isolate(), graph()->zone(), callable.descriptor(), 0, flags, | 2694 isolate(), graph()->zone(), callable.descriptor(), 0, flags, |
| 2695 Operator::kNoThrow); | 2695 Operator::kNoThrow); |
| 2696 to_number_operator_.set(common()->Call(desc)); | 2696 to_number_operator_.set(common()->Call(desc)); |
| 2697 } | 2697 } |
| 2698 return to_number_operator_.get(); | 2698 return to_number_operator_.get(); |
| 2699 } | 2699 } |
| 2700 | 2700 |
| 2701 } // namespace compiler | 2701 } // namespace compiler |
| 2702 } // namespace internal | 2702 } // namespace internal |
| 2703 } // namespace v8 | 2703 } // namespace v8 |
| OLD | NEW |