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.
Files changed (228) hide show
  1. checksums.yaml +4 -4
  2. data/lib/immunio/version.rb +1 -1
  3. data/lua-hooks/Makefile +56 -109
  4. data/lua-hooks/ext/all.c +3 -14
  5. data/lua-hooks/ext/libinjection/module.mk +5 -0
  6. data/lua-hooks/ext/lpeg/module.mk +6 -0
  7. data/lua-hooks/ext/lua-cmsgpack/module.mk +2 -0
  8. data/lua-hooks/ext/lua-snapshot/module.mk +2 -0
  9. data/lua-hooks/ext/luajit/COPYRIGHT +1 -1
  10. data/lua-hooks/ext/luajit/Makefile +2 -2
  11. data/lua-hooks/ext/luajit/README +2 -2
  12. data/lua-hooks/ext/luajit/doc/bluequad-print.css +1 -1
  13. data/lua-hooks/ext/luajit/doc/bluequad.css +1 -1
  14. data/lua-hooks/ext/luajit/doc/changes.html +15 -2
  15. data/lua-hooks/ext/luajit/doc/contact.html +3 -3
  16. data/lua-hooks/ext/luajit/doc/ext_c_api.html +2 -2
  17. data/lua-hooks/ext/luajit/doc/ext_ffi.html +2 -2
  18. data/lua-hooks/ext/luajit/doc/ext_ffi_api.html +2 -2
  19. data/lua-hooks/ext/luajit/doc/ext_ffi_semantics.html +4 -2
  20. data/lua-hooks/ext/luajit/doc/ext_ffi_tutorial.html +2 -2
  21. data/lua-hooks/ext/luajit/doc/ext_jit.html +2 -2
  22. data/lua-hooks/ext/luajit/doc/ext_profiler.html +2 -2
  23. data/lua-hooks/ext/luajit/doc/extensions.html +9 -2
  24. data/lua-hooks/ext/luajit/doc/faq.html +2 -2
  25. data/lua-hooks/ext/luajit/doc/install.html +22 -18
  26. data/lua-hooks/ext/luajit/doc/luajit.html +3 -3
  27. data/lua-hooks/ext/luajit/doc/running.html +2 -2
  28. data/lua-hooks/ext/luajit/doc/status.html +2 -2
  29. data/lua-hooks/ext/luajit/dynasm/dasm_arm.h +1 -1
  30. data/lua-hooks/ext/luajit/dynasm/dasm_arm.lua +4 -4
  31. data/lua-hooks/ext/luajit/dynasm/dasm_arm64.h +1 -1
  32. data/lua-hooks/ext/luajit/dynasm/dasm_arm64.lua +4 -4
  33. data/lua-hooks/ext/luajit/dynasm/dasm_mips.h +1 -1
  34. data/lua-hooks/ext/luajit/dynasm/dasm_mips.lua +4 -4
  35. data/lua-hooks/ext/luajit/dynasm/dasm_ppc.h +1 -1
  36. data/lua-hooks/ext/luajit/dynasm/dasm_ppc.lua +4 -4
  37. data/lua-hooks/ext/luajit/dynasm/dasm_proto.h +3 -3
  38. data/lua-hooks/ext/luajit/dynasm/dasm_x64.lua +1 -1
  39. data/lua-hooks/ext/luajit/dynasm/dasm_x86.h +34 -7
  40. data/lua-hooks/ext/luajit/dynasm/dasm_x86.lua +427 -102
  41. data/lua-hooks/ext/luajit/dynasm/dynasm.lua +5 -5
  42. data/lua-hooks/ext/luajit/etc/luajit.1 +1 -1
  43. data/lua-hooks/ext/luajit/etc/luajit.pc +1 -1
  44. data/lua-hooks/ext/luajit/src/Makefile +36 -21
  45. data/lua-hooks/ext/luajit/src/Makefile.dep +3 -1
  46. data/lua-hooks/ext/luajit/src/host/buildvm.c +1 -1
  47. data/lua-hooks/ext/luajit/src/host/buildvm.h +1 -1
  48. data/lua-hooks/ext/luajit/src/host/buildvm_asm.c +10 -1
  49. data/lua-hooks/ext/luajit/src/host/buildvm_fold.c +1 -1
  50. data/lua-hooks/ext/luajit/src/host/buildvm_lib.c +1 -1
  51. data/lua-hooks/ext/luajit/src/host/buildvm_peobj.c +1 -1
  52. data/lua-hooks/ext/luajit/src/host/genlibbc.lua +1 -1
  53. data/lua-hooks/ext/luajit/src/host/genminilua.lua +1 -1
  54. data/lua-hooks/ext/luajit/src/jit/bc.lua +1 -1
  55. data/lua-hooks/ext/luajit/src/jit/bcsave.lua +2 -2
  56. data/lua-hooks/ext/luajit/src/jit/dis_arm.lua +1 -1
  57. data/lua-hooks/ext/luajit/src/jit/dis_mips.lua +1 -1
  58. data/lua-hooks/ext/luajit/src/jit/dis_mipsel.lua +1 -1
  59. data/lua-hooks/ext/luajit/src/jit/dis_ppc.lua +1 -1
  60. data/lua-hooks/ext/luajit/src/jit/dis_x64.lua +1 -1
  61. data/lua-hooks/ext/luajit/src/jit/dis_x86.lua +163 -73
  62. data/lua-hooks/ext/luajit/src/jit/dump.lua +2 -1
  63. data/lua-hooks/ext/luajit/src/jit/p.lua +1 -1
  64. data/lua-hooks/ext/luajit/src/jit/v.lua +1 -1
  65. data/lua-hooks/ext/luajit/src/jit/zone.lua +1 -1
  66. data/lua-hooks/ext/luajit/src/lib_aux.c +1 -1
  67. data/lua-hooks/ext/luajit/src/lib_base.c +4 -5
  68. data/lua-hooks/ext/luajit/src/lib_bit.c +1 -1
  69. data/lua-hooks/ext/luajit/src/lib_debug.c +1 -1
  70. data/lua-hooks/ext/luajit/src/lib_ffi.c +2 -5
  71. data/lua-hooks/ext/luajit/src/lib_init.c +1 -1
  72. data/lua-hooks/ext/luajit/src/lib_io.c +2 -3
  73. data/lua-hooks/ext/luajit/src/lib_jit.c +1 -1
  74. data/lua-hooks/ext/luajit/src/lib_math.c +1 -1
  75. data/lua-hooks/ext/luajit/src/lib_os.c +2 -2
  76. data/lua-hooks/ext/luajit/src/lib_package.c +1 -1
  77. data/lua-hooks/ext/luajit/src/lib_string.c +1 -1
  78. data/lua-hooks/ext/luajit/src/lib_table.c +1 -1
  79. data/lua-hooks/ext/luajit/src/lj.supp +15 -0
  80. data/lua-hooks/ext/luajit/src/lj_alloc.c +1 -1
  81. data/lua-hooks/ext/luajit/src/lj_api.c +4 -1
  82. data/lua-hooks/ext/luajit/src/lj_arch.h +33 -7
  83. data/lua-hooks/ext/luajit/src/lj_asm.c +12 -5
  84. data/lua-hooks/ext/luajit/src/lj_asm.h +1 -1
  85. data/lua-hooks/ext/luajit/src/lj_asm_arm.h +3 -13
  86. data/lua-hooks/ext/luajit/src/lj_asm_mips.h +337 -71
  87. data/lua-hooks/ext/luajit/src/lj_asm_ppc.h +2 -2
  88. data/lua-hooks/ext/luajit/src/lj_asm_x86.h +2 -2
  89. data/lua-hooks/ext/luajit/src/lj_bc.c +1 -1
  90. data/lua-hooks/ext/luajit/src/lj_bc.h +1 -1
  91. data/lua-hooks/ext/luajit/src/lj_bcdump.h +1 -1
  92. data/lua-hooks/ext/luajit/src/lj_bcread.c +1 -1
  93. data/lua-hooks/ext/luajit/src/lj_bcwrite.c +1 -1
  94. data/lua-hooks/ext/luajit/src/lj_buf.c +2 -4
  95. data/lua-hooks/ext/luajit/src/lj_buf.h +1 -3
  96. data/lua-hooks/ext/luajit/src/lj_carith.c +1 -1
  97. data/lua-hooks/ext/luajit/src/lj_carith.h +1 -1
  98. data/lua-hooks/ext/luajit/src/lj_ccall.c +37 -14
  99. data/lua-hooks/ext/luajit/src/lj_ccall.h +3 -3
  100. data/lua-hooks/ext/luajit/src/lj_ccallback.c +16 -7
  101. data/lua-hooks/ext/luajit/src/lj_ccallback.h +1 -1
  102. data/lua-hooks/ext/luajit/src/lj_cconv.c +1 -1
  103. data/lua-hooks/ext/luajit/src/lj_cconv.h +1 -1
  104. data/lua-hooks/ext/luajit/src/lj_cdata.c +10 -1
  105. data/lua-hooks/ext/luajit/src/lj_cdata.h +3 -1
  106. data/lua-hooks/ext/luajit/src/lj_clib.c +1 -1
  107. data/lua-hooks/ext/luajit/src/lj_clib.h +1 -1
  108. data/lua-hooks/ext/luajit/src/lj_cparse.c +27 -6
  109. data/lua-hooks/ext/luajit/src/lj_cparse.h +1 -1
  110. data/lua-hooks/ext/luajit/src/lj_crecord.c +1 -1
  111. data/lua-hooks/ext/luajit/src/lj_crecord.h +1 -1
  112. data/lua-hooks/ext/luajit/src/lj_ctype.c +10 -8
  113. data/lua-hooks/ext/luajit/src/lj_ctype.h +1 -1
  114. data/lua-hooks/ext/luajit/src/lj_debug.c +1 -1
  115. data/lua-hooks/ext/luajit/src/lj_debug.h +1 -1
  116. data/lua-hooks/ext/luajit/src/lj_def.h +1 -1
  117. data/lua-hooks/ext/luajit/src/lj_dispatch.c +1 -1
  118. data/lua-hooks/ext/luajit/src/lj_dispatch.h +21 -4
  119. data/lua-hooks/ext/luajit/src/lj_emit_arm.h +1 -1
  120. data/lua-hooks/ext/luajit/src/lj_emit_mips.h +7 -5
  121. data/lua-hooks/ext/luajit/src/lj_emit_ppc.h +1 -1
  122. data/lua-hooks/ext/luajit/src/lj_emit_x86.h +1 -1
  123. data/lua-hooks/ext/luajit/src/lj_err.c +69 -31
  124. data/lua-hooks/ext/luajit/src/lj_err.h +1 -1
  125. data/lua-hooks/ext/luajit/src/lj_errmsg.h +1 -1
  126. data/lua-hooks/ext/luajit/src/lj_ff.h +1 -1
  127. data/lua-hooks/ext/luajit/src/lj_ffrecord.c +10 -40
  128. data/lua-hooks/ext/luajit/src/lj_ffrecord.h +1 -1
  129. data/lua-hooks/ext/luajit/src/lj_frame.h +12 -1
  130. data/lua-hooks/ext/luajit/src/lj_func.c +1 -1
  131. data/lua-hooks/ext/luajit/src/lj_func.h +1 -1
  132. data/lua-hooks/ext/luajit/src/lj_gc.c +2 -2
  133. data/lua-hooks/ext/luajit/src/lj_gc.h +1 -1
  134. data/lua-hooks/ext/luajit/src/lj_gdbjit.c +1 -1
  135. data/lua-hooks/ext/luajit/src/lj_gdbjit.h +1 -1
  136. data/lua-hooks/ext/luajit/src/lj_ir.c +31 -15
  137. data/lua-hooks/ext/luajit/src/lj_ir.h +1 -1
  138. data/lua-hooks/ext/luajit/src/lj_ircall.h +29 -1
  139. data/lua-hooks/ext/luajit/src/lj_iropt.h +2 -1
  140. data/lua-hooks/ext/luajit/src/lj_jit.h +2 -1
  141. data/lua-hooks/ext/luajit/src/lj_lex.c +28 -1
  142. data/lua-hooks/ext/luajit/src/lj_lex.h +1 -1
  143. data/lua-hooks/ext/luajit/src/lj_lib.c +1 -1
  144. data/lua-hooks/ext/luajit/src/lj_lib.h +1 -1
  145. data/lua-hooks/ext/luajit/src/lj_load.c +1 -1
  146. data/lua-hooks/ext/luajit/src/lj_mcode.c +1 -1
  147. data/lua-hooks/ext/luajit/src/lj_mcode.h +1 -1
  148. data/lua-hooks/ext/luajit/src/lj_meta.c +8 -8
  149. data/lua-hooks/ext/luajit/src/lj_meta.h +1 -1
  150. data/lua-hooks/ext/luajit/src/lj_obj.c +1 -1
  151. data/lua-hooks/ext/luajit/src/lj_obj.h +1 -1
  152. data/lua-hooks/ext/luajit/src/lj_opt_dce.c +1 -1
  153. data/lua-hooks/ext/luajit/src/lj_opt_fold.c +1 -1
  154. data/lua-hooks/ext/luajit/src/lj_opt_loop.c +1 -1
  155. data/lua-hooks/ext/luajit/src/lj_opt_mem.c +1 -1
  156. data/lua-hooks/ext/luajit/src/lj_opt_narrow.c +1 -1
  157. data/lua-hooks/ext/luajit/src/lj_opt_sink.c +1 -1
  158. data/lua-hooks/ext/luajit/src/lj_opt_split.c +10 -5
  159. data/lua-hooks/ext/luajit/src/lj_parse.c +1 -1
  160. data/lua-hooks/ext/luajit/src/lj_parse.h +1 -1
  161. data/lua-hooks/ext/luajit/src/lj_profile.c +1 -1
  162. data/lua-hooks/ext/luajit/src/lj_profile.h +1 -1
  163. data/lua-hooks/ext/luajit/src/lj_record.c +13 -5
  164. data/lua-hooks/ext/luajit/src/lj_record.h +1 -1
  165. data/lua-hooks/ext/luajit/src/lj_snap.c +20 -23
  166. data/lua-hooks/ext/luajit/src/lj_snap.h +1 -1
  167. data/lua-hooks/ext/luajit/src/lj_state.c +1 -1
  168. data/lua-hooks/ext/luajit/src/lj_state.h +1 -1
  169. data/lua-hooks/ext/luajit/src/lj_str.c +1 -1
  170. data/lua-hooks/ext/luajit/src/lj_str.h +1 -1
  171. data/lua-hooks/ext/luajit/src/lj_strfmt.c +12 -98
  172. data/lua-hooks/ext/luajit/src/lj_strfmt.h +4 -4
  173. data/lua-hooks/ext/luajit/src/lj_strfmt_num.c +591 -0
  174. data/lua-hooks/ext/luajit/src/lj_strscan.c +1 -1
  175. data/lua-hooks/ext/luajit/src/lj_strscan.h +1 -1
  176. data/lua-hooks/ext/luajit/src/lj_tab.c +1 -1
  177. data/lua-hooks/ext/luajit/src/lj_tab.h +1 -1
  178. data/lua-hooks/ext/luajit/src/lj_target.h +1 -1
  179. data/lua-hooks/ext/luajit/src/lj_target_arm.h +1 -1
  180. data/lua-hooks/ext/luajit/src/lj_target_arm64.h +1 -1
  181. data/lua-hooks/ext/luajit/src/lj_target_mips.h +30 -2
  182. data/lua-hooks/ext/luajit/src/lj_target_ppc.h +1 -1
  183. data/lua-hooks/ext/luajit/src/lj_target_x86.h +1 -1
  184. data/lua-hooks/ext/luajit/src/lj_trace.c +7 -2
  185. data/lua-hooks/ext/luajit/src/lj_trace.h +1 -1
  186. data/lua-hooks/ext/luajit/src/lj_traceerr.h +1 -3
  187. data/lua-hooks/ext/luajit/src/lj_udata.c +1 -1
  188. data/lua-hooks/ext/luajit/src/lj_udata.h +1 -1
  189. data/lua-hooks/ext/luajit/src/lj_vm.h +5 -3
  190. data/lua-hooks/ext/luajit/src/lj_vmevent.c +1 -1
  191. data/lua-hooks/ext/luajit/src/lj_vmevent.h +1 -1
  192. data/lua-hooks/ext/luajit/src/lj_vmmath.c +15 -15
  193. data/lua-hooks/ext/luajit/src/ljamalg.c +2 -1
  194. data/lua-hooks/ext/luajit/src/lua.h +1 -0
  195. data/lua-hooks/ext/luajit/src/luaconf.h +2 -2
  196. data/lua-hooks/ext/luajit/src/luajit.c +1 -1
  197. data/lua-hooks/ext/luajit/src/luajit.h +4 -4
  198. data/lua-hooks/ext/luajit/src/lualib.h +1 -1
  199. data/lua-hooks/ext/luajit/src/msvcbuild.bat +1 -1
  200. data/lua-hooks/ext/luajit/src/ps4build.bat +26 -6
  201. data/lua-hooks/ext/luajit/src/vm_arm.dasc +17 -9
  202. data/lua-hooks/ext/luajit/src/vm_arm64.dasc +1 -1
  203. data/lua-hooks/ext/luajit/src/vm_mips.dasc +1562 -656
  204. data/lua-hooks/ext/luajit/src/vm_ppc.dasc +3 -7
  205. data/lua-hooks/ext/luajit/src/vm_x64.dasc +10 -2
  206. data/lua-hooks/ext/luajit/src/vm_x86.dasc +5 -8
  207. data/lua-hooks/ext/luautf8/module.mk +2 -0
  208. data/lua-hooks/ext/module.mk +15 -0
  209. data/lua-hooks/ext/modules.h +17 -0
  210. data/lua-hooks/ext/perf/luacpu.c +1 -1
  211. data/lua-hooks/ext/perf/lualoadavg.c +1 -1
  212. data/lua-hooks/ext/perf/luameminfo.c +1 -1
  213. data/lua-hooks/ext/perf/luaoslib.c +124 -2
  214. data/lua-hooks/ext/perf/module.mk +5 -0
  215. data/lua-hooks/ext/sha1/luasha1.c +4 -2
  216. data/lua-hooks/ext/sha1/module.mk +5 -0
  217. data/lua-hooks/ext/sha2/luasha256.c +4 -2
  218. data/lua-hooks/ext/sha2/module.mk +5 -0
  219. data/lua-hooks/ext/sysutils/lua_utils.c +56 -0
  220. data/lua-hooks/ext/sysutils/module.mk +2 -0
  221. data/lua-hooks/lib/boot.lua +2 -1
  222. data/lua-hooks/lib/hooks/module.mk +31 -0
  223. data/lua-hooks/lib/hooks/xss/module.mk +4 -0
  224. data/lua-hooks/lib/lexers/module.mk +10 -0
  225. data/lua-hooks/lib/module.mk +38 -0
  226. data/lua-hooks/lib/schema/module.mk +3 -0
  227. data/lua-hooks/options.mk +59 -0
  228. metadata +21 -2
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** String scanning.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #include <math.h>
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** String scanning.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #ifndef _LJ_STRSCAN_H
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Table handling.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
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
  ** Table handling.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #ifndef _LJ_TAB_H
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Definitions for target CPU.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #ifndef _LJ_TARGET_H
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Definitions for ARM CPUs.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #ifndef _LJ_TARGET_ARM_H
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Definitions for ARM64 CPUs.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #ifndef _LJ_TARGET_ARM64_H
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Definitions for MIPS CPUs.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
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 = RID_F0,
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
  ** Definitions for PPC CPUs.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #ifndef _LJ_TARGET_PPC_H
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Definitions for x86 and x64 CPUs.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #ifndef _LJ_TARGET_X86_H
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Trace management.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
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 management.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #ifndef _LJ_TRACE_H
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Trace compiler error messages.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
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
  ** Userdata handling.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #define lj_udata_c
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Userdata handling.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #ifndef _LJ_UDATA_H
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Assembler VM interface definitions.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
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
  ** VM event handling.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #include <stdio.h>
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** VM event handling.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #ifndef _LJ_VMEVENT_H
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Math helper functions for assembler VM.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
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-2015 Mike Pall. See Copyright Notice in luajit.h
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"
@@ -226,6 +226,7 @@ LUA_API int (lua_status) (lua_State *L);
226
226
  #define LUA_GCSTEP 5
227
227
  #define LUA_GCSETPAUSE 6
228
228
  #define LUA_GCSETSTEPMUL 7
229
+ #define LUA_GCISRUNNING 9
229
230
 
230
231
  LUA_API int (lua_gc) (lua_State *L, int what, int data);
231
232
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Configuration header.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
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-beta1/"
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-2015 Mike Pall. See Copyright Notice in luajit.h
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-2015 Mike Pall. All rights reserved.
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-beta1"
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 luaJIT_version_2_1_0_beta1
36
- #define LUAJIT_COPYRIGHT "Copyright (C) 2005-2015 Mike Pall"
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. */
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ** Standard library header.
3
- ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
3
+ ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
4
4
  */
5
5
 
6
6
  #ifndef _LUALIB_H