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-inlining.h" | 5 #include "src/compiler/js-inlining.h" |
6 | 6 |
7 #include "src/ast/ast.h" | 7 #include "src/ast/ast.h" |
8 #include "src/ast/ast-numbering.h" | 8 #include "src/ast/ast-numbering.h" |
9 #include "src/ast/scopes.h" | 9 #include "src/ast/scopes.h" |
10 #include "src/compiler.h" | 10 #include "src/compiler.h" |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 } | 237 } |
238 } | 238 } |
239 | 239 |
240 | 240 |
241 Node* JSInliner::CreateArtificialFrameState(Node* node, Node* outer_frame_state, | 241 Node* JSInliner::CreateArtificialFrameState(Node* node, Node* outer_frame_state, |
242 int parameter_count, | 242 int parameter_count, |
243 FrameStateType frame_state_type, | 243 FrameStateType frame_state_type, |
244 Handle<SharedFunctionInfo> shared) { | 244 Handle<SharedFunctionInfo> shared) { |
245 const FrameStateFunctionInfo* state_info = | 245 const FrameStateFunctionInfo* state_info = |
246 jsgraph_->common()->CreateFrameStateFunctionInfo( | 246 jsgraph_->common()->CreateFrameStateFunctionInfo( |
247 frame_state_type, parameter_count + 1, 0, shared, | 247 frame_state_type, parameter_count + 1, 0, shared); |
248 CALL_MAINTAINS_NATIVE_CONTEXT); | |
249 | 248 |
250 const Operator* op = jsgraph_->common()->FrameState( | 249 const Operator* op = jsgraph_->common()->FrameState( |
251 BailoutId(-1), OutputFrameStateCombine::Ignore(), state_info); | 250 BailoutId(-1), OutputFrameStateCombine::Ignore(), state_info); |
252 const Operator* op0 = jsgraph_->common()->StateValues(0); | 251 const Operator* op0 = jsgraph_->common()->StateValues(0); |
253 Node* node0 = jsgraph_->graph()->NewNode(op0); | 252 Node* node0 = jsgraph_->graph()->NewNode(op0); |
254 NodeVector params(local_zone_); | 253 NodeVector params(local_zone_); |
255 for (int parameter = 0; parameter < parameter_count + 1; ++parameter) { | 254 for (int parameter = 0; parameter < parameter_count + 1; ++parameter) { |
256 params.push_back(node->InputAt(1 + parameter)); | 255 params.push_back(node->InputAt(1 + parameter)); |
257 } | 256 } |
258 const Operator* op_param = | 257 const Operator* op_param = |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
512 node, frame_state, call.formal_arguments(), | 511 node, frame_state, call.formal_arguments(), |
513 FrameStateType::kArgumentsAdaptor, info.shared_info()); | 512 FrameStateType::kArgumentsAdaptor, info.shared_info()); |
514 } | 513 } |
515 | 514 |
516 return InlineCall(node, new_target, context, frame_state, start, end); | 515 return InlineCall(node, new_target, context, frame_state, start, end); |
517 } | 516 } |
518 | 517 |
519 } // namespace compiler | 518 } // namespace compiler |
520 } // namespace internal | 519 } // namespace internal |
521 } // namespace v8 | 520 } // namespace v8 |
OLD | NEW |