Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Side by Side Diff: runtime/vm/constants_dbc.h

Issue 2793163002: Do not embed is_auto_setup_scope into the compilation of native calls. (Closed)
Patch Set: . Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_CONSTANTS_DBC_H_ 5 #ifndef RUNTIME_VM_CONSTANTS_DBC_H_
6 #define RUNTIME_VM_CONSTANTS_DBC_H_ 6 #define RUNTIME_VM_CONSTANTS_DBC_H_
7 7
8 #include "platform/globals.h" 8 #include "platform/globals.h"
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "platform/utils.h" 10 #include "platform/utils.h"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 // - IndirectStaticCall ArgC, D 152 // - IndirectStaticCall ArgC, D
153 // 153 //
154 // Invoke the function given by the ICData in SP[0] with arguments 154 // Invoke the function given by the ICData in SP[0] with arguments
155 // SP[-(1+ArgC)], ..., SP[-1] and argument descriptor PP[D]. 155 // SP[-(1+ArgC)], ..., SP[-1] and argument descriptor PP[D].
156 // 156 //
157 // - InstanceCall<N> ArgC, D; InstanceCall<N>Opt ArgC, D 157 // - InstanceCall<N> ArgC, D; InstanceCall<N>Opt ArgC, D
158 // 158 //
159 // Lookup and invoke method with N checked arguments using ICData in PP[D] 159 // Lookup and invoke method with N checked arguments using ICData in PP[D]
160 // with arguments SP[-(1+ArgC)], ..., SP[-1]. 160 // with arguments SP[-(1+ArgC)], ..., SP[-1].
161 // 161 //
162 // - NativeCall, NativeBootstrapCall 162 // - NativeBootstrapCall, NativeNoScopeCall, NativeAutoScopeCall
163 // 163 //
164 // Invoke native function SP[-1] with argc_tag SP[0]. 164 // Invoke native function SP[-1] with argc_tag SP[0].
165 // 165 //
166 // - PushPolymorphicInstanceCall ArgC, D 166 // - PushPolymorphicInstanceCall ArgC, D
167 // 167 //
168 // Skips 2*D + 1 instructions and pushes a function object onto the stack 168 // Skips 2*D + 1 instructions and pushes a function object onto the stack
169 // if one can be found as follows. Otherwise skips only 2*D instructions. 169 // if one can be found as follows. Otherwise skips only 2*D instructions.
170 // The function is looked up in the IC data encoded in the following 2*D 170 // The function is looked up in the IC data encoded in the following 2*D
171 // Nop instructions. The Nop instructions should be arranged in pairs with 171 // Nop instructions. The Nop instructions should be arranged in pairs with
172 // the first being the cid, and the second being the function to push if 172 // the first being the cid, and the second being the function to push if
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 V(StoreLocal, X, xeg, ___, ___) \ 689 V(StoreLocal, X, xeg, ___, ___) \
690 V(PopLocal, X, xeg, ___, ___) \ 690 V(PopLocal, X, xeg, ___, ___) \
691 V(IndirectStaticCall, A_D, num, num, ___) \ 691 V(IndirectStaticCall, A_D, num, num, ___) \
692 V(StaticCall, A_D, num, num, ___) \ 692 V(StaticCall, A_D, num, num, ___) \
693 V(InstanceCall1, A_D, num, num, ___) \ 693 V(InstanceCall1, A_D, num, num, ___) \
694 V(InstanceCall2, A_D, num, num, ___) \ 694 V(InstanceCall2, A_D, num, num, ___) \
695 V(InstanceCall1Opt, A_D, num, num, ___) \ 695 V(InstanceCall1Opt, A_D, num, num, ___) \
696 V(InstanceCall2Opt, A_D, num, num, ___) \ 696 V(InstanceCall2Opt, A_D, num, num, ___) \
697 V(PushPolymorphicInstanceCall, A_D, num, num, ___) \ 697 V(PushPolymorphicInstanceCall, A_D, num, num, ___) \
698 V(PushPolymorphicInstanceCallByRange, A_D, num, num, ___) \ 698 V(PushPolymorphicInstanceCallByRange, A_D, num, num, ___) \
699 V(NativeCall, 0, ___, ___, ___) \
700 V(NativeBootstrapCall, 0, ___, ___, ___) \ 699 V(NativeBootstrapCall, 0, ___, ___, ___) \
700 V(NativeNoScopeCall, 0, ___, ___, ___) \
701 V(NativeAutoScopeCall, 0, ___, ___, ___) \
701 V(OneByteStringFromCharCode, A_X, reg, xeg, ___) \ 702 V(OneByteStringFromCharCode, A_X, reg, xeg, ___) \
702 V(StringToCharCode, A_X, reg, xeg, ___) \ 703 V(StringToCharCode, A_X, reg, xeg, ___) \
703 V(AddTOS, 0, ___, ___, ___) \ 704 V(AddTOS, 0, ___, ___, ___) \
704 V(SubTOS, 0, ___, ___, ___) \ 705 V(SubTOS, 0, ___, ___, ___) \
705 V(MulTOS, 0, ___, ___, ___) \ 706 V(MulTOS, 0, ___, ___, ___) \
706 V(BitOrTOS, 0, ___, ___, ___) \ 707 V(BitOrTOS, 0, ___, ___, ___) \
707 V(BitAndTOS, 0, ___, ___, ___) \ 708 V(BitAndTOS, 0, ___, ___, ___) \
708 V(EqualTOS, 0, ___, ___, ___) \ 709 V(EqualTOS, 0, ___, ___, ___) \
709 V(LessThanTOS, 0, ___, ___, ___) \ 710 V(LessThanTOS, 0, ___, ___, ___) \
710 V(GreaterThanTOS, 0, ___, ___, ___) \ 711 V(GreaterThanTOS, 0, ___, ___, ___) \
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
982 983
983 // After a comparison, the condition NEXT_IS_TRUE means the following 984 // After a comparison, the condition NEXT_IS_TRUE means the following
984 // instruction is executed if the comparision is true and skipped over overwise. 985 // instruction is executed if the comparision is true and skipped over overwise.
985 // Conidition NEXT_IS_FALSE means the following instruction is executed if the 986 // Conidition NEXT_IS_FALSE means the following instruction is executed if the
986 // comparison is false and skipped over otherwise. 987 // comparison is false and skipped over otherwise.
987 enum Condition { NEXT_IS_TRUE, NEXT_IS_FALSE }; 988 enum Condition { NEXT_IS_TRUE, NEXT_IS_FALSE };
988 989
989 } // namespace dart 990 } // namespace dart
990 991
991 #endif // RUNTIME_VM_CONSTANTS_DBC_H_ 992 #endif // RUNTIME_VM_CONSTANTS_DBC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698