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 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 intptr_t token_pos, | 414 intptr_t token_pos, |
415 const Class& function_class, | 415 const Class& function_class, |
416 const String& function_name, | 416 const String& function_name, |
417 ArgumentListNode* function_arguments, | 417 ArgumentListNode* function_arguments, |
418 int invocation_type); | 418 int invocation_type); |
419 | 419 |
420 void BuildStaticSetter(StaticSetterNode* node, bool result_is_needed); | 420 void BuildStaticSetter(StaticSetterNode* node, bool result_is_needed); |
421 Definition* BuildStoreStaticField(StoreStaticFieldNode* node, | 421 Definition* BuildStoreStaticField(StoreStaticFieldNode* node, |
422 bool result_is_needed); | 422 bool result_is_needed); |
423 | 423 |
424 ClosureCallInstr* BuildClosureCall(ClosureCallNode* node); | 424 void BuildClosureCall(ClosureCallNode* node, bool result_needed); |
425 | 425 |
426 Value* BuildNullValue(); | 426 Value* BuildNullValue(); |
427 | 427 |
428 // Returns true if the run-time type check can be eliminated. | 428 // Returns true if the run-time type check can be eliminated. |
429 bool CanSkipTypeCheck(intptr_t token_pos, | 429 bool CanSkipTypeCheck(intptr_t token_pos, |
430 Value* value, | 430 Value* value, |
431 const AbstractType& dst_type, | 431 const AbstractType& dst_type, |
432 const String& dst_name); | 432 const String& dst_name); |
433 | 433 |
434 // Helpers for allocating and deallocating temporary locals on top of the | 434 // Helpers for allocating and deallocating temporary locals on top of the |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
564 // Output parameters. | 564 // Output parameters. |
565 GrowableArray<TargetEntryInstr**> true_successor_addresses_; | 565 GrowableArray<TargetEntryInstr**> true_successor_addresses_; |
566 GrowableArray<TargetEntryInstr**> false_successor_addresses_; | 566 GrowableArray<TargetEntryInstr**> false_successor_addresses_; |
567 | 567 |
568 intptr_t condition_token_pos_; | 568 intptr_t condition_token_pos_; |
569 }; | 569 }; |
570 | 570 |
571 } // namespace dart | 571 } // namespace dart |
572 | 572 |
573 #endif // VM_FLOW_GRAPH_BUILDER_H_ | 573 #endif // VM_FLOW_GRAPH_BUILDER_H_ |
OLD | NEW |