| 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 |