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 #if !defined(DART_PRECOMPILED_RUNTIME) | 8 #if !defined(DART_PRECOMPILED_RUNTIME) |
9 | 9 |
10 #include "vm/growable_array.h" | 10 #include "vm/growable_array.h" |
(...skipping 735 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
746 TargetEntryInstr** otherwise_entry); | 746 TargetEntryInstr** otherwise_entry); |
747 Fragment CatchBlockEntry(const Array& handler_types, intptr_t handler_index); | 747 Fragment CatchBlockEntry(const Array& handler_types, intptr_t handler_index); |
748 Fragment TryCatch(int try_handler_index); | 748 Fragment TryCatch(int try_handler_index); |
749 Fragment CheckStackOverflowInPrologue(); | 749 Fragment CheckStackOverflowInPrologue(); |
750 Fragment CheckStackOverflow(); | 750 Fragment CheckStackOverflow(); |
751 Fragment CloneContext(); | 751 Fragment CloneContext(); |
752 Fragment Constant(const Object& value); | 752 Fragment Constant(const Object& value); |
753 Fragment CreateArray(); | 753 Fragment CreateArray(); |
754 Fragment Goto(JoinEntryInstr* destination); | 754 Fragment Goto(JoinEntryInstr* destination); |
755 Fragment IntConstant(int64_t value); | 755 Fragment IntConstant(int64_t value); |
756 Fragment InstanceCall(TokenPosition position, | 756 Fragment InstanceCall(const dart::String& name, |
757 const dart::String& name, | |
758 Token::Kind kind, | 757 Token::Kind kind, |
759 intptr_t argument_count, | 758 intptr_t argument_count, |
760 intptr_t num_args_checked = 1); | 759 intptr_t num_args_checked = 1); |
761 Fragment InstanceCall(TokenPosition position, | 760 Fragment InstanceCall(const dart::String& name, |
762 const dart::String& name, | |
763 Token::Kind kind, | 761 Token::Kind kind, |
764 intptr_t argument_count, | 762 intptr_t argument_count, |
765 const Array& argument_names, | 763 const Array& argument_names, |
766 intptr_t num_args_checked = 1); | 764 intptr_t num_args_checked = 1); |
767 Fragment ClosureCall(int argument_count, const Array& argument_names); | 765 Fragment ClosureCall(int argument_count, const Array& argument_names); |
768 Fragment ThrowException(TokenPosition position); | 766 Fragment ThrowException(); |
769 Fragment RethrowException(int catch_try_index); | 767 Fragment RethrowException(int catch_try_index); |
770 Fragment LoadClassId(); | 768 Fragment LoadClassId(); |
771 Fragment LoadField(const dart::Field& field); | 769 Fragment LoadField(const dart::Field& field); |
772 Fragment LoadField(intptr_t offset, intptr_t class_id = kDynamicCid); | 770 Fragment LoadField(intptr_t offset, intptr_t class_id = kDynamicCid); |
773 Fragment LoadNativeField(MethodRecognizer::Kind kind, | 771 Fragment LoadNativeField(MethodRecognizer::Kind kind, |
774 intptr_t offset, | 772 intptr_t offset, |
775 const Type& type, | 773 const Type& type, |
776 intptr_t class_id, | 774 intptr_t class_id, |
777 bool is_immutable = false); | 775 bool is_immutable = false); |
778 Fragment LoadLocal(LocalVariable* variable); | 776 Fragment LoadLocal(LocalVariable* variable); |
779 Fragment InitStaticField(const dart::Field& field); | 777 Fragment InitStaticField(const dart::Field& field); |
780 Fragment LoadStaticField(); | 778 Fragment LoadStaticField(); |
781 Fragment NullConstant(); | 779 Fragment NullConstant(); |
782 Fragment NativeCall(const dart::String* name, const Function* function); | 780 Fragment NativeCall(const dart::String* name, const Function* function); |
783 Fragment PushArgument(); | 781 Fragment PushArgument(); |
784 Fragment Return(); | 782 Fragment Return(); |
785 Fragment StaticCall(TokenPosition position, | 783 Fragment StaticCall(const Function& target, intptr_t argument_count); |
786 const Function& target, | 784 Fragment StaticCall(const Function& target, |
787 intptr_t argument_count); | |
788 Fragment StaticCall(TokenPosition position, | |
789 const Function& target, | |
790 intptr_t argument_count, | 785 intptr_t argument_count, |
791 const Array& argument_names); | 786 const Array& argument_names); |
792 Fragment StoreIndexed(intptr_t class_id); | 787 Fragment StoreIndexed(intptr_t class_id); |
793 Fragment StoreInstanceFieldGuarded(const dart::Field& field); | 788 Fragment StoreInstanceFieldGuarded(const dart::Field& field); |
794 Fragment StoreInstanceField( | 789 Fragment StoreInstanceField( |
795 const dart::Field& field, | 790 const dart::Field& field, |
796 StoreBarrierType emit_store_barrier = kEmitStoreBarrier); | 791 StoreBarrierType emit_store_barrier = kEmitStoreBarrier); |
797 Fragment StoreInstanceField( | 792 Fragment StoreInstanceField( |
798 intptr_t offset, | 793 intptr_t offset, |
799 StoreBarrierType emit_store_barrier = kEmitStoreBarrier); | 794 StoreBarrierType emit_store_barrier = kEmitStoreBarrier); |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
920 friend class SwitchBlock; | 915 friend class SwitchBlock; |
921 friend class TryCatchBlock; | 916 friend class TryCatchBlock; |
922 friend class TryFinallyBlock; | 917 friend class TryFinallyBlock; |
923 }; | 918 }; |
924 | 919 |
925 } // namespace kernel | 920 } // namespace kernel |
926 } // namespace dart | 921 } // namespace dart |
927 | 922 |
928 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 923 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
929 #endif // RUNTIME_VM_KERNEL_TO_IL_H_ | 924 #endif // RUNTIME_VM_KERNEL_TO_IL_H_ |
OLD | NEW |