immunio 1.1.2 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/immunio/version.rb +1 -1
- data/lua-hooks/Makefile +56 -109
- data/lua-hooks/ext/all.c +3 -14
- data/lua-hooks/ext/libinjection/module.mk +5 -0
- data/lua-hooks/ext/lpeg/module.mk +6 -0
- data/lua-hooks/ext/lua-cmsgpack/module.mk +2 -0
- data/lua-hooks/ext/lua-snapshot/module.mk +2 -0
- data/lua-hooks/ext/luajit/COPYRIGHT +1 -1
- data/lua-hooks/ext/luajit/Makefile +2 -2
- data/lua-hooks/ext/luajit/README +2 -2
- data/lua-hooks/ext/luajit/doc/bluequad-print.css +1 -1
- data/lua-hooks/ext/luajit/doc/bluequad.css +1 -1
- data/lua-hooks/ext/luajit/doc/changes.html +15 -2
- data/lua-hooks/ext/luajit/doc/contact.html +3 -3
- data/lua-hooks/ext/luajit/doc/ext_c_api.html +2 -2
- data/lua-hooks/ext/luajit/doc/ext_ffi.html +2 -2
- data/lua-hooks/ext/luajit/doc/ext_ffi_api.html +2 -2
- data/lua-hooks/ext/luajit/doc/ext_ffi_semantics.html +4 -2
- data/lua-hooks/ext/luajit/doc/ext_ffi_tutorial.html +2 -2
- data/lua-hooks/ext/luajit/doc/ext_jit.html +2 -2
- data/lua-hooks/ext/luajit/doc/ext_profiler.html +2 -2
- data/lua-hooks/ext/luajit/doc/extensions.html +9 -2
- data/lua-hooks/ext/luajit/doc/faq.html +2 -2
- data/lua-hooks/ext/luajit/doc/install.html +22 -18
- data/lua-hooks/ext/luajit/doc/luajit.html +3 -3
- data/lua-hooks/ext/luajit/doc/running.html +2 -2
- data/lua-hooks/ext/luajit/doc/status.html +2 -2
- data/lua-hooks/ext/luajit/dynasm/dasm_arm.h +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_arm.lua +4 -4
- data/lua-hooks/ext/luajit/dynasm/dasm_arm64.h +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_arm64.lua +4 -4
- data/lua-hooks/ext/luajit/dynasm/dasm_mips.h +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_mips.lua +4 -4
- data/lua-hooks/ext/luajit/dynasm/dasm_ppc.h +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_ppc.lua +4 -4
- data/lua-hooks/ext/luajit/dynasm/dasm_proto.h +3 -3
- data/lua-hooks/ext/luajit/dynasm/dasm_x64.lua +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_x86.h +34 -7
- data/lua-hooks/ext/luajit/dynasm/dasm_x86.lua +427 -102
- data/lua-hooks/ext/luajit/dynasm/dynasm.lua +5 -5
- data/lua-hooks/ext/luajit/etc/luajit.1 +1 -1
- data/lua-hooks/ext/luajit/etc/luajit.pc +1 -1
- data/lua-hooks/ext/luajit/src/Makefile +36 -21
- data/lua-hooks/ext/luajit/src/Makefile.dep +3 -1
- data/lua-hooks/ext/luajit/src/host/buildvm.c +1 -1
- data/lua-hooks/ext/luajit/src/host/buildvm.h +1 -1
- data/lua-hooks/ext/luajit/src/host/buildvm_asm.c +10 -1
- data/lua-hooks/ext/luajit/src/host/buildvm_fold.c +1 -1
- data/lua-hooks/ext/luajit/src/host/buildvm_lib.c +1 -1
- data/lua-hooks/ext/luajit/src/host/buildvm_peobj.c +1 -1
- data/lua-hooks/ext/luajit/src/host/genlibbc.lua +1 -1
- data/lua-hooks/ext/luajit/src/host/genminilua.lua +1 -1
- data/lua-hooks/ext/luajit/src/jit/bc.lua +1 -1
- data/lua-hooks/ext/luajit/src/jit/bcsave.lua +2 -2
- data/lua-hooks/ext/luajit/src/jit/dis_arm.lua +1 -1
- data/lua-hooks/ext/luajit/src/jit/dis_mips.lua +1 -1
- data/lua-hooks/ext/luajit/src/jit/dis_mipsel.lua +1 -1
- data/lua-hooks/ext/luajit/src/jit/dis_ppc.lua +1 -1
- data/lua-hooks/ext/luajit/src/jit/dis_x64.lua +1 -1
- data/lua-hooks/ext/luajit/src/jit/dis_x86.lua +163 -73
- data/lua-hooks/ext/luajit/src/jit/dump.lua +2 -1
- data/lua-hooks/ext/luajit/src/jit/p.lua +1 -1
- data/lua-hooks/ext/luajit/src/jit/v.lua +1 -1
- data/lua-hooks/ext/luajit/src/jit/zone.lua +1 -1
- data/lua-hooks/ext/luajit/src/lib_aux.c +1 -1
- data/lua-hooks/ext/luajit/src/lib_base.c +4 -5
- data/lua-hooks/ext/luajit/src/lib_bit.c +1 -1
- data/lua-hooks/ext/luajit/src/lib_debug.c +1 -1
- data/lua-hooks/ext/luajit/src/lib_ffi.c +2 -5
- data/lua-hooks/ext/luajit/src/lib_init.c +1 -1
- data/lua-hooks/ext/luajit/src/lib_io.c +2 -3
- data/lua-hooks/ext/luajit/src/lib_jit.c +1 -1
- data/lua-hooks/ext/luajit/src/lib_math.c +1 -1
- data/lua-hooks/ext/luajit/src/lib_os.c +2 -2
- data/lua-hooks/ext/luajit/src/lib_package.c +1 -1
- data/lua-hooks/ext/luajit/src/lib_string.c +1 -1
- data/lua-hooks/ext/luajit/src/lib_table.c +1 -1
- data/lua-hooks/ext/luajit/src/lj.supp +15 -0
- data/lua-hooks/ext/luajit/src/lj_alloc.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_api.c +4 -1
- data/lua-hooks/ext/luajit/src/lj_arch.h +33 -7
- data/lua-hooks/ext/luajit/src/lj_asm.c +12 -5
- data/lua-hooks/ext/luajit/src/lj_asm.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_asm_arm.h +3 -13
- data/lua-hooks/ext/luajit/src/lj_asm_mips.h +337 -71
- data/lua-hooks/ext/luajit/src/lj_asm_ppc.h +2 -2
- data/lua-hooks/ext/luajit/src/lj_asm_x86.h +2 -2
- data/lua-hooks/ext/luajit/src/lj_bc.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_bc.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_bcdump.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_bcread.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_bcwrite.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_buf.c +2 -4
- data/lua-hooks/ext/luajit/src/lj_buf.h +1 -3
- data/lua-hooks/ext/luajit/src/lj_carith.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_carith.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_ccall.c +37 -14
- data/lua-hooks/ext/luajit/src/lj_ccall.h +3 -3
- data/lua-hooks/ext/luajit/src/lj_ccallback.c +16 -7
- data/lua-hooks/ext/luajit/src/lj_ccallback.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_cconv.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_cconv.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_cdata.c +10 -1
- data/lua-hooks/ext/luajit/src/lj_cdata.h +3 -1
- data/lua-hooks/ext/luajit/src/lj_clib.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_clib.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_cparse.c +27 -6
- data/lua-hooks/ext/luajit/src/lj_cparse.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_crecord.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_crecord.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_ctype.c +10 -8
- data/lua-hooks/ext/luajit/src/lj_ctype.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_debug.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_debug.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_def.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_dispatch.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_dispatch.h +21 -4
- data/lua-hooks/ext/luajit/src/lj_emit_arm.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_emit_mips.h +7 -5
- data/lua-hooks/ext/luajit/src/lj_emit_ppc.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_emit_x86.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_err.c +69 -31
- data/lua-hooks/ext/luajit/src/lj_err.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_errmsg.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_ff.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_ffrecord.c +10 -40
- data/lua-hooks/ext/luajit/src/lj_ffrecord.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_frame.h +12 -1
- data/lua-hooks/ext/luajit/src/lj_func.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_func.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_gc.c +2 -2
- data/lua-hooks/ext/luajit/src/lj_gc.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_gdbjit.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_gdbjit.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_ir.c +31 -15
- data/lua-hooks/ext/luajit/src/lj_ir.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_ircall.h +29 -1
- data/lua-hooks/ext/luajit/src/lj_iropt.h +2 -1
- data/lua-hooks/ext/luajit/src/lj_jit.h +2 -1
- data/lua-hooks/ext/luajit/src/lj_lex.c +28 -1
- data/lua-hooks/ext/luajit/src/lj_lex.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_lib.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_lib.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_load.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_mcode.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_mcode.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_meta.c +8 -8
- data/lua-hooks/ext/luajit/src/lj_meta.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_obj.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_obj.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_opt_dce.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_opt_fold.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_opt_loop.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_opt_mem.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_opt_narrow.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_opt_sink.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_opt_split.c +10 -5
- data/lua-hooks/ext/luajit/src/lj_parse.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_parse.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_profile.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_profile.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_record.c +13 -5
- data/lua-hooks/ext/luajit/src/lj_record.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_snap.c +20 -23
- data/lua-hooks/ext/luajit/src/lj_snap.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_state.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_state.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_str.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_str.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_strfmt.c +12 -98
- data/lua-hooks/ext/luajit/src/lj_strfmt.h +4 -4
- data/lua-hooks/ext/luajit/src/lj_strfmt_num.c +591 -0
- data/lua-hooks/ext/luajit/src/lj_strscan.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_strscan.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_tab.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_tab.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_target.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_target_arm.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_target_arm64.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_target_mips.h +30 -2
- data/lua-hooks/ext/luajit/src/lj_target_ppc.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_target_x86.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_trace.c +7 -2
- data/lua-hooks/ext/luajit/src/lj_trace.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_traceerr.h +1 -3
- data/lua-hooks/ext/luajit/src/lj_udata.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_udata.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_vm.h +5 -3
- data/lua-hooks/ext/luajit/src/lj_vmevent.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_vmevent.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_vmmath.c +15 -15
- data/lua-hooks/ext/luajit/src/ljamalg.c +2 -1
- data/lua-hooks/ext/luajit/src/lua.h +1 -0
- data/lua-hooks/ext/luajit/src/luaconf.h +2 -2
- data/lua-hooks/ext/luajit/src/luajit.c +1 -1
- data/lua-hooks/ext/luajit/src/luajit.h +4 -4
- data/lua-hooks/ext/luajit/src/lualib.h +1 -1
- data/lua-hooks/ext/luajit/src/msvcbuild.bat +1 -1
- data/lua-hooks/ext/luajit/src/ps4build.bat +26 -6
- data/lua-hooks/ext/luajit/src/vm_arm.dasc +17 -9
- data/lua-hooks/ext/luajit/src/vm_arm64.dasc +1 -1
- data/lua-hooks/ext/luajit/src/vm_mips.dasc +1562 -656
- data/lua-hooks/ext/luajit/src/vm_ppc.dasc +3 -7
- data/lua-hooks/ext/luajit/src/vm_x64.dasc +10 -2
- data/lua-hooks/ext/luajit/src/vm_x86.dasc +5 -8
- data/lua-hooks/ext/luautf8/module.mk +2 -0
- data/lua-hooks/ext/module.mk +15 -0
- data/lua-hooks/ext/modules.h +17 -0
- data/lua-hooks/ext/perf/luacpu.c +1 -1
- data/lua-hooks/ext/perf/lualoadavg.c +1 -1
- data/lua-hooks/ext/perf/luameminfo.c +1 -1
- data/lua-hooks/ext/perf/luaoslib.c +124 -2
- data/lua-hooks/ext/perf/module.mk +5 -0
- data/lua-hooks/ext/sha1/luasha1.c +4 -2
- data/lua-hooks/ext/sha1/module.mk +5 -0
- data/lua-hooks/ext/sha2/luasha256.c +4 -2
- data/lua-hooks/ext/sha2/module.mk +5 -0
- data/lua-hooks/ext/sysutils/lua_utils.c +56 -0
- data/lua-hooks/ext/sysutils/module.mk +2 -0
- data/lua-hooks/lib/boot.lua +2 -1
- data/lua-hooks/lib/hooks/module.mk +31 -0
- data/lua-hooks/lib/hooks/xss/module.mk +4 -0
- data/lua-hooks/lib/lexers/module.mk +10 -0
- data/lua-hooks/lib/module.mk +38 -0
- data/lua-hooks/lib/schema/module.mk +3 -0
- data/lua-hooks/options.mk +59 -0
- metadata +21 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
** Table handling.
|
|
3
|
-
** Copyright (C) 2005-
|
|
3
|
+
** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
|
|
4
4
|
**
|
|
5
5
|
** Major portions taken verbatim or adapted from the Lua interpreter.
|
|
6
6
|
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
** Definitions for MIPS CPUs.
|
|
3
|
-
** Copyright (C) 2005-
|
|
3
|
+
** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
#ifndef _LJ_TARGET_MIPS_H
|
|
@@ -13,11 +13,15 @@
|
|
|
13
13
|
_(R8) _(R9) _(R10) _(R11) _(R12) _(R13) _(R14) _(R15) \
|
|
14
14
|
_(R16) _(R17) _(R18) _(R19) _(R20) _(R21) _(R22) _(R23) \
|
|
15
15
|
_(R24) _(R25) _(SYS1) _(SYS2) _(R28) _(SP) _(R30) _(RA)
|
|
16
|
+
#if LJ_SOFTFP
|
|
17
|
+
#define FPRDEF(_)
|
|
18
|
+
#else
|
|
16
19
|
#define FPRDEF(_) \
|
|
17
20
|
_(F0) _(F1) _(F2) _(F3) _(F4) _(F5) _(F6) _(F7) \
|
|
18
21
|
_(F8) _(F9) _(F10) _(F11) _(F12) _(F13) _(F14) _(F15) \
|
|
19
22
|
_(F16) _(F17) _(F18) _(F19) _(F20) _(F21) _(F22) _(F23) \
|
|
20
23
|
_(F24) _(F25) _(F26) _(F27) _(F28) _(F29) _(F30) _(F31)
|
|
24
|
+
#endif
|
|
21
25
|
#define VRIDDEF(_)
|
|
22
26
|
|
|
23
27
|
#define RIDENUM(name) RID_##name,
|
|
@@ -38,7 +42,11 @@ enum {
|
|
|
38
42
|
RID_RETHI = RID_R2,
|
|
39
43
|
RID_RETLO = RID_R3,
|
|
40
44
|
#endif
|
|
45
|
+
#if LJ_SOFTFP
|
|
46
|
+
RID_FPRET = RID_R2,
|
|
47
|
+
#else
|
|
41
48
|
RID_FPRET = RID_F0,
|
|
49
|
+
#endif
|
|
42
50
|
RID_CFUNCADDR = RID_R25,
|
|
43
51
|
|
|
44
52
|
/* These definitions must match with the *.dasc file(s): */
|
|
@@ -51,8 +59,12 @@ enum {
|
|
|
51
59
|
/* Register ranges [min, max) and number of registers. */
|
|
52
60
|
RID_MIN_GPR = RID_R0,
|
|
53
61
|
RID_MAX_GPR = RID_RA+1,
|
|
54
|
-
RID_MIN_FPR =
|
|
62
|
+
RID_MIN_FPR = RID_MAX_GPR,
|
|
63
|
+
#if LJ_SOFTFP
|
|
64
|
+
RID_MAX_FPR = RID_MIN_FPR,
|
|
65
|
+
#else
|
|
55
66
|
RID_MAX_FPR = RID_F31+1,
|
|
67
|
+
#endif
|
|
56
68
|
RID_NUM_GPR = RID_MAX_GPR - RID_MIN_GPR,
|
|
57
69
|
RID_NUM_FPR = RID_MAX_FPR - RID_MIN_FPR /* Only even regs are used. */
|
|
58
70
|
};
|
|
@@ -67,28 +79,42 @@ enum {
|
|
|
67
79
|
(RID2RSET(RID_ZERO)|RID2RSET(RID_TMP)|RID2RSET(RID_SP)|\
|
|
68
80
|
RID2RSET(RID_SYS1)|RID2RSET(RID_SYS2)|RID2RSET(RID_JGL))
|
|
69
81
|
#define RSET_GPR (RSET_RANGE(RID_MIN_GPR, RID_MAX_GPR) - RSET_FIXED)
|
|
82
|
+
#if LJ_SOFTFP
|
|
83
|
+
#define RSET_FPR 0
|
|
84
|
+
#else
|
|
70
85
|
#define RSET_FPR \
|
|
71
86
|
(RID2RSET(RID_F0)|RID2RSET(RID_F2)|RID2RSET(RID_F4)|RID2RSET(RID_F6)|\
|
|
72
87
|
RID2RSET(RID_F8)|RID2RSET(RID_F10)|RID2RSET(RID_F12)|RID2RSET(RID_F14)|\
|
|
73
88
|
RID2RSET(RID_F16)|RID2RSET(RID_F18)|RID2RSET(RID_F20)|RID2RSET(RID_F22)|\
|
|
74
89
|
RID2RSET(RID_F24)|RID2RSET(RID_F26)|RID2RSET(RID_F28)|RID2RSET(RID_F30))
|
|
90
|
+
#endif
|
|
75
91
|
#define RSET_ALL (RSET_GPR|RSET_FPR)
|
|
76
92
|
#define RSET_INIT RSET_ALL
|
|
77
93
|
|
|
78
94
|
#define RSET_SCRATCH_GPR \
|
|
79
95
|
(RSET_RANGE(RID_R1, RID_R15+1)|\
|
|
80
96
|
RID2RSET(RID_R24)|RID2RSET(RID_R25)|RID2RSET(RID_R28))
|
|
97
|
+
#if LJ_SOFTFP
|
|
98
|
+
#define RSET_SCRATCH_FPR 0
|
|
99
|
+
#else
|
|
81
100
|
#define RSET_SCRATCH_FPR \
|
|
82
101
|
(RID2RSET(RID_F0)|RID2RSET(RID_F2)|RID2RSET(RID_F4)|RID2RSET(RID_F6)|\
|
|
83
102
|
RID2RSET(RID_F8)|RID2RSET(RID_F10)|RID2RSET(RID_F12)|RID2RSET(RID_F14)|\
|
|
84
103
|
RID2RSET(RID_F16)|RID2RSET(RID_F18))
|
|
104
|
+
#endif
|
|
85
105
|
#define RSET_SCRATCH (RSET_SCRATCH_GPR|RSET_SCRATCH_FPR)
|
|
86
106
|
#define REGARG_FIRSTGPR RID_R4
|
|
87
107
|
#define REGARG_LASTGPR RID_R7
|
|
88
108
|
#define REGARG_NUMGPR 4
|
|
109
|
+
#if LJ_ABI_SOFTFP
|
|
110
|
+
#define REGARG_FIRSTFPR 0
|
|
111
|
+
#define REGARG_LASTFPR 0
|
|
112
|
+
#define REGARG_NUMFPR 0
|
|
113
|
+
#else
|
|
89
114
|
#define REGARG_FIRSTFPR RID_F12
|
|
90
115
|
#define REGARG_LASTFPR RID_F14
|
|
91
116
|
#define REGARG_NUMFPR 2
|
|
117
|
+
#endif
|
|
92
118
|
|
|
93
119
|
/* -- Spill slots --------------------------------------------------------- */
|
|
94
120
|
|
|
@@ -111,7 +137,9 @@ enum {
|
|
|
111
137
|
|
|
112
138
|
/* This definition must match with the *.dasc file(s). */
|
|
113
139
|
typedef struct {
|
|
140
|
+
#if !LJ_SOFTFP
|
|
114
141
|
lua_Number fpr[RID_NUM_FPR]; /* Floating-point registers. */
|
|
142
|
+
#endif
|
|
115
143
|
int32_t gpr[RID_NUM_GPR]; /* General-purpose registers. */
|
|
116
144
|
int32_t spill[256]; /* Spill slots. */
|
|
117
145
|
} ExitState;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
** Trace management.
|
|
3
|
-
** Copyright (C) 2005-
|
|
3
|
+
** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
#define lj_trace_c
|
|
@@ -274,7 +274,7 @@ int lj_trace_flushall(lua_State *L)
|
|
|
274
274
|
if (T->root == 0)
|
|
275
275
|
trace_flushroot(J, T);
|
|
276
276
|
lj_gdbjit_deltrace(J, T);
|
|
277
|
-
T->traceno = 0;
|
|
277
|
+
T->traceno = T->link = 0; /* Blacklist the link for cont_stitch. */
|
|
278
278
|
setgcrefnull(J->trace[i]);
|
|
279
279
|
}
|
|
280
280
|
}
|
|
@@ -284,6 +284,7 @@ int lj_trace_flushall(lua_State *L)
|
|
|
284
284
|
memset(J->penalty, 0, sizeof(J->penalty));
|
|
285
285
|
/* Free the whole machine code and invalidate all exit stub groups. */
|
|
286
286
|
lj_mcode_free(J);
|
|
287
|
+
lj_ir_k64_freeall(J);
|
|
287
288
|
memset(J->exitstubgroup, 0, sizeof(J->exitstubgroup));
|
|
288
289
|
lj_vmevent_send(L, TRACE,
|
|
289
290
|
setstrV(L, L->top++, lj_str_newlit(L, "flush"));
|
|
@@ -402,6 +403,7 @@ static void trace_start(jit_State *J)
|
|
|
402
403
|
J->postproc = LJ_POST_NONE;
|
|
403
404
|
lj_resetsplit(J);
|
|
404
405
|
J->retryrec = 0;
|
|
406
|
+
J->ktracep = NULL;
|
|
405
407
|
setgcref(J->cur.startpt, obj2gco(J->pt));
|
|
406
408
|
|
|
407
409
|
L = J->L;
|
|
@@ -477,6 +479,9 @@ static void trace_stop(jit_State *J)
|
|
|
477
479
|
lj_mcode_commit(J, J->cur.mcode);
|
|
478
480
|
J->postproc = LJ_POST_NONE;
|
|
479
481
|
trace_save(J, T);
|
|
482
|
+
if (J->ktracep) { /* Patch K64Array slot with the final GCtrace pointer. */
|
|
483
|
+
setgcV(J->L, J->ktracep, obj2gco(T), LJ_TTRACE);
|
|
484
|
+
}
|
|
480
485
|
|
|
481
486
|
L = J->L;
|
|
482
487
|
lj_vmevent_send(L, TRACE,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
** Trace compiler error messages.
|
|
3
|
-
** Copyright (C) 2005-
|
|
3
|
+
** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/* This file may be included multiple times with different TREDEF macros. */
|
|
@@ -25,8 +25,6 @@ TREDEF(BADTYPE, "bad argument type")
|
|
|
25
25
|
TREDEF(CJITOFF, "JIT compilation disabled for function")
|
|
26
26
|
TREDEF(CUNROLL, "call unroll limit reached")
|
|
27
27
|
TREDEF(DOWNREC, "down-recursion, restarting")
|
|
28
|
-
TREDEF(NYICF, "NYI: C function %s")
|
|
29
|
-
TREDEF(NYIFF, "NYI: FastFunc %s")
|
|
30
28
|
TREDEF(NYIFFU, "NYI: unsupported variant of FastFunc %s")
|
|
31
29
|
TREDEF(NYIRETL, "NYI: return to lower frame")
|
|
32
30
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
** Assembler VM interface definitions.
|
|
3
|
-
** Copyright (C) 2005-
|
|
3
|
+
** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
#ifndef _LJ_VM_H
|
|
@@ -50,7 +50,7 @@ LJ_ASMF void lj_vm_exit_handler(void);
|
|
|
50
50
|
LJ_ASMF void lj_vm_exit_interp(void);
|
|
51
51
|
|
|
52
52
|
/* Internal math helper functions. */
|
|
53
|
-
#if LJ_TARGET_PPC || LJ_TARGET_ARM64
|
|
53
|
+
#if LJ_TARGET_PPC || LJ_TARGET_ARM64 || (LJ_TARGET_MIPS && LJ_ABI_SOFTFP)
|
|
54
54
|
#define lj_vm_floor floor
|
|
55
55
|
#define lj_vm_ceil ceil
|
|
56
56
|
#else
|
|
@@ -66,6 +66,9 @@ LJ_ASMF double lj_vm_log2(double);
|
|
|
66
66
|
#else
|
|
67
67
|
#define lj_vm_log2 log2
|
|
68
68
|
#endif
|
|
69
|
+
#if !(defined(_LJ_DISPATCH_H) && LJ_TARGET_MIPS)
|
|
70
|
+
LJ_ASMF int32_t LJ_FASTCALL lj_vm_modi(int32_t, int32_t);
|
|
71
|
+
#endif
|
|
69
72
|
|
|
70
73
|
#if LJ_HASJIT
|
|
71
74
|
#if LJ_TARGET_X86ORX64
|
|
@@ -90,7 +93,6 @@ LJ_ASMF double lj_vm_exp2(double);
|
|
|
90
93
|
#else
|
|
91
94
|
#define lj_vm_exp2 exp2
|
|
92
95
|
#endif
|
|
93
|
-
LJ_ASMF int32_t LJ_FASTCALL lj_vm_modi(int32_t, int32_t);
|
|
94
96
|
#if LJ_HASFFI
|
|
95
97
|
LJ_ASMF int lj_vm_errno(void);
|
|
96
98
|
#endif
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
** Math helper functions for assembler VM.
|
|
3
|
-
** Copyright (C) 2005-
|
|
3
|
+
** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
#define lj_vmmath_c
|
|
@@ -57,6 +57,20 @@ double lj_vm_foldarith(double x, double y, int op)
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
+
#if (LJ_HASJIT && !(LJ_TARGET_ARM || LJ_TARGET_ARM64 || LJ_TARGET_PPC)) || LJ_TARGET_MIPS
|
|
61
|
+
int32_t LJ_FASTCALL lj_vm_modi(int32_t a, int32_t b)
|
|
62
|
+
{
|
|
63
|
+
uint32_t y, ua, ub;
|
|
64
|
+
lua_assert(b != 0); /* This must be checked before using this function. */
|
|
65
|
+
ua = a < 0 ? (uint32_t)-a : (uint32_t)a;
|
|
66
|
+
ub = b < 0 ? (uint32_t)-b : (uint32_t)b;
|
|
67
|
+
y = ua % ub;
|
|
68
|
+
if (y != 0 && (a^b) < 0) y = y - ub;
|
|
69
|
+
if (((int32_t)y^b) < 0) y = (uint32_t)-(int32_t)y;
|
|
70
|
+
return (int32_t)y;
|
|
71
|
+
}
|
|
72
|
+
#endif
|
|
73
|
+
|
|
60
74
|
#if LJ_HASJIT
|
|
61
75
|
|
|
62
76
|
#ifdef LUAJIT_NO_LOG2
|
|
@@ -73,20 +87,6 @@ double lj_vm_exp2(double a)
|
|
|
73
87
|
}
|
|
74
88
|
#endif
|
|
75
89
|
|
|
76
|
-
#if !(LJ_TARGET_ARM || LJ_TARGET_ARM64 || LJ_TARGET_PPC)
|
|
77
|
-
int32_t LJ_FASTCALL lj_vm_modi(int32_t a, int32_t b)
|
|
78
|
-
{
|
|
79
|
-
uint32_t y, ua, ub;
|
|
80
|
-
lua_assert(b != 0); /* This must be checked before using this function. */
|
|
81
|
-
ua = a < 0 ? (uint32_t)-a : (uint32_t)a;
|
|
82
|
-
ub = b < 0 ? (uint32_t)-b : (uint32_t)b;
|
|
83
|
-
y = ua % ub;
|
|
84
|
-
if (y != 0 && (a^b) < 0) y = y - ub;
|
|
85
|
-
if (((int32_t)y^b) < 0) y = (uint32_t)-(int32_t)y;
|
|
86
|
-
return (int32_t)y;
|
|
87
|
-
}
|
|
88
|
-
#endif
|
|
89
|
-
|
|
90
90
|
#if !LJ_TARGET_X86ORX64
|
|
91
91
|
/* Unsigned x^k. */
|
|
92
92
|
static double lj_vm_powui(double x, uint32_t k)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
** LuaJIT core and libraries amalgamation.
|
|
3
|
-
** Copyright (C) 2005-
|
|
3
|
+
** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/*
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
#include "lj_vmmath.c"
|
|
47
47
|
#include "lj_strscan.c"
|
|
48
48
|
#include "lj_strfmt.c"
|
|
49
|
+
#include "lj_strfmt_num.c"
|
|
49
50
|
#include "lj_api.c"
|
|
50
51
|
#include "lj_profile.c"
|
|
51
52
|
#include "lj_lex.c"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
** Configuration header.
|
|
3
|
-
** Copyright (C) 2005-
|
|
3
|
+
** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
#ifndef luaconf_h
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
#endif
|
|
38
38
|
#define LUA_LROOT "/usr/local"
|
|
39
39
|
#define LUA_LUADIR "/lua/5.1/"
|
|
40
|
-
#define LUA_LJDIR "/luajit-2.1.0-
|
|
40
|
+
#define LUA_LJDIR "/luajit-2.1.0-beta2/"
|
|
41
41
|
|
|
42
42
|
#ifdef LUA_ROOT
|
|
43
43
|
#define LUA_JROOT LUA_ROOT
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
** LuaJIT frontend. Runs commands, scripts, read-eval-print (REPL) etc.
|
|
3
|
-
** Copyright (C) 2005-
|
|
3
|
+
** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
|
|
4
4
|
**
|
|
5
5
|
** Major portions taken verbatim or adapted from the Lua interpreter.
|
|
6
6
|
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
** LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/
|
|
3
3
|
**
|
|
4
|
-
** Copyright (C) 2005-
|
|
4
|
+
** Copyright (C) 2005-2016 Mike Pall. All rights reserved.
|
|
5
5
|
**
|
|
6
6
|
** Permission is hereby granted, free of charge, to any person obtaining
|
|
7
7
|
** a copy of this software and associated documentation files (the
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
|
|
31
31
|
#include "lua.h"
|
|
32
32
|
|
|
33
|
-
#define LUAJIT_VERSION "LuaJIT 2.1.0-
|
|
33
|
+
#define LUAJIT_VERSION "LuaJIT 2.1.0-beta2"
|
|
34
34
|
#define LUAJIT_VERSION_NUM 20100 /* Version 2.1.0 = 02.01.00. */
|
|
35
|
-
#define LUAJIT_VERSION_SYM
|
|
36
|
-
#define LUAJIT_COPYRIGHT "Copyright (C) 2005-
|
|
35
|
+
#define LUAJIT_VERSION_SYM luaJIT_version_2_1_0_beta2
|
|
36
|
+
#define LUAJIT_COPYRIGHT "Copyright (C) 2005-2016 Mike Pall"
|
|
37
37
|
#define LUAJIT_URL "http://luajit.org/"
|
|
38
38
|
|
|
39
39
|
/* Modes for luaJIT_setmode. */
|