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 |