OLD | NEW |
1 // Copyright (c) 2014, the Dartino project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dartino 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.md file. | 3 // BSD-style license that can be found in the LICENSE.md file. |
4 | 4 |
5 #ifndef SRC_SHARED_BYTECODES_H_ | 5 #ifndef SRC_SHARED_BYTECODES_H_ |
6 #define SRC_SHARED_BYTECODES_H_ | 6 #define SRC_SHARED_BYTECODES_H_ |
7 | 7 |
8 #include "src/shared/globals.h" | 8 #include "src/shared/globals.h" |
9 | 9 |
10 namespace fletch { | 10 namespace dartino { |
11 | 11 |
12 const int8 kVarDiff = 0x7f; | 12 const int8 kVarDiff = 0x7f; |
13 const int kLoadLiteralWideLimit = 0x3fffffff; | 13 const int kLoadLiteralWideLimit = 0x3fffffff; |
14 | 14 |
15 #define INVOKE(V, name, diff, desc, suffix, type) \ | 15 #define INVOKE(V, name, diff, desc, suffix, type) \ |
16 V(Invoke##name##suffix, true, "I", 5, diff, "invoke " type desc "%d") | 16 V(Invoke##name##suffix, true, "I", 5, diff, "invoke " type desc "%d") |
17 | 17 |
18 #define INVOKES_DO(V, suffix, type) \ | 18 #define INVOKES_DO(V, suffix, type) \ |
19 INVOKE(V, Method, kVarDiff, "method ", suffix, type) \ | 19 INVOKE(V, Method, kVarDiff, "method ", suffix, type) \ |
20 INVOKE(V, Test, 0, "test ", suffix, type) \ | 20 INVOKE(V, Test, 0, "test ", suffix, type) \ |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 // Check for invoke variants. | 167 // Check for invoke variants. |
168 static bool IsInvokeUnfold(Opcode opcode); | 168 static bool IsInvokeUnfold(Opcode opcode); |
169 static bool IsInvoke(Opcode opcode); | 169 static bool IsInvoke(Opcode opcode); |
170 static bool IsStaticInvoke(Opcode opcode); | 170 static bool IsStaticInvoke(Opcode opcode); |
171 | 171 |
172 // Compute the previous bytecode. Takes time linear in the number of | 172 // Compute the previous bytecode. Takes time linear in the number of |
173 // bytecodes in the method. | 173 // bytecodes in the method. |
174 static uint8* PreviousBytecode(uint8* current_bcp); | 174 static uint8* PreviousBytecode(uint8* current_bcp); |
175 }; | 175 }; |
176 | 176 |
177 } // namespace fletch | 177 } // namespace dartino |
178 | 178 |
179 #endif // SRC_SHARED_BYTECODES_H_ | 179 #endif // SRC_SHARED_BYTECODES_H_ |
OLD | NEW |