| 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 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 Value* BuildNullValue(TokenPosition token_pos); | 429 Value* BuildNullValue(TokenPosition token_pos); |
| 430 | 430 |
| 431 // Returns true if the run-time type check can be eliminated. | 431 // Returns true if the run-time type check can be eliminated. |
| 432 bool CanSkipTypeCheck(TokenPosition token_pos, | 432 bool CanSkipTypeCheck(TokenPosition token_pos, |
| 433 Value* value, | 433 Value* value, |
| 434 const AbstractType& dst_type, | 434 const AbstractType& dst_type, |
| 435 const String& dst_name); | 435 const String& dst_name); |
| 436 | 436 |
| 437 // Helpers for allocating and deallocating temporary locals on top of the | 437 // Helpers for allocating and deallocating temporary locals on top of the |
| 438 // expression stack. | 438 // expression stack. |
| 439 LocalVariable* EnterTempLocalScope(Value* value, TokenPosition token_pos); | 439 LocalVariable* EnterTempLocalScope(Value* value); |
| 440 Definition* ExitTempLocalScope(LocalVariable* var, TokenPosition token_pos); | 440 Definition* ExitTempLocalScope(Value* value); |
| 441 | 441 |
| 442 void BuildLetTempExpressions(LetNode* node); | 442 void BuildLetTempExpressions(LetNode* node); |
| 443 | 443 |
| 444 void BuildInstanceGetterConditional(InstanceGetterNode* node); | 444 void BuildInstanceGetterConditional(InstanceGetterNode* node); |
| 445 void BuildInstanceCallConditional(InstanceCallNode* node); | 445 void BuildInstanceCallConditional(InstanceCallNode* node); |
| 446 | 446 |
| 447 Thread* thread() const { return owner()->thread(); } | 447 Thread* thread() const { return owner()->thread(); } |
| 448 Isolate* isolate() const { return owner()->isolate(); } | 448 Isolate* isolate() const { return owner()->isolate(); } |
| 449 Zone* zone() const { return owner()->zone(); } | 449 Zone* zone() const { return owner()->zone(); } |
| 450 | 450 |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 579 // Output parameters. | 579 // Output parameters. |
| 580 GrowableArray<TargetEntryInstr**> true_successor_addresses_; | 580 GrowableArray<TargetEntryInstr**> true_successor_addresses_; |
| 581 GrowableArray<TargetEntryInstr**> false_successor_addresses_; | 581 GrowableArray<TargetEntryInstr**> false_successor_addresses_; |
| 582 | 582 |
| 583 TokenPosition condition_token_pos_; | 583 TokenPosition condition_token_pos_; |
| 584 }; | 584 }; |
| 585 | 585 |
| 586 } // namespace dart | 586 } // namespace dart |
| 587 | 587 |
| 588 #endif // VM_FLOW_GRAPH_BUILDER_H_ | 588 #endif // VM_FLOW_GRAPH_BUILDER_H_ |
| OLD | NEW |