|
@@ -1,41 +0,0 @@
|
|
|
-#include "asmjit/src/asmjit/asmjit.h"
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-using namespace asmjit;
|
|
|
-
|
|
|
-
|
|
|
-typedef int (*Func)(void);
|
|
|
-
|
|
|
-int value()
|
|
|
-{
|
|
|
- return 42;
|
|
|
-}
|
|
|
-
|
|
|
-int main(int argc, char* argv[]) {
|
|
|
- JitRuntime rt;
|
|
|
-
|
|
|
- CodeHolder code;
|
|
|
- code.init(rt.getCodeInfo());
|
|
|
-
|
|
|
- X86Assembler a(&code);
|
|
|
- a.mov(x86::eax, 1);
|
|
|
- a.call(reinterpret_cast<uint64_t> (&value));
|
|
|
- a.ret();
|
|
|
-
|
|
|
-
|
|
|
- Func fn;
|
|
|
- Error err = rt.add(&fn, &code);
|
|
|
- if (err) return 1;
|
|
|
-
|
|
|
-
|
|
|
- int result = fn();
|
|
|
- printf("%d\n", result);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- rt.release(fn);
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|