diff options
Diffstat (limited to 'src/luajit.h')
-rw-r--r-- | src/luajit.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/luajit.h b/src/luajit.h new file mode 100644 index 00000000..01913755 --- /dev/null +++ b/src/luajit.h | |||
@@ -0,0 +1,68 @@ | |||
1 | /* | ||
2 | ** LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/ | ||
3 | ** | ||
4 | ** Copyright (C) 2005-2009 Mike Pall. All rights reserved. | ||
5 | ** | ||
6 | ** Permission is hereby granted, free of charge, to any person obtaining | ||
7 | ** a copy of this software and associated documentation files (the | ||
8 | ** "Software"), to deal in the Software without restriction, including | ||
9 | ** without limitation the rights to use, copy, modify, merge, publish, | ||
10 | ** distribute, sublicense, and/or sell copies of the Software, and to | ||
11 | ** permit persons to whom the Software is furnished to do so, subject to | ||
12 | ** the following conditions: | ||
13 | ** | ||
14 | ** The above copyright notice and this permission notice shall be | ||
15 | ** included in all copies or substantial portions of the Software. | ||
16 | ** | ||
17 | ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
18 | ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
19 | ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
20 | ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | ||
21 | ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||
22 | ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||
23 | ** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
24 | ** | ||
25 | ** [ MIT license: http://www.opensource.org/licenses/mit-license.php ] | ||
26 | */ | ||
27 | |||
28 | #ifndef _LUAJIT_H | ||
29 | #define _LUAJIT_H | ||
30 | |||
31 | #include "lua.h" | ||
32 | |||
33 | #define LUAJIT_VERSION "LuaJIT 2.0.0-beta1" | ||
34 | #define LUAJIT_VERSION_NUM 20000 /* Version 2.0.0 = 02.00.00. */ | ||
35 | #define LUAJIT_VERSION_SYM luaJIT_version_2_0_0_beta1 | ||
36 | #define LUAJIT_COPYRIGHT "Copyright (C) 2005-2009 Mike Pall" | ||
37 | #define LUAJIT_URL "http://luajit.org/" | ||
38 | |||
39 | /* Modes for luaJIT_setmode. */ | ||
40 | #define LUAJIT_MODE_MASK 0x00ff | ||
41 | |||
42 | enum { | ||
43 | LUAJIT_MODE_ENGINE, /* Set mode for whole JIT engine. */ | ||
44 | LUAJIT_MODE_DEBUG, /* Set debug mode (idx = level). */ | ||
45 | |||
46 | LUAJIT_MODE_FUNC, /* Change mode for a function. */ | ||
47 | LUAJIT_MODE_ALLFUNC, /* Recurse into subroutine protos. */ | ||
48 | LUAJIT_MODE_ALLSUBFUNC, /* Change only the subroutines. */ | ||
49 | |||
50 | LUAJIT_MODE_TRACE, /* Flush a compiled trace. */ | ||
51 | |||
52 | LUAJIT_MODE_MAX | ||
53 | }; | ||
54 | |||
55 | /* Flags or'ed in to the mode. */ | ||
56 | #define LUAJIT_MODE_OFF 0x0000 /* Disable JIT compilation. */ | ||
57 | #define LUAJIT_MODE_ON 0x0100 /* (Re-)enable JIT compilation. */ | ||
58 | #define LUAJIT_MODE_FLUSH 0x0200 /* Flush JIT-compiled code. */ | ||
59 | |||
60 | /* LuaJIT public C API. */ | ||
61 | |||
62 | /* Control the JIT engine. */ | ||
63 | LUA_API int luaJIT_setmode(lua_State *L, int idx, int mode); | ||
64 | |||
65 | /* Enforce (dynamic) linker error for version mismatches. Call from main. */ | ||
66 | LUA_API void LUAJIT_VERSION_SYM(void); | ||
67 | |||
68 | #endif | ||