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/compiler/ast-graph-builder.h" | 5 #include "src/compiler/ast-graph-builder.h" |
6 | 6 |
7 #include "src/compiler.h" | 7 #include "src/compiler.h" |
8 #include "src/compiler/ast-loop-assignment-analyzer.h" | 8 #include "src/compiler/ast-loop-assignment-analyzer.h" |
9 #include "src/compiler/control-builders.h" | 9 #include "src/compiler/control-builders.h" |
10 #include "src/compiler/linkage.h" | 10 #include "src/compiler/linkage.h" |
(...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
616 } | 616 } |
617 if (should_update) { | 617 if (should_update) { |
618 const Operator* op = common()->StateValues(count); | 618 const Operator* op = common()->StateValues(count); |
619 (*state_values) = graph()->NewNode(op, count, env_values); | 619 (*state_values) = graph()->NewNode(op, count, env_values); |
620 } | 620 } |
621 } | 621 } |
622 | 622 |
623 | 623 |
624 Node* AstGraphBuilder::Environment::Checkpoint( | 624 Node* AstGraphBuilder::Environment::Checkpoint( |
625 BailoutId ast_id, OutputFrameStateCombine combine) { | 625 BailoutId ast_id, OutputFrameStateCombine combine) { |
| 626 if (!FLAG_turbo_deoptimization) return nullptr; |
| 627 |
626 UpdateStateValues(¶meters_node_, 0, parameters_count()); | 628 UpdateStateValues(¶meters_node_, 0, parameters_count()); |
627 UpdateStateValues(&locals_node_, parameters_count(), locals_count()); | 629 UpdateStateValues(&locals_node_, parameters_count(), locals_count()); |
628 UpdateStateValues(&stack_node_, parameters_count() + locals_count(), | 630 UpdateStateValues(&stack_node_, parameters_count() + locals_count(), |
629 stack_height()); | 631 stack_height()); |
630 | 632 |
631 const Operator* op = common()->FrameState(JS_FRAME, ast_id, combine); | 633 const Operator* op = common()->FrameState(JS_FRAME, ast_id, combine); |
632 | 634 |
633 return graph()->NewNode(op, parameters_node_, locals_node_, stack_node_, | 635 return graph()->NewNode(op, parameters_node_, locals_node_, stack_node_, |
634 builder()->current_context(), | 636 builder()->current_context(), |
635 builder()->jsgraph()->UndefinedConstant()); | 637 builder()->jsgraph()->UndefinedConstant()); |
(...skipping 2666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3302 // Phi does not exist yet, introduce one. | 3304 // Phi does not exist yet, introduce one. |
3303 value = NewPhi(inputs, value, control); | 3305 value = NewPhi(inputs, value, control); |
3304 value->ReplaceInput(inputs - 1, other); | 3306 value->ReplaceInput(inputs - 1, other); |
3305 } | 3307 } |
3306 return value; | 3308 return value; |
3307 } | 3309 } |
3308 | 3310 |
3309 } // namespace compiler | 3311 } // namespace compiler |
3310 } // namespace internal | 3312 } // namespace internal |
3311 } // namespace v8 | 3313 } // namespace v8 |
OLD | NEW |