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 #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/ast.h" | 8 #include "src/ast.h" |
9 #include "src/compiler/js-graph.h" | 9 #include "src/compiler/js-graph.h" |
10 | 10 |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 Node* BuildLoadBuiltinsObject(); | 226 Node* BuildLoadBuiltinsObject(); |
227 Node* BuildLoadGlobalObject(); | 227 Node* BuildLoadGlobalObject(); |
228 Node* BuildLoadGlobalProxy(); | 228 Node* BuildLoadGlobalProxy(); |
229 Node* BuildLoadClosure(); | 229 Node* BuildLoadClosure(); |
230 Node* BuildLoadObjectField(Node* object, int offset); | 230 Node* BuildLoadObjectField(Node* object, int offset); |
231 | 231 |
232 // Builders for automatic type conversion. | 232 // Builders for automatic type conversion. |
233 Node* BuildToBoolean(Node* value); | 233 Node* BuildToBoolean(Node* value); |
234 Node* BuildToName(Node* value, BailoutId bailout_id); | 234 Node* BuildToName(Node* value, BailoutId bailout_id); |
235 | 235 |
236 // Adds the [[HomeObject]] to a value if the value came from a function | 236 // Builder for adding the [[HomeObject]] to a value if the value came from a |
237 // literal that needs a home object. | 237 // function literal and needs a home object. Do nothing otherwise. |
238 void AddHomeObjectIfNeeded(Expression* expr, Node* function, | 238 Node* BuildSetHomeObject(Node* value, Node* home_object, Expression* expr); |
239 Node* home_object); | |
240 | 239 |
241 // Builders for error reporting at runtime. | 240 // Builders for error reporting at runtime. |
242 Node* BuildThrowReferenceError(Variable* var, BailoutId bailout_id); | 241 Node* BuildThrowReferenceError(Variable* var, BailoutId bailout_id); |
243 Node* BuildThrowConstAssignError(BailoutId bailout_id); | 242 Node* BuildThrowConstAssignError(BailoutId bailout_id); |
244 | 243 |
245 // Builders for dynamic hole-checks at runtime. | 244 // Builders for dynamic hole-checks at runtime. |
246 Node* BuildHoleCheckSilent(Node* value, Node* for_hole, Node* not_hole); | 245 Node* BuildHoleCheckSilent(Node* value, Node* for_hole, Node* not_hole); |
247 Node* BuildHoleCheckThrow(Node* value, Variable* var, Node* not_hole, | 246 Node* BuildHoleCheckThrow(Node* value, Variable* var, Node* not_hole, |
248 BailoutId bailout_id); | 247 BailoutId bailout_id); |
249 | 248 |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
461 | 460 |
462 // Prepare environment to be used as loop header. | 461 // Prepare environment to be used as loop header. |
463 void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 462 void PrepareForLoop(BitVector* assigned, bool is_osr = false); |
464 }; | 463 }; |
465 | 464 |
466 } // namespace compiler | 465 } // namespace compiler |
467 } // namespace internal | 466 } // namespace internal |
468 } // namespace v8 | 467 } // namespace v8 |
469 | 468 |
470 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 469 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
OLD | NEW |