root/luajit.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2 ** LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/
   3 **
   4 ** Copyright (C) 2005-2017 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.5"
  34 #define LUAJIT_VERSION_NUM      20005  /* Version 2.0.5 = 02.00.05. */
  35 #define LUAJIT_VERSION_SYM      luaJIT_version_2_0_5
  36 #define LUAJIT_COPYRIGHT        "Copyright (C) 2005-2017 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_WRAPCFUNC = 0x10, /* Set wrapper mode for C function calls. */
  53 
  54   LUAJIT_MODE_MAX
  55 };
  56 
  57 /* Flags or'ed in to the mode. */
  58 #define LUAJIT_MODE_OFF         0x0000  /* Turn feature off. */
  59 #define LUAJIT_MODE_ON          0x0100  /* Turn feature on. */
  60 #define LUAJIT_MODE_FLUSH       0x0200  /* Flush JIT-compiled code. */
  61 
  62 /* LuaJIT public C API. */
  63 
  64 /* Control the JIT engine. */
  65 LUA_API int luaJIT_setmode(lua_State *L, int idx, int mode);
  66 
  67 /* Enforce (dynamic) linker error for version mismatches. Call from main. */
  68 LUA_API void LUAJIT_VERSION_SYM(void);
  69 
  70 #endif

/* [<][>][^][v][top][bottom][index][help] */