OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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_KERNEL_TO_IL_H_ | 5 #ifndef RUNTIME_VM_KERNEL_TO_IL_H_ |
6 #define RUNTIME_VM_KERNEL_TO_IL_H_ | 6 #define RUNTIME_VM_KERNEL_TO_IL_H_ |
7 | 7 |
8 #include "vm/growable_array.h" | 8 #include "vm/growable_array.h" |
9 #include "vm/hash_map.h" | 9 #include "vm/hash_map.h" |
10 | 10 |
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
736 void Push(Definition* definition); | 736 void Push(Definition* definition); |
737 Value* Pop(); | 737 Value* Pop(); |
738 Fragment Drop(); | 738 Fragment Drop(); |
739 | 739 |
740 bool IsInlining() { return exit_collector_ != NULL; } | 740 bool IsInlining() { return exit_collector_ != NULL; } |
741 | 741 |
742 Token::Kind MethodKind(const dart::String& name); | 742 Token::Kind MethodKind(const dart::String& name); |
743 | 743 |
744 void InlineBailout(const char* reason); | 744 void InlineBailout(const char* reason); |
745 | 745 |
| 746 // When compiling for OSR, remove blocks that are not reachable from the |
| 747 // OSR entry point. |
| 748 void PruneUnreachableIfOSR(); |
| 749 |
746 Zone* zone_; | 750 Zone* zone_; |
747 TranslationHelper translation_helper_; | 751 TranslationHelper translation_helper_; |
748 | 752 |
749 // The node we are currently compiling (e.g. FunctionNode, Constructor, | 753 // The node we are currently compiling (e.g. FunctionNode, Constructor, |
750 // Field) | 754 // Field) |
751 TreeNode* node_; | 755 TreeNode* node_; |
752 | 756 |
753 ParsedFunction* parsed_function_; | 757 ParsedFunction* parsed_function_; |
754 intptr_t osr_id_; | 758 intptr_t osr_id_; |
755 const ZoneGrowableArray<const ICData*>& ic_data_array_; | 759 const ZoneGrowableArray<const ICData*>& ic_data_array_; |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
830 friend class SwitchBlock; | 834 friend class SwitchBlock; |
831 friend class TryCatchBlock; | 835 friend class TryCatchBlock; |
832 friend class TryFinallyBlock; | 836 friend class TryFinallyBlock; |
833 }; | 837 }; |
834 | 838 |
835 } // namespace kernel | 839 } // namespace kernel |
836 } // namespace dart | 840 } // namespace dart |
837 | 841 |
838 | 842 |
839 #endif // RUNTIME_VM_KERNEL_TO_IL_H_ | 843 #endif // RUNTIME_VM_KERNEL_TO_IL_H_ |
OLD | NEW |