Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(443)

Side by Side Diff: src/compiler/ast-graph-builder.cc

Issue 517323002: Make FrameStates recursive (to be used for inlining). (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: jarin's comments. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/compiler/ast-graph-builder.h ('k') | src/compiler/code-generator.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/control-builders.h" 8 #include "src/compiler/control-builders.h"
9 #include "src/compiler/machine-operator.h" 9 #include "src/compiler/machine-operator.h"
10 #include "src/compiler/node-properties.h" 10 #include "src/compiler/node-properties.h"
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 Node* AstGraphBuilder::Environment::Checkpoint( 220 Node* AstGraphBuilder::Environment::Checkpoint(
221 BailoutId ast_id, OutputFrameStateCombine combine) { 221 BailoutId ast_id, OutputFrameStateCombine combine) {
222 UpdateStateValues(&parameters_node_, 0, parameters_count()); 222 UpdateStateValues(&parameters_node_, 0, parameters_count());
223 UpdateStateValues(&locals_node_, parameters_count(), locals_count()); 223 UpdateStateValues(&locals_node_, parameters_count(), locals_count());
224 UpdateStateValues(&stack_node_, parameters_count() + locals_count(), 224 UpdateStateValues(&stack_node_, parameters_count() + locals_count(),
225 stack_height()); 225 stack_height());
226 226
227 Operator* op = common()->FrameState(ast_id, combine); 227 Operator* op = common()->FrameState(ast_id, combine);
228 228
229 return graph()->NewNode(op, parameters_node_, locals_node_, stack_node_, 229 return graph()->NewNode(op, parameters_node_, locals_node_, stack_node_,
230 GetContext()); 230 GetContext(),
231 builder()->jsgraph()->UndefinedConstant());
231 } 232 }
232 233
233 234
234 AstGraphBuilder::AstContext::AstContext(AstGraphBuilder* own, 235 AstGraphBuilder::AstContext::AstContext(AstGraphBuilder* own,
235 Expression::Context kind) 236 Expression::Context kind)
236 : kind_(kind), owner_(own), outer_(own->ast_context()) { 237 : kind_(kind), owner_(own), outer_(own->ast_context()) {
237 owner()->set_ast_context(this); // Push. 238 owner()->set_ast_context(this); // Push.
238 #ifdef DEBUG 239 #ifdef DEBUG
239 original_height_ = environment()->stack_height(); 240 original_height_ = environment()->stack_height();
240 #endif 241 #endif
(...skipping 1771 matching lines...) Expand 10 before | Expand all | Expand 10 after
2012 DCHECK(node->InputAt(frame_state_index)->op()->opcode() == IrOpcode::kDead); 2013 DCHECK(node->InputAt(frame_state_index)->op()->opcode() == IrOpcode::kDead);
2013 2014
2014 Node* frame_state_node = environment()->Checkpoint(ast_id, combine); 2015 Node* frame_state_node = environment()->Checkpoint(ast_id, combine);
2015 node->ReplaceInput(frame_state_index, frame_state_node); 2016 node->ReplaceInput(frame_state_index, frame_state_node);
2016 } 2017 }
2017 } 2018 }
2018 2019
2019 } 2020 }
2020 } 2021 }
2021 } // namespace v8::internal::compiler 2022 } // namespace v8::internal::compiler
OLDNEW
« no previous file with comments | « src/compiler/ast-graph-builder.h ('k') | src/compiler/code-generator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698