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 RUNTIME_VM_FLOW_GRAPH_BUILDER_H_ | 5 #ifndef RUNTIME_VM_FLOW_GRAPH_BUILDER_H_ |
6 #define RUNTIME_VM_FLOW_GRAPH_BUILDER_H_ | 6 #define RUNTIME_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 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 int invocation_type); | 408 int invocation_type); |
409 | 409 |
410 void BuildStaticSetter(StaticSetterNode* node, bool result_is_needed); | 410 void BuildStaticSetter(StaticSetterNode* node, bool result_is_needed); |
411 Definition* BuildStoreStaticField(StoreStaticFieldNode* node, | 411 Definition* BuildStoreStaticField(StoreStaticFieldNode* node, |
412 bool result_is_needed, | 412 bool result_is_needed, |
413 TokenPosition token_pos); | 413 TokenPosition token_pos); |
414 | 414 |
415 void BuildClosureCall(ClosureCallNode* node, bool result_needed); | 415 void BuildClosureCall(ClosureCallNode* node, bool result_needed); |
416 | 416 |
417 Value* BuildNullValue(TokenPosition token_pos); | 417 Value* BuildNullValue(TokenPosition token_pos); |
| 418 Value* BuildEmptyTypeArguments(TokenPosition token_pos); |
418 | 419 |
419 // Returns true if the run-time type check can be eliminated. | 420 // Returns true if the run-time type check can be eliminated. |
420 bool CanSkipTypeCheck(TokenPosition token_pos, | 421 bool CanSkipTypeCheck(TokenPosition token_pos, |
421 Value* value, | 422 Value* value, |
422 const AbstractType& dst_type, | 423 const AbstractType& dst_type, |
423 const String& dst_name); | 424 const String& dst_name); |
424 | 425 |
425 // Helpers for allocating and deallocating temporary locals on top of the | 426 // Helpers for allocating and deallocating temporary locals on top of the |
426 // expression stack. | 427 // expression stack. |
427 LocalVariable* EnterTempLocalScope(Value* value); | 428 LocalVariable* EnterTempLocalScope(Value* value); |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
563 // Output parameters. | 564 // Output parameters. |
564 GrowableArray<TargetEntryInstr**> true_successor_addresses_; | 565 GrowableArray<TargetEntryInstr**> true_successor_addresses_; |
565 GrowableArray<TargetEntryInstr**> false_successor_addresses_; | 566 GrowableArray<TargetEntryInstr**> false_successor_addresses_; |
566 | 567 |
567 TokenPosition condition_token_pos_; | 568 TokenPosition condition_token_pos_; |
568 }; | 569 }; |
569 | 570 |
570 } // namespace dart | 571 } // namespace dart |
571 | 572 |
572 #endif // RUNTIME_VM_FLOW_GRAPH_BUILDER_H_ | 573 #endif // RUNTIME_VM_FLOW_GRAPH_BUILDER_H_ |
OLD | NEW |