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 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 | 325 |
326 // Creates an instantiated type argument vector used in preparation of an | 326 // Creates an instantiated type argument vector used in preparation of an |
327 // allocation call. | 327 // allocation call. |
328 // May be called only if allocating an object of a parameterized class. | 328 // May be called only if allocating an object of a parameterized class. |
329 Value* BuildInstantiatedTypeArguments( | 329 Value* BuildInstantiatedTypeArguments( |
330 intptr_t token_pos, | 330 intptr_t token_pos, |
331 const TypeArguments& type_arguments); | 331 const TypeArguments& type_arguments); |
332 | 332 |
333 void BuildTypecheckPushArguments( | 333 void BuildTypecheckPushArguments( |
334 intptr_t token_pos, | 334 intptr_t token_pos, |
335 PushArgumentInstr** push_instantiator, | |
336 PushArgumentInstr** push_instantiator_type_arguments); | 335 PushArgumentInstr** push_instantiator_type_arguments); |
337 void BuildTypecheckArguments(intptr_t token_pos, | 336 void BuildTypecheckArguments(intptr_t token_pos, |
338 Value** instantiator, | |
339 Value** instantiator_type_arguments); | 337 Value** instantiator_type_arguments); |
340 Value* BuildInstantiator(const Class& instantiator_class); | 338 Value* BuildInstantiator(const Class& instantiator_class); |
341 Value* BuildInstantiatorTypeArguments(intptr_t token_pos, | 339 Value* BuildInstantiatorTypeArguments(intptr_t token_pos, |
342 const Class& instantiator_class, | 340 const Class& instantiator_class, |
343 Value* instantiator); | 341 Value* instantiator); |
344 | 342 |
345 // Perform a type check on the given value. | 343 // Perform a type check on the given value. |
346 AssertAssignableInstr* BuildAssertAssignable(intptr_t token_pos, | 344 AssertAssignableInstr* BuildAssertAssignable(intptr_t token_pos, |
347 Value* value, | 345 Value* value, |
348 const AbstractType& dst_type, | 346 const AbstractType& dst_type, |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
574 // Output parameters. | 572 // Output parameters. |
575 GrowableArray<TargetEntryInstr**> true_successor_addresses_; | 573 GrowableArray<TargetEntryInstr**> true_successor_addresses_; |
576 GrowableArray<TargetEntryInstr**> false_successor_addresses_; | 574 GrowableArray<TargetEntryInstr**> false_successor_addresses_; |
577 | 575 |
578 intptr_t condition_token_pos_; | 576 intptr_t condition_token_pos_; |
579 }; | 577 }; |
580 | 578 |
581 } // namespace dart | 579 } // namespace dart |
582 | 580 |
583 #endif // VM_FLOW_GRAPH_BUILDER_H_ | 581 #endif // VM_FLOW_GRAPH_BUILDER_H_ |
OLD | NEW |