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/js-graph.h" | 5 #include "src/compiler/js-graph.h" |
6 #include "src/compiler/linkage.h" | 6 #include "src/compiler/linkage.h" |
7 #include "src/compiler/liveness-analyzer.h" | 7 #include "src/compiler/liveness-analyzer.h" |
8 #include "src/compiler/node-matchers.h" | 8 #include "src/compiler/node-matchers.h" |
9 #include "src/compiler/state-values-utils.h" | 9 #include "src/compiler/state-values-utils.h" |
10 #include "test/unittests/compiler/graph-unittest.h" | 10 #include "test/unittests/compiler/graph-unittest.h" |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 ZoneVector<Node*> local_inputs(locals_count_, nullptr, zone()); | 54 ZoneVector<Node*> local_inputs(locals_count_, nullptr, zone()); |
55 for (int i = 0; i < locals_count_; i++) { | 55 for (int i = 0; i < locals_count_; i++) { |
56 local_inputs[i] = jsgraph()->Int32Constant(i + first_const); | 56 local_inputs[i] = jsgraph()->Int32Constant(i + first_const); |
57 } | 57 } |
58 Node* locals = | 58 Node* locals = |
59 graph()->NewNode(locals_op, locals_count_, &local_inputs.front()); | 59 graph()->NewNode(locals_op, locals_count_, &local_inputs.front()); |
60 | 60 |
61 const FrameStateFunctionInfo* state_info = | 61 const FrameStateFunctionInfo* state_info = |
62 common()->CreateFrameStateFunctionInfo( | 62 common()->CreateFrameStateFunctionInfo( |
63 FrameStateType::kJavaScriptFunction, 0, locals_count_, | 63 FrameStateType::kJavaScriptFunction, 0, locals_count_, |
64 Handle<SharedFunctionInfo>(), CALL_MAINTAINS_NATIVE_CONTEXT); | 64 Handle<SharedFunctionInfo>()); |
65 | 65 |
66 const Operator* op = common()->FrameState( | 66 const Operator* op = common()->FrameState( |
67 BailoutId(ast_num), OutputFrameStateCombine::Ignore(), state_info); | 67 BailoutId(ast_num), OutputFrameStateCombine::Ignore(), state_info); |
68 Node* result = | 68 Node* result = |
69 graph()->NewNode(op, empty_values_, locals, empty_values_, | 69 graph()->NewNode(op, empty_values_, locals, empty_values_, |
70 jsgraph()->UndefinedConstant(), | 70 jsgraph()->UndefinedConstant(), |
71 jsgraph()->UndefinedConstant(), graph()->start()); | 71 jsgraph()->UndefinedConstant(), graph()->start()); |
72 | 72 |
73 current_block_->Checkpoint(result); | 73 current_block_->Checkpoint(result); |
74 return result; | 74 return result; |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 EXPECT_THAT(c1_in_loop, IsCheckpointModuloLiveness(".L.L")); | 370 EXPECT_THAT(c1_in_loop, IsCheckpointModuloLiveness(".L.L")); |
371 EXPECT_THAT(c2_in_loop, IsCheckpointModuloLiveness("LL.L")); | 371 EXPECT_THAT(c2_in_loop, IsCheckpointModuloLiveness("LL.L")); |
372 | 372 |
373 EXPECT_THAT(c1_end, IsCheckpointModuloLiveness(".LL.")); | 373 EXPECT_THAT(c1_end, IsCheckpointModuloLiveness(".LL.")); |
374 EXPECT_THAT(c2_end, IsCheckpointModuloLiveness("....")); | 374 EXPECT_THAT(c2_end, IsCheckpointModuloLiveness("....")); |
375 } | 375 } |
376 | 376 |
377 } // namespace compiler | 377 } // namespace compiler |
378 } // namespace internal | 378 } // namespace internal |
379 } // namespace v8 | 379 } // namespace v8 |
OLD | NEW |