OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_FLOW_GRAPH_BUILDER_H_ | 5 #ifndef VM_FLOW_GRAPH_BUILDER_H_ |
6 #define VM_FLOW_GRAPH_BUILDER_H_ | 6 #define VM_FLOW_GRAPH_BUILDER_H_ |
7 | 7 |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 #include "platform/globals.h" | 9 #include "platform/globals.h" |
10 #include "vm/allocation.h" | 10 #include "vm/allocation.h" |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 void BuildPushArguments(const ArgumentListNode& node, | 329 void BuildPushArguments(const ArgumentListNode& node, |
330 ZoneGrowableArray<PushArgumentInstr*>* values); | 330 ZoneGrowableArray<PushArgumentInstr*>* values); |
331 | 331 |
332 // Creates an instantiated type argument vector used in preparation of an | 332 // Creates an instantiated type argument vector used in preparation of an |
333 // allocation call. | 333 // allocation call. |
334 // May be called only if allocating an object of a parameterized class. | 334 // May be called only if allocating an object of a parameterized class. |
335 Value* BuildInstantiatedTypeArguments( | 335 Value* BuildInstantiatedTypeArguments( |
336 intptr_t token_pos, | 336 intptr_t token_pos, |
337 const TypeArguments& type_arguments); | 337 const TypeArguments& type_arguments); |
338 | 338 |
339 // Creates a possibly uninstantiated type argument vector and the type | |
340 // argument vector of the instantiator used in | |
341 // preparation of a constructor call. | |
342 // May be called only if allocating an object of a parameterized class. | |
343 void BuildConstructorTypeArguments( | |
344 ConstructorCallNode* node, | |
345 ZoneGrowableArray<PushArgumentInstr*>* call_arguments); | |
346 | |
347 void BuildTypecheckPushArguments( | 339 void BuildTypecheckPushArguments( |
348 intptr_t token_pos, | 340 intptr_t token_pos, |
349 PushArgumentInstr** push_instantiator, | 341 PushArgumentInstr** push_instantiator, |
350 PushArgumentInstr** push_instantiator_type_arguments); | 342 PushArgumentInstr** push_instantiator_type_arguments); |
351 void BuildTypecheckArguments(intptr_t token_pos, | 343 void BuildTypecheckArguments(intptr_t token_pos, |
352 Value** instantiator, | 344 Value** instantiator, |
353 Value** instantiator_type_arguments); | 345 Value** instantiator_type_arguments); |
354 Value* BuildInstantiator(); | 346 Value* BuildInstantiator(); |
355 Value* BuildInstantiatorTypeArguments(intptr_t token_pos, | 347 Value* BuildInstantiatorTypeArguments(intptr_t token_pos, |
356 const Class& instantiator_class, | 348 const Class& instantiator_class, |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
568 // Output parameters. | 560 // Output parameters. |
569 GrowableArray<TargetEntryInstr**> true_successor_addresses_; | 561 GrowableArray<TargetEntryInstr**> true_successor_addresses_; |
570 GrowableArray<TargetEntryInstr**> false_successor_addresses_; | 562 GrowableArray<TargetEntryInstr**> false_successor_addresses_; |
571 | 563 |
572 intptr_t condition_token_pos_; | 564 intptr_t condition_token_pos_; |
573 }; | 565 }; |
574 | 566 |
575 } // namespace dart | 567 } // namespace dart |
576 | 568 |
577 #endif // VM_FLOW_GRAPH_BUILDER_H_ | 569 #endif // VM_FLOW_GRAPH_BUILDER_H_ |
OLD | NEW |