| 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 819 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 830 intptr_t argument_count, | 830 intptr_t argument_count, |
| 831 intptr_t num_args_checked = 1); | 831 intptr_t num_args_checked = 1); |
| 832 Fragment InstanceCall(TokenPosition position, | 832 Fragment InstanceCall(TokenPosition position, |
| 833 const dart::String& name, | 833 const dart::String& name, |
| 834 Token::Kind kind, | 834 Token::Kind kind, |
| 835 intptr_t argument_count, | 835 intptr_t argument_count, |
| 836 const Array& argument_names, | 836 const Array& argument_names, |
| 837 intptr_t num_args_checked = 1); | 837 intptr_t num_args_checked = 1); |
| 838 Fragment ClosureCall(int argument_count, const Array& argument_names); | 838 Fragment ClosureCall(int argument_count, const Array& argument_names); |
| 839 Fragment ThrowException(TokenPosition position); | 839 Fragment ThrowException(TokenPosition position); |
| 840 Fragment RethrowException(int catch_try_index); | 840 Fragment RethrowException(TokenPosition position, int catch_try_index); |
| 841 Fragment LoadClassId(); | 841 Fragment LoadClassId(); |
| 842 Fragment LoadField(const dart::Field& field); | 842 Fragment LoadField(const dart::Field& field); |
| 843 Fragment LoadField(intptr_t offset, intptr_t class_id = kDynamicCid); | 843 Fragment LoadField(intptr_t offset, intptr_t class_id = kDynamicCid); |
| 844 Fragment LoadNativeField(MethodRecognizer::Kind kind, | 844 Fragment LoadNativeField(MethodRecognizer::Kind kind, |
| 845 intptr_t offset, | 845 intptr_t offset, |
| 846 const Type& type, | 846 const Type& type, |
| 847 intptr_t class_id, | 847 intptr_t class_id, |
| 848 bool is_immutable = false); | 848 bool is_immutable = false); |
| 849 Fragment LoadLocal(LocalVariable* variable); | 849 Fragment LoadLocal(LocalVariable* variable); |
| 850 Fragment InitStaticField(const dart::Field& field); | 850 Fragment InitStaticField(const dart::Field& field); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 861 intptr_t argument_count, | 861 intptr_t argument_count, |
| 862 const Array& argument_names); | 862 const Array& argument_names); |
| 863 Fragment StoreIndexed(intptr_t class_id); | 863 Fragment StoreIndexed(intptr_t class_id); |
| 864 Fragment StoreInstanceFieldGuarded(const dart::Field& field, | 864 Fragment StoreInstanceFieldGuarded(const dart::Field& field, |
| 865 bool is_initialization_store); | 865 bool is_initialization_store); |
| 866 Fragment StoreInstanceField( | 866 Fragment StoreInstanceField( |
| 867 const dart::Field& field, | 867 const dart::Field& field, |
| 868 bool is_initialization_store, | 868 bool is_initialization_store, |
| 869 StoreBarrierType emit_store_barrier = kEmitStoreBarrier); | 869 StoreBarrierType emit_store_barrier = kEmitStoreBarrier); |
| 870 Fragment StoreInstanceField( | 870 Fragment StoreInstanceField( |
| 871 TokenPosition position, |
| 871 intptr_t offset, | 872 intptr_t offset, |
| 872 StoreBarrierType emit_store_barrier = kEmitStoreBarrier); | 873 StoreBarrierType emit_store_barrier = kEmitStoreBarrier); |
| 873 Fragment StoreLocal(TokenPosition position, LocalVariable* variable); | 874 Fragment StoreLocal(TokenPosition position, LocalVariable* variable); |
| 874 Fragment StoreStaticField(const dart::Field& field); | 875 Fragment StoreStaticField(TokenPosition position, const dart::Field& field); |
| 875 Fragment StringInterpolate(TokenPosition position); | 876 Fragment StringInterpolate(TokenPosition position); |
| 876 Fragment ThrowTypeError(); | 877 Fragment ThrowTypeError(); |
| 877 Fragment ThrowNoSuchMethodError(); | 878 Fragment ThrowNoSuchMethodError(); |
| 878 Fragment BuildImplicitClosureCreation(const Function& target); | 879 Fragment BuildImplicitClosureCreation(const Function& target); |
| 879 Fragment GuardFieldLength(const dart::Field& field, intptr_t deopt_id); | 880 Fragment GuardFieldLength(const dart::Field& field, intptr_t deopt_id); |
| 880 Fragment GuardFieldClass(const dart::Field& field, intptr_t deopt_id); | 881 Fragment GuardFieldClass(const dart::Field& field, intptr_t deopt_id); |
| 881 | 882 |
| 882 Fragment EvaluateAssertion(); | 883 Fragment EvaluateAssertion(); |
| 883 Fragment CheckReturnTypeInCheckedMode(); | 884 Fragment CheckReturnTypeInCheckedMode(); |
| 884 Fragment CheckVariableTypeInCheckedMode(VariableDeclaration* variable); | 885 Fragment CheckVariableTypeInCheckedMode(VariableDeclaration* variable); |
| 885 Fragment CheckBooleanInCheckedMode(); | 886 Fragment CheckBooleanInCheckedMode(); |
| 886 Fragment CheckAssignableInCheckedMode(const dart::AbstractType& dst_type, | 887 Fragment CheckAssignableInCheckedMode(const dart::AbstractType& dst_type, |
| 887 const dart::String& dst_name); | 888 const dart::String& dst_name); |
| 888 | 889 |
| 890 bool NeedsDebugStepCheck(const Function& function, TokenPosition position); |
| 891 bool NeedsDebugStepCheck(Value* value, TokenPosition position); |
| 892 Fragment DebugStepCheck(TokenPosition position); |
| 893 |
| 889 Fragment AssertBool(); | 894 Fragment AssertBool(); |
| 890 Fragment AssertAssignable(const dart::AbstractType& dst_type, | 895 Fragment AssertAssignable(const dart::AbstractType& dst_type, |
| 891 const dart::String& dst_name); | 896 const dart::String& dst_name); |
| 892 | 897 |
| 893 dart::RawFunction* LookupMethodByMember(Member* target, | 898 dart::RawFunction* LookupMethodByMember(Member* target, |
| 894 const dart::String& method_name); | 899 const dart::String& method_name); |
| 895 | 900 |
| 896 LocalVariable* MakeTemporary(); | 901 LocalVariable* MakeTemporary(); |
| 897 LocalVariable* MakeNonTemporary(const dart::String& symbol); | 902 LocalVariable* MakeNonTemporary(const dart::String& symbol); |
| 898 | 903 |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 964 LocalVariable* CurrentException() { | 969 LocalVariable* CurrentException() { |
| 965 return scopes_->exception_variables[catch_depth_ - 1]; | 970 return scopes_->exception_variables[catch_depth_ - 1]; |
| 966 } | 971 } |
| 967 LocalVariable* CurrentStackTrace() { | 972 LocalVariable* CurrentStackTrace() { |
| 968 return scopes_->stack_trace_variables[catch_depth_ - 1]; | 973 return scopes_->stack_trace_variables[catch_depth_ - 1]; |
| 969 } | 974 } |
| 970 LocalVariable* CurrentCatchContext() { | 975 LocalVariable* CurrentCatchContext() { |
| 971 return scopes_->catch_context_variables[try_depth_]; | 976 return scopes_->catch_context_variables[try_depth_]; |
| 972 } | 977 } |
| 973 | 978 |
| 979 |
| 974 // A chained list of breakable blocks. Chaining and lookup is done by the | 980 // A chained list of breakable blocks. Chaining and lookup is done by the |
| 975 // [BreakableBlock] class. | 981 // [BreakableBlock] class. |
| 976 BreakableBlock* breakable_block_; | 982 BreakableBlock* breakable_block_; |
| 977 | 983 |
| 978 // A chained list of switch blocks. Chaining and lookup is done by the | 984 // A chained list of switch blocks. Chaining and lookup is done by the |
| 979 // [SwitchBlock] class. | 985 // [SwitchBlock] class. |
| 980 SwitchBlock* switch_block_; | 986 SwitchBlock* switch_block_; |
| 981 | 987 |
| 982 // A chained list of try-finally blocks. Chaining and lookup is done by the | 988 // A chained list of try-finally blocks. Chaining and lookup is done by the |
| 983 // [TryFinallyBlock] class. | 989 // [TryFinallyBlock] class. |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1022 namespace kernel { | 1028 namespace kernel { |
| 1023 | 1029 |
| 1024 RawObject* EvaluateMetadata(TreeNode* const kernel_node); | 1030 RawObject* EvaluateMetadata(TreeNode* const kernel_node); |
| 1025 RawObject* BuildParameterDescriptor(TreeNode* const kernel_node); | 1031 RawObject* BuildParameterDescriptor(TreeNode* const kernel_node); |
| 1026 | 1032 |
| 1027 } // namespace kernel | 1033 } // namespace kernel |
| 1028 } // namespace dart | 1034 } // namespace dart |
| 1029 | 1035 |
| 1030 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 1036 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| 1031 #endif // RUNTIME_VM_KERNEL_TO_IL_H_ | 1037 #endif // RUNTIME_VM_KERNEL_TO_IL_H_ |
| OLD | NEW |