| 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 |