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