| OLD | NEW |
| 1 // Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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_VM_NATIVE_INTERPRETER_H_ | 5 #ifndef SRC_VM_NATIVE_INTERPRETER_H_ |
| 6 #define SRC_VM_NATIVE_INTERPRETER_H_ | 6 #define SRC_VM_NATIVE_INTERPRETER_H_ |
| 7 | 7 |
| 8 #include "src/shared/bytecodes.h" | 8 #include "src/shared/bytecodes.h" |
| 9 | 9 |
| 10 namespace fletch { | 10 namespace dartino { |
| 11 | 11 |
| 12 class Process; | 12 class Process; |
| 13 class TargetYieldResult; | 13 class TargetYieldResult; |
| 14 | 14 |
| 15 // For the platforms that have a native interpreter this function is | 15 // For the platforms that have a native interpreter this function is |
| 16 // generated as the native interpreter entry point. The native | 16 // generated as the native interpreter entry point. The native |
| 17 // interpreter can bailout to the slower C++ interpreter by returning | 17 // interpreter can bailout to the slower C++ interpreter by returning |
| 18 // -1. | 18 // -1. |
| 19 extern "C" int Interpret(Process* process, | 19 extern "C" int Interpret(Process* process, |
| 20 TargetYieldResult* target_yield_result); | 20 TargetYieldResult* target_yield_result); |
| 21 | 21 |
| 22 extern "C" void InterpreterEntry(); | 22 extern "C" void InterpreterEntry(); |
| 23 | 23 |
| 24 extern "C" void InterpreterCoroutineEntry(); | 24 extern "C" void InterpreterCoroutineEntry(); |
| 25 | 25 |
| 26 extern "C" void InterpreterMethodEntry(); | 26 extern "C" void InterpreterMethodEntry(); |
| 27 | 27 |
| 28 | 28 |
| 29 void SetBytecodeBreak(Opcode opcode); | 29 void SetBytecodeBreak(Opcode opcode); |
| 30 | 30 |
| 31 void ClearBytecodeBreak(Opcode opcode); | 31 void ClearBytecodeBreak(Opcode opcode); |
| 32 | 32 |
| 33 } // namespace fletch | 33 } // namespace dartino |
| 34 | 34 |
| 35 #endif // SRC_VM_NATIVE_INTERPRETER_H_ | 35 #endif // SRC_VM_NATIVE_INTERPRETER_H_ |
| OLD | NEW |