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/js-type-feedback.h" | 10 #include "src/compiler/js-type-feedback.h" |
(...skipping 833 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
844 BailoutId ast_id, OutputFrameStateCombine combine) { | 844 BailoutId ast_id, OutputFrameStateCombine combine) { |
845 if (!builder()->info()->is_deoptimization_enabled()) { | 845 if (!builder()->info()->is_deoptimization_enabled()) { |
846 return builder()->jsgraph()->EmptyFrameState(); | 846 return builder()->jsgraph()->EmptyFrameState(); |
847 } | 847 } |
848 | 848 |
849 UpdateStateValues(¶meters_node_, 0, parameters_count()); | 849 UpdateStateValues(¶meters_node_, 0, parameters_count()); |
850 UpdateStateValuesWithCache(&locals_node_, parameters_count(), locals_count()); | 850 UpdateStateValuesWithCache(&locals_node_, parameters_count(), locals_count()); |
851 UpdateStateValues(&stack_node_, parameters_count() + locals_count(), | 851 UpdateStateValues(&stack_node_, parameters_count() + locals_count(), |
852 stack_height()); | 852 stack_height()); |
853 | 853 |
854 const Operator* op = common()->FrameState(JS_FRAME, ast_id, combine); | 854 const Operator* op = common()->FrameState(JS_FRAME, ast_id, combine, |
| 855 builder()->info()->shared_info()); |
855 | 856 |
856 Node* result = graph()->NewNode(op, parameters_node_, locals_node_, | 857 Node* result = graph()->NewNode(op, parameters_node_, locals_node_, |
857 stack_node_, builder()->current_context(), | 858 stack_node_, builder()->current_context(), |
858 builder()->GetFunctionClosure(), | 859 builder()->GetFunctionClosure(), |
859 builder()->graph()->start()); | 860 builder()->graph()->start()); |
860 | 861 |
861 DCHECK(IsLivenessBlockConsistent()); | 862 DCHECK(IsLivenessBlockConsistent()); |
862 if (liveness_block() != nullptr) { | 863 if (liveness_block() != nullptr) { |
863 liveness_block()->Checkpoint(result); | 864 liveness_block()->Checkpoint(result); |
864 } | 865 } |
(...skipping 2930 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3795 // Phi does not exist yet, introduce one. | 3796 // Phi does not exist yet, introduce one. |
3796 value = NewPhi(inputs, value, control); | 3797 value = NewPhi(inputs, value, control); |
3797 value->ReplaceInput(inputs - 1, other); | 3798 value->ReplaceInput(inputs - 1, other); |
3798 } | 3799 } |
3799 return value; | 3800 return value; |
3800 } | 3801 } |
3801 | 3802 |
3802 } // namespace compiler | 3803 } // namespace compiler |
3803 } // namespace internal | 3804 } // namespace internal |
3804 } // namespace v8 | 3805 } // namespace v8 |
OLD | NEW |