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

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

Issue 816913003: Implement ES6 rest parameters (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Remove --harmony-arrow-functions from tests Created 5 years, 10 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
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 #ifndef V8_COMPILER_AST_GRAPH_BUILDER_H_ 5 #ifndef V8_COMPILER_AST_GRAPH_BUILDER_H_
6 #define V8_COMPILER_AST_GRAPH_BUILDER_H_ 6 #define V8_COMPILER_AST_GRAPH_BUILDER_H_
7 7
8 #include "src/v8.h" 8 #include "src/v8.h"
9 9
10 #include "src/ast.h" 10 #include "src/ast.h"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 // Builder to create a receiver check for sloppy mode. 200 // Builder to create a receiver check for sloppy mode.
201 Node* BuildPatchReceiverToGlobalProxy(Node* receiver); 201 Node* BuildPatchReceiverToGlobalProxy(Node* receiver);
202 202
203 // Builders to create local function and block contexts. 203 // Builders to create local function and block contexts.
204 Node* BuildLocalFunctionContext(Node* context, Node* closure); 204 Node* BuildLocalFunctionContext(Node* context, Node* closure);
205 Node* BuildLocalBlockContext(Scope* scope); 205 Node* BuildLocalBlockContext(Scope* scope);
206 206
207 // Builder to create an arguments object if it is used. 207 // Builder to create an arguments object if it is used.
208 Node* BuildArgumentsObject(Variable* arguments); 208 Node* BuildArgumentsObject(Variable* arguments);
209 209
210 // Builder to create an array of rest parameters if used
211 Node* BuildRestArgumentsArray(Variable* rest, int index);
212
210 // Builders for variable load and assignment. 213 // Builders for variable load and assignment.
211 Node* BuildVariableAssignment(Variable* var, Node* value, Token::Value op, 214 Node* BuildVariableAssignment(Variable* var, Node* value, Token::Value op,
212 BailoutId bailout_id, 215 BailoutId bailout_id,
213 OutputFrameStateCombine state_combine = 216 OutputFrameStateCombine state_combine =
214 OutputFrameStateCombine::Ignore()); 217 OutputFrameStateCombine::Ignore());
215 Node* BuildVariableDelete(Variable* var, BailoutId bailout_id, 218 Node* BuildVariableDelete(Variable* var, BailoutId bailout_id,
216 OutputFrameStateCombine state_combine); 219 OutputFrameStateCombine state_combine);
217 Node* BuildVariableLoad(Variable* var, BailoutId bailout_id, 220 Node* BuildVariableLoad(Variable* var, BailoutId bailout_id,
218 const VectorSlotPair& feedback, 221 const VectorSlotPair& feedback,
219 ContextualMode mode = CONTEXTUAL); 222 ContextualMode mode = CONTEXTUAL);
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 455
453 // Prepare environment to be used as loop header. 456 // Prepare environment to be used as loop header.
454 void PrepareForLoop(BitVector* assigned, bool is_osr = false); 457 void PrepareForLoop(BitVector* assigned, bool is_osr = false);
455 }; 458 };
456 459
457 } // namespace compiler 460 } // namespace compiler
458 } // namespace internal 461 } // namespace internal
459 } // namespace v8 462 } // namespace v8
460 463
461 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ 464 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698