immunio 1.2.1 → 2.0.2
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/README.md +13 -5
- data/ext/immunio/Rakefile +14 -6
- data/lib/immunio/context.rb +2 -0
- data/lib/immunio/plugins/action_view.rb +7 -668
- data/lib/immunio/plugins/action_view/action_view.rb +22 -0
- data/lib/immunio/plugins/action_view/active_support_hash.rb +29 -0
- data/lib/immunio/plugins/action_view/cache_store.rb +24 -0
- data/lib/immunio/plugins/action_view/erubi.rb +38 -0
- data/lib/immunio/plugins/action_view/erubis.rb +39 -0
- data/lib/immunio/plugins/action_view/fragment_caching.rb +29 -0
- data/lib/immunio/plugins/action_view/haml.rb +46 -0
- data/lib/immunio/plugins/action_view/slim.rb +42 -0
- data/lib/immunio/plugins/action_view/template.rb +431 -0
- data/lib/immunio/plugins/action_view/template_rendering.rb +45 -0
- data/lib/immunio/plugins/http_tracker.rb +2 -0
- data/lib/immunio/plugins/io.rb +34 -0
- data/lib/immunio/version.rb +1 -1
- data/lua-hooks/Makefile +36 -9
- data/lua-hooks/ext/luajit/COPYRIGHT +1 -1
- data/lua-hooks/ext/luajit/Makefile +22 -15
- 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 +69 -3
- data/lua-hooks/ext/luajit/doc/contact.html +10 -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 +3 -4
- data/lua-hooks/ext/luajit/doc/ext_ffi_tutorial.html +2 -2
- data/lua-hooks/ext/luajit/doc/ext_jit.html +3 -3
- data/lua-hooks/ext/luajit/doc/ext_profiler.html +2 -2
- data/lua-hooks/ext/luajit/doc/extensions.html +47 -20
- data/lua-hooks/ext/luajit/doc/faq.html +2 -2
- data/lua-hooks/ext/luajit/doc/install.html +74 -45
- data/lua-hooks/ext/luajit/doc/luajit.html +5 -5
- data/lua-hooks/ext/luajit/doc/running.html +3 -3
- data/lua-hooks/ext/luajit/doc/status.html +13 -8
- data/lua-hooks/ext/luajit/dynasm/dasm_arm.h +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_arm.lua +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_arm64.h +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_arm64.lua +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_mips.h +8 -5
- data/lua-hooks/ext/luajit/dynasm/dasm_mips.lua +66 -11
- data/lua-hooks/ext/luajit/dynasm/dasm_mips64.lua +12 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_ppc.h +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_ppc.lua +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_proto.h +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_x64.lua +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_x86.h +1 -1
- data/lua-hooks/ext/luajit/dynasm/dasm_x86.lua +5 -1
- data/lua-hooks/ext/luajit/dynasm/dynasm.lua +2 -2
- 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 +15 -11
- data/lua-hooks/ext/luajit/src/Makefile.dep +16 -16
- data/lua-hooks/ext/luajit/src/host/buildvm.c +2 -2
- data/lua-hooks/ext/luajit/src/host/buildvm.h +1 -1
- data/lua-hooks/ext/luajit/src/host/buildvm_asm.c +9 -4
- data/lua-hooks/ext/luajit/src/host/buildvm_fold.c +2 -2
- data/lua-hooks/ext/luajit/src/host/buildvm_lib.c +1 -1
- data/lua-hooks/ext/luajit/src/host/buildvm_libbc.h +14 -3
- data/lua-hooks/ext/luajit/src/host/buildvm_peobj.c +27 -3
- data/lua-hooks/ext/luajit/src/host/genlibbc.lua +1 -1
- data/lua-hooks/ext/luajit/src/host/genminilua.lua +6 -5
- data/lua-hooks/ext/luajit/src/host/minilua.c +1 -1
- data/lua-hooks/ext/luajit/src/jit/bc.lua +1 -1
- data/lua-hooks/ext/luajit/src/jit/bcsave.lua +8 -8
- data/lua-hooks/ext/luajit/src/jit/dis_arm.lua +2 -2
- data/lua-hooks/ext/luajit/src/jit/dis_arm64.lua +1216 -0
- data/lua-hooks/ext/luajit/src/jit/dis_arm64be.lua +12 -0
- data/lua-hooks/ext/luajit/src/jit/dis_mips.lua +35 -20
- data/lua-hooks/ext/luajit/src/jit/dis_mips64.lua +17 -0
- data/lua-hooks/ext/luajit/src/jit/dis_mips64el.lua +17 -0
- data/lua-hooks/ext/luajit/src/jit/dis_mipsel.lua +1 -1
- data/lua-hooks/ext/luajit/src/jit/dis_ppc.lua +2 -2
- data/lua-hooks/ext/luajit/src/jit/dis_x64.lua +1 -1
- data/lua-hooks/ext/luajit/src/jit/dis_x86.lua +7 -4
- data/lua-hooks/ext/luajit/src/jit/dump.lua +17 -12
- data/lua-hooks/ext/luajit/src/jit/p.lua +3 -2
- data/lua-hooks/ext/luajit/src/jit/v.lua +2 -2
- data/lua-hooks/ext/luajit/src/jit/zone.lua +1 -1
- data/lua-hooks/ext/luajit/src/lauxlib.h +14 -20
- data/lua-hooks/ext/luajit/src/lib_aux.c +38 -27
- data/lua-hooks/ext/luajit/src/lib_base.c +12 -5
- data/lua-hooks/ext/luajit/src/lib_bit.c +1 -1
- data/lua-hooks/ext/luajit/src/lib_debug.c +5 -5
- data/lua-hooks/ext/luajit/src/lib_ffi.c +2 -2
- data/lua-hooks/ext/luajit/src/lib_init.c +16 -16
- data/lua-hooks/ext/luajit/src/lib_io.c +6 -7
- data/lua-hooks/ext/luajit/src/lib_jit.c +14 -4
- data/lua-hooks/ext/luajit/src/lib_math.c +1 -5
- data/lua-hooks/ext/luajit/src/lib_os.c +1 -1
- data/lua-hooks/ext/luajit/src/lib_package.c +14 -23
- data/lua-hooks/ext/luajit/src/lib_string.c +1 -5
- data/lua-hooks/ext/luajit/src/lib_table.c +21 -1
- data/lua-hooks/ext/luajit/src/lj.supp +3 -3
- data/lua-hooks/ext/luajit/src/lj_alloc.c +174 -83
- data/lua-hooks/ext/luajit/src/lj_api.c +97 -18
- data/lua-hooks/ext/luajit/src/lj_arch.h +54 -22
- data/lua-hooks/ext/luajit/src/lj_asm.c +172 -53
- data/lua-hooks/ext/luajit/src/lj_asm.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_asm_arm.h +19 -16
- data/lua-hooks/ext/luajit/src/lj_asm_arm64.h +2022 -0
- data/lua-hooks/ext/luajit/src/lj_asm_mips.h +564 -158
- data/lua-hooks/ext/luajit/src/lj_asm_ppc.h +19 -18
- data/lua-hooks/ext/luajit/src/lj_asm_x86.h +578 -92
- 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 +1 -1
- data/lua-hooks/ext/luajit/src/lj_buf.h +1 -1
- 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 +172 -7
- data/lua-hooks/ext/luajit/src/lj_ccall.h +21 -5
- data/lua-hooks/ext/luajit/src/lj_ccallback.c +71 -17
- data/lua-hooks/ext/luajit/src/lj_ccallback.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_cconv.c +4 -2
- data/lua-hooks/ext/luajit/src/lj_cconv.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_cdata.c +7 -5
- data/lua-hooks/ext/luajit/src/lj_cdata.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_clib.c +5 -5
- data/lua-hooks/ext/luajit/src/lj_clib.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_cparse.c +11 -6
- data/lua-hooks/ext/luajit/src/lj_cparse.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_crecord.c +70 -14
- data/lua-hooks/ext/luajit/src/lj_crecord.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_ctype.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_ctype.h +8 -8
- 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 +6 -9
- data/lua-hooks/ext/luajit/src/lj_dispatch.c +3 -3
- data/lua-hooks/ext/luajit/src/lj_dispatch.h +2 -1
- data/lua-hooks/ext/luajit/src/lj_emit_arm.h +5 -4
- data/lua-hooks/ext/luajit/src/lj_emit_arm64.h +419 -0
- data/lua-hooks/ext/luajit/src/lj_emit_mips.h +100 -20
- data/lua-hooks/ext/luajit/src/lj_emit_ppc.h +4 -4
- data/lua-hooks/ext/luajit/src/lj_emit_x86.h +116 -25
- data/lua-hooks/ext/luajit/src/lj_err.c +34 -13
- 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 +58 -49
- data/lua-hooks/ext/luajit/src/lj_ffrecord.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_frame.h +33 -6
- data/lua-hooks/ext/luajit/src/lj_func.c +4 -2
- data/lua-hooks/ext/luajit/src/lj_func.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_gc.c +16 -7
- data/lua-hooks/ext/luajit/src/lj_gc.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_gdbjit.c +31 -1
- data/lua-hooks/ext/luajit/src/lj_gdbjit.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_ir.c +69 -96
- data/lua-hooks/ext/luajit/src/lj_ir.h +29 -18
- data/lua-hooks/ext/luajit/src/lj_ircall.h +24 -30
- data/lua-hooks/ext/luajit/src/lj_iropt.h +9 -9
- data/lua-hooks/ext/luajit/src/lj_jit.h +67 -9
- data/lua-hooks/ext/luajit/src/lj_lex.c +1 -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 +11 -10
- data/lua-hooks/ext/luajit/src/lj_mcode.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_meta.c +1 -1
- 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 +7 -3
- data/lua-hooks/ext/luajit/src/lj_opt_dce.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_opt_fold.c +84 -17
- data/lua-hooks/ext/luajit/src/lj_opt_loop.c +1 -1
- data/lua-hooks/ext/luajit/src/lj_opt_mem.c +3 -3
- data/lua-hooks/ext/luajit/src/lj_opt_narrow.c +24 -22
- data/lua-hooks/ext/luajit/src/lj_opt_sink.c +11 -6
- data/lua-hooks/ext/luajit/src/lj_opt_split.c +11 -2
- data/lua-hooks/ext/luajit/src/lj_parse.c +9 -7
- 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 +201 -117
- data/lua-hooks/ext/luajit/src/lj_record.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_snap.c +72 -26
- data/lua-hooks/ext/luajit/src/lj_snap.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_state.c +6 -6
- data/lua-hooks/ext/luajit/src/lj_state.h +2 -2
- 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 +7 -3
- data/lua-hooks/ext/luajit/src/lj_strfmt.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_strfmt_num.c +4 -3
- 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 -2
- data/lua-hooks/ext/luajit/src/lj_tab.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_target.h +3 -3
- data/lua-hooks/ext/luajit/src/lj_target_arm.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_target_arm64.h +239 -7
- data/lua-hooks/ext/luajit/src/lj_target_mips.h +111 -22
- data/lua-hooks/ext/luajit/src/lj_target_ppc.h +1 -1
- data/lua-hooks/ext/luajit/src/lj_target_x86.h +21 -4
- data/lua-hooks/ext/luajit/src/lj_trace.c +63 -18
- data/lua-hooks/ext/luajit/src/lj_trace.h +2 -1
- data/lua-hooks/ext/luajit/src/lj_traceerr.h +1 -1
- 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 -1
- 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 +1 -1
- data/lua-hooks/ext/luajit/src/ljamalg.c +1 -1
- data/lua-hooks/ext/luajit/src/lua.h +9 -1
- data/lua-hooks/ext/luajit/src/luaconf.h +3 -7
- data/lua-hooks/ext/luajit/src/luajit.c +69 -54
- 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 +12 -4
- data/lua-hooks/ext/luajit/src/vm_arm.dasc +1 -1
- data/lua-hooks/ext/luajit/src/vm_arm64.dasc +255 -32
- data/lua-hooks/ext/luajit/src/vm_mips.dasc +26 -23
- data/lua-hooks/ext/luajit/src/vm_mips64.dasc +5062 -0
- data/lua-hooks/ext/luajit/src/vm_ppc.dasc +1 -1
- data/lua-hooks/ext/luajit/src/vm_x64.dasc +24 -25
- data/lua-hooks/ext/luajit/src/vm_x86.dasc +77 -4
- data/lua-hooks/libluahooks.darwin.a +0 -0
- data/lua-hooks/libluahooks.linux.a +0 -0
- data/lua-hooks/options.mk +1 -1
- metadata +37 -77
- data/lua-hooks/ext/all.c +0 -69
- data/lua-hooks/ext/libinjection/COPYING +0 -37
- data/lua-hooks/ext/libinjection/libinjection.h +0 -65
- data/lua-hooks/ext/libinjection/libinjection_html5.c +0 -847
- data/lua-hooks/ext/libinjection/libinjection_html5.h +0 -54
- data/lua-hooks/ext/libinjection/libinjection_sqli.c +0 -2301
- data/lua-hooks/ext/libinjection/libinjection_sqli.h +0 -295
- data/lua-hooks/ext/libinjection/libinjection_sqli_data.h +0 -9349
- data/lua-hooks/ext/libinjection/libinjection_xss.c +0 -531
- data/lua-hooks/ext/libinjection/libinjection_xss.h +0 -21
- data/lua-hooks/ext/libinjection/lualib.c +0 -145
- data/lua-hooks/ext/libinjection/module.mk +0 -5
- data/lua-hooks/ext/lpeg/HISTORY +0 -96
- data/lua-hooks/ext/lpeg/lpcap.c +0 -537
- data/lua-hooks/ext/lpeg/lpcap.h +0 -56
- data/lua-hooks/ext/lpeg/lpcode.c +0 -1014
- data/lua-hooks/ext/lpeg/lpcode.h +0 -40
- data/lua-hooks/ext/lpeg/lpeg-128.gif +0 -0
- data/lua-hooks/ext/lpeg/lpeg.html +0 -1445
- data/lua-hooks/ext/lpeg/lpprint.c +0 -244
- data/lua-hooks/ext/lpeg/lpprint.h +0 -36
- data/lua-hooks/ext/lpeg/lptree.c +0 -1303
- data/lua-hooks/ext/lpeg/lptree.h +0 -82
- data/lua-hooks/ext/lpeg/lptypes.h +0 -149
- data/lua-hooks/ext/lpeg/lpvm.c +0 -364
- data/lua-hooks/ext/lpeg/lpvm.h +0 -58
- data/lua-hooks/ext/lpeg/makefile +0 -55
- data/lua-hooks/ext/lpeg/module.mk +0 -6
- data/lua-hooks/ext/lpeg/re.html +0 -498
- data/lua-hooks/ext/lua-cmsgpack/.gitignore +0 -13
- data/lua-hooks/ext/lua-cmsgpack/CMakeLists.txt +0 -45
- data/lua-hooks/ext/lua-cmsgpack/README.md +0 -115
- data/lua-hooks/ext/lua-cmsgpack/lua_cmsgpack.c +0 -970
- data/lua-hooks/ext/lua-cmsgpack/module.mk +0 -2
- data/lua-hooks/ext/lua-cmsgpack/test.lua +0 -570
- data/lua-hooks/ext/lua-snapshot/LICENSE +0 -7
- data/lua-hooks/ext/lua-snapshot/Makefile +0 -12
- data/lua-hooks/ext/lua-snapshot/README.md +0 -18
- data/lua-hooks/ext/lua-snapshot/dump.lua +0 -15
- data/lua-hooks/ext/lua-snapshot/module.mk +0 -2
- data/lua-hooks/ext/lua-snapshot/snapshot.c +0 -462
- data/lua-hooks/ext/luautf8/README.md +0 -152
- data/lua-hooks/ext/luautf8/lutf8lib.c +0 -1274
- data/lua-hooks/ext/luautf8/module.mk +0 -2
- data/lua-hooks/ext/luautf8/unidata.h +0 -3064
- data/lua-hooks/ext/module.mk +0 -15
- data/lua-hooks/ext/modules.h +0 -17
- data/lua-hooks/ext/perf/luacpu.c +0 -114
- data/lua-hooks/ext/perf/lualoadavg.c +0 -40
- data/lua-hooks/ext/perf/luameminfo.c +0 -38
- data/lua-hooks/ext/perf/luaoslib.c +0 -203
- data/lua-hooks/ext/perf/module.mk +0 -5
- data/lua-hooks/ext/sha1/luasha1.c +0 -74
- data/lua-hooks/ext/sha1/module.mk +0 -5
- data/lua-hooks/ext/sha1/sha1.c +0 -145
- data/lua-hooks/ext/sha2/luasha256.c +0 -77
- data/lua-hooks/ext/sha2/module.mk +0 -5
- data/lua-hooks/ext/sha2/sha256.c +0 -196
- data/lua-hooks/ext/sysutils/lua_utils.c +0 -56
- data/lua-hooks/ext/sysutils/module.mk +0 -2
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<title>LuaJIT</title>
|
|
5
5
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
6
6
|
<meta name="Author" content="Mike Pall">
|
|
7
|
-
<meta name="Copyright" content="Copyright (C) 2005-
|
|
7
|
+
<meta name="Copyright" content="Copyright (C) 2005-2017, Mike Pall">
|
|
8
8
|
<meta name="Language" content="en">
|
|
9
9
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
|
10
10
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
|
@@ -152,7 +152,7 @@ Lua is a powerful, dynamic and light-weight programming language.
|
|
|
152
152
|
It may be embedded or used as a general-purpose, stand-alone language.
|
|
153
153
|
</p>
|
|
154
154
|
<p>
|
|
155
|
-
LuaJIT is Copyright © 2005-
|
|
155
|
+
LuaJIT is Copyright © 2005-2017 Mike Pall, released under the
|
|
156
156
|
<a href="http://www.opensource.org/licenses/mit-license.php"><span class="ext">»</span> MIT open source license</a>.
|
|
157
157
|
</p>
|
|
158
158
|
<p>
|
|
@@ -169,10 +169,10 @@ LuaJIT is Copyright © 2005-2016 Mike Pall, released under the
|
|
|
169
169
|
<tr><td>PS3</td><td>PS4</td><td>PS Vita</td><td>Xbox 360</td><td>Xbox One</td></tr>
|
|
170
170
|
</table>
|
|
171
171
|
<table class="feature compiler">
|
|
172
|
-
<tr><td>GCC</td><td>
|
|
172
|
+
<tr><td>GCC</td><td>Clang<br>LLVM</td><td>MSVC</td></tr>
|
|
173
173
|
</table>
|
|
174
174
|
<table class="feature cpu">
|
|
175
|
-
<tr><td>x86
|
|
175
|
+
<tr><td>x86<br>x64</td><td>ARM<br>ARM64</td><td>PPC</td><td>MIPS32<br>MIPS64</td></tr>
|
|
176
176
|
</table>
|
|
177
177
|
<table class="feature fcompat">
|
|
178
178
|
<tr><td>Lua 5.1<br>API+ABI</td><td>+ JIT</td><td>+ BitOp</td><td>+ FFI</td><td>Drop-in<br>DLL/.so</td></tr>
|
|
@@ -226,7 +226,7 @@ Please select a sub-topic in the navigation bar to learn more about LuaJIT.
|
|
|
226
226
|
</div>
|
|
227
227
|
<div id="foot">
|
|
228
228
|
<hr class="hide">
|
|
229
|
-
Copyright © 2005-
|
|
229
|
+
Copyright © 2005-2017 Mike Pall
|
|
230
230
|
<span class="noprint">
|
|
231
231
|
·
|
|
232
232
|
<a href="contact.html">Contact</a>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<title>Running LuaJIT</title>
|
|
5
5
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
6
6
|
<meta name="Author" content="Mike Pall">
|
|
7
|
-
<meta name="Copyright" content="Copyright (C) 2005-
|
|
7
|
+
<meta name="Copyright" content="Copyright (C) 2005-2017, Mike Pall">
|
|
8
8
|
<meta name="Language" content="en">
|
|
9
9
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
|
10
10
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
|
@@ -189,7 +189,7 @@ itself. For a description of their options and output format, please
|
|
|
189
189
|
read the comment block at the start of their source.
|
|
190
190
|
They can be found in the <tt>lib</tt> directory of the source
|
|
191
191
|
distribution or installed under the <tt>jit</tt> directory. By default
|
|
192
|
-
this is <tt>/usr/local/share/luajit-2.0.
|
|
192
|
+
this is <tt>/usr/local/share/luajit-2.0.5/jit</tt> on POSIX
|
|
193
193
|
systems.
|
|
194
194
|
</p>
|
|
195
195
|
|
|
@@ -299,7 +299,7 @@ Here are the parameters and their default settings:
|
|
|
299
299
|
</div>
|
|
300
300
|
<div id="foot">
|
|
301
301
|
<hr class="hide">
|
|
302
|
-
Copyright © 2005-
|
|
302
|
+
Copyright © 2005-2017 Mike Pall
|
|
303
303
|
<span class="noprint">
|
|
304
304
|
·
|
|
305
305
|
<a href="contact.html">Contact</a>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<title>Status</title>
|
|
5
5
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
6
6
|
<meta name="Author" content="Mike Pall">
|
|
7
|
-
<meta name="Copyright" content="Copyright (C) 2005-
|
|
7
|
+
<meta name="Copyright" content="Copyright (C) 2005-2017, Mike Pall">
|
|
8
8
|
<meta name="Language" content="en">
|
|
9
9
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
|
10
10
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
|
@@ -91,24 +91,29 @@ hooks for non-Lua functions) and shows slightly different behavior
|
|
|
91
91
|
in LuaJIT (no per-coroutine hooks, no tail call counting).
|
|
92
92
|
</li>
|
|
93
93
|
<li>
|
|
94
|
-
Some checks are missing in the JIT-compiled code for obscure situations
|
|
95
|
-
with <b>open upvalues aliasing</b> one of the SSA slots later on (or
|
|
96
|
-
vice versa). Bonus points, if you can find a real world test case for
|
|
97
|
-
this.
|
|
98
|
-
</li>
|
|
99
|
-
<li>
|
|
100
94
|
Currently some <b>out-of-memory</b> errors from <b>on-trace code</b> are not
|
|
101
95
|
handled correctly. The error may fall through an on-trace
|
|
102
96
|
<tt>pcall</tt> or it may be passed on to the function set with
|
|
103
97
|
<tt>lua_atpanic</tt> on x64. This issue will be fixed with the new
|
|
104
98
|
garbage collector.
|
|
105
99
|
</li>
|
|
100
|
+
<li>
|
|
101
|
+
LuaJIT on 64 bit systems provides a <b>limited range</b> of 47 bits for the
|
|
102
|
+
<b>legacy <tt>lightuserdata</tt></b> data type.
|
|
103
|
+
This is only relevant on x64 systems which use the negative part of the
|
|
104
|
+
virtual address space in user mode, e.g. Solaris/x64, and on ARM64 systems
|
|
105
|
+
configured with a 48 bit or 52 bit VA.
|
|
106
|
+
Avoid using <tt>lightuserdata</tt> to hold pointers that may point outside
|
|
107
|
+
of that range, e.g. variables on the stack. In general, avoid this data
|
|
108
|
+
type for new code and replace it with (much more performant) FFI bindings.
|
|
109
|
+
FFI cdata pointers can address the full 64 bit range.
|
|
110
|
+
</li>
|
|
106
111
|
</ul>
|
|
107
112
|
<br class="flush">
|
|
108
113
|
</div>
|
|
109
114
|
<div id="foot">
|
|
110
115
|
<hr class="hide">
|
|
111
|
-
Copyright © 2005-
|
|
116
|
+
Copyright © 2005-2017 Mike Pall
|
|
112
117
|
<span class="noprint">
|
|
113
118
|
·
|
|
114
119
|
<a href="contact.html">Contact</a>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
------------------------------------------------------------------------------
|
|
2
2
|
-- DynASM ARM module.
|
|
3
3
|
--
|
|
4
|
-
-- Copyright (C) 2005-
|
|
4
|
+
-- Copyright (C) 2005-2017 Mike Pall. All rights reserved.
|
|
5
5
|
-- See dynasm.lua for full copyright notice.
|
|
6
6
|
------------------------------------------------------------------------------
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
------------------------------------------------------------------------------
|
|
2
2
|
-- DynASM ARM64 module.
|
|
3
3
|
--
|
|
4
|
-
-- Copyright (C) 2005-
|
|
4
|
+
-- Copyright (C) 2005-2017 Mike Pall. All rights reserved.
|
|
5
5
|
-- See dynasm.lua for full copyright notice.
|
|
6
6
|
------------------------------------------------------------------------------
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
** DynASM MIPS encoding engine.
|
|
3
|
-
** Copyright (C) 2005-
|
|
3
|
+
** Copyright (C) 2005-2017 Mike Pall. All rights reserved.
|
|
4
4
|
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -21,7 +21,7 @@ enum {
|
|
|
21
21
|
/* The following actions need a buffer position. */
|
|
22
22
|
DASM_ALIGN, DASM_REL_LG, DASM_LABEL_LG,
|
|
23
23
|
/* The following actions also have an argument. */
|
|
24
|
-
DASM_REL_PC, DASM_LABEL_PC, DASM_IMM,
|
|
24
|
+
DASM_REL_PC, DASM_LABEL_PC, DASM_IMM, DASM_IMMS,
|
|
25
25
|
DASM__MAX
|
|
26
26
|
};
|
|
27
27
|
|
|
@@ -231,7 +231,7 @@ void dasm_put(Dst_DECL, int start, ...)
|
|
|
231
231
|
*pl = -pos; /* Label exists now. */
|
|
232
232
|
b[pos++] = ofs; /* Store pass1 offset estimate. */
|
|
233
233
|
break;
|
|
234
|
-
case DASM_IMM:
|
|
234
|
+
case DASM_IMM: case DASM_IMMS:
|
|
235
235
|
#ifdef DASM_CHECKS
|
|
236
236
|
CK((n & ((1<<((ins>>10)&31))-1)) == 0, RANGE_I);
|
|
237
237
|
#endif
|
|
@@ -299,7 +299,7 @@ int dasm_link(Dst_DECL, size_t *szp)
|
|
|
299
299
|
case DASM_ALIGN: ofs -= (b[pos++] + ofs) & (ins & 255); break;
|
|
300
300
|
case DASM_REL_LG: case DASM_REL_PC: pos++; break;
|
|
301
301
|
case DASM_LABEL_LG: case DASM_LABEL_PC: b[pos++] += ofs; break;
|
|
302
|
-
case DASM_IMM: pos++; break;
|
|
302
|
+
case DASM_IMM: case DASM_IMMS: pos++; break;
|
|
303
303
|
}
|
|
304
304
|
}
|
|
305
305
|
stop: (void)0;
|
|
@@ -356,7 +356,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|
|
356
356
|
if (ins & 2048)
|
|
357
357
|
n = n - (int)((char *)cp - base);
|
|
358
358
|
else
|
|
359
|
-
n = (n + (int)base) & 0x0fffffff;
|
|
359
|
+
n = (n + (int)(size_t)base) & 0x0fffffff;
|
|
360
360
|
patchrel:
|
|
361
361
|
CK((n & 3) == 0 &&
|
|
362
362
|
((n + ((ins & 2048) ? 0x00020000 : 0)) >>
|
|
@@ -367,6 +367,9 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|
|
367
367
|
ins &= 2047; if (ins >= 20) D->globals[ins-10] = (void *)(base + n);
|
|
368
368
|
break;
|
|
369
369
|
case DASM_LABEL_PC: break;
|
|
370
|
+
case DASM_IMMS:
|
|
371
|
+
cp[-1] |= ((n>>3) & 4); n &= 0x1f;
|
|
372
|
+
/* fallthrough */
|
|
370
373
|
case DASM_IMM:
|
|
371
374
|
cp[-1] |= (n & ((1<<((ins>>5)&31))-1)) << (ins&31);
|
|
372
375
|
break;
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
------------------------------------------------------------------------------
|
|
2
|
-
-- DynASM
|
|
2
|
+
-- DynASM MIPS32/MIPS64 module.
|
|
3
3
|
--
|
|
4
|
-
-- Copyright (C) 2005-
|
|
4
|
+
-- Copyright (C) 2005-2017 Mike Pall. All rights reserved.
|
|
5
5
|
-- See dynasm.lua for full copyright notice.
|
|
6
6
|
------------------------------------------------------------------------------
|
|
7
7
|
|
|
8
|
+
local mips64 = mips64
|
|
9
|
+
|
|
8
10
|
-- Module information:
|
|
9
11
|
local _info = {
|
|
10
|
-
arch = "mips",
|
|
11
|
-
description = "DynASM
|
|
12
|
+
arch = mips64 and "mips64" or "mips",
|
|
13
|
+
description = "DynASM MIPS32/MIPS64 module",
|
|
12
14
|
version = "1.4.0",
|
|
13
15
|
vernum = 10400,
|
|
14
|
-
release = "
|
|
16
|
+
release = "2016-05-24",
|
|
15
17
|
author = "Mike Pall",
|
|
16
18
|
license = "MIT",
|
|
17
19
|
}
|
|
@@ -27,7 +29,8 @@ local sub, format, byte, char = _s.sub, _s.format, _s.byte, _s.char
|
|
|
27
29
|
local match, gmatch = _s.match, _s.gmatch
|
|
28
30
|
local concat, sort = table.concat, table.sort
|
|
29
31
|
local bit = bit or require("bit")
|
|
30
|
-
local band, shl,
|
|
32
|
+
local band, shl, shr, sar = bit.band, bit.lshift, bit.rshift, bit.arshift
|
|
33
|
+
local tohex = bit.tohex
|
|
31
34
|
|
|
32
35
|
-- Inherited tables and callbacks.
|
|
33
36
|
local g_opt, g_arch
|
|
@@ -38,7 +41,7 @@ local wline, werror, wfatal, wwarn
|
|
|
38
41
|
local action_names = {
|
|
39
42
|
"STOP", "SECTION", "ESC", "REL_EXT",
|
|
40
43
|
"ALIGN", "REL_LG", "LABEL_LG",
|
|
41
|
-
"REL_PC", "LABEL_PC", "IMM",
|
|
44
|
+
"REL_PC", "LABEL_PC", "IMM", "IMMS",
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
-- Maximum number of section buffer positions for dasm_put().
|
|
@@ -251,6 +254,10 @@ local map_op = {
|
|
|
251
254
|
bnel_3 = "54000000STB",
|
|
252
255
|
blezl_2 = "58000000SB",
|
|
253
256
|
bgtzl_2 = "5c000000SB",
|
|
257
|
+
daddi_3 = mips64 and "60000000TSI",
|
|
258
|
+
daddiu_3 = mips64 and "64000000TSI",
|
|
259
|
+
ldl_2 = mips64 and "68000000TO",
|
|
260
|
+
ldr_2 = mips64 and "6c000000TO",
|
|
254
261
|
lb_2 = "80000000TO",
|
|
255
262
|
lh_2 = "84000000TO",
|
|
256
263
|
lwl_2 = "88000000TO",
|
|
@@ -258,23 +265,30 @@ local map_op = {
|
|
|
258
265
|
lbu_2 = "90000000TO",
|
|
259
266
|
lhu_2 = "94000000TO",
|
|
260
267
|
lwr_2 = "98000000TO",
|
|
268
|
+
lwu_2 = mips64 and "9c000000TO",
|
|
261
269
|
sb_2 = "a0000000TO",
|
|
262
270
|
sh_2 = "a4000000TO",
|
|
263
271
|
swl_2 = "a8000000TO",
|
|
264
272
|
sw_2 = "ac000000TO",
|
|
273
|
+
sdl_2 = mips64 and "b0000000TO",
|
|
274
|
+
sdr_2 = mips64 and "b1000000TO",
|
|
265
275
|
swr_2 = "b8000000TO",
|
|
266
276
|
cache_2 = "bc000000NO",
|
|
267
277
|
ll_2 = "c0000000TO",
|
|
268
278
|
lwc1_2 = "c4000000HO",
|
|
269
279
|
pref_2 = "cc000000NO",
|
|
270
280
|
ldc1_2 = "d4000000HO",
|
|
281
|
+
ld_2 = mips64 and "dc000000TO",
|
|
271
282
|
sc_2 = "e0000000TO",
|
|
272
283
|
swc1_2 = "e4000000HO",
|
|
284
|
+
scd_2 = mips64 and "f0000000TO",
|
|
273
285
|
sdc1_2 = "f4000000HO",
|
|
286
|
+
sd_2 = mips64 and "fc000000TO",
|
|
274
287
|
|
|
275
288
|
-- Opcode SPECIAL.
|
|
276
289
|
nop_0 = "00000000",
|
|
277
290
|
sll_3 = "00000000DTA",
|
|
291
|
+
sextw_2 = "00000000DT",
|
|
278
292
|
movf_2 = "00000001DS",
|
|
279
293
|
movf_3 = "00000001DSC",
|
|
280
294
|
movt_2 = "00010001DS",
|
|
@@ -285,6 +299,7 @@ local map_op = {
|
|
|
285
299
|
sllv_3 = "00000004DTS",
|
|
286
300
|
srlv_3 = "00000006DTS",
|
|
287
301
|
rotrv_3 = "00000046DTS",
|
|
302
|
+
drotrv_3 = mips64 and "00000056DTS",
|
|
288
303
|
srav_3 = "00000007DTS",
|
|
289
304
|
jr_1 = "00000008S",
|
|
290
305
|
jalr_1 = "0000f809S",
|
|
@@ -300,15 +315,22 @@ local map_op = {
|
|
|
300
315
|
mthi_1 = "00000011S",
|
|
301
316
|
mflo_1 = "00000012D",
|
|
302
317
|
mtlo_1 = "00000013S",
|
|
318
|
+
dsllv_3 = mips64 and "00000014DTS",
|
|
319
|
+
dsrlv_3 = mips64 and "00000016DTS",
|
|
320
|
+
dsrav_3 = mips64 and "00000017DTS",
|
|
303
321
|
mult_2 = "00000018ST",
|
|
304
322
|
multu_2 = "00000019ST",
|
|
305
323
|
div_2 = "0000001aST",
|
|
306
324
|
divu_2 = "0000001bST",
|
|
325
|
+
dmult_2 = mips64 and "0000001cST",
|
|
326
|
+
dmultu_2 = mips64 and "0000001dST",
|
|
327
|
+
ddiv_2 = mips64 and "0000001eST",
|
|
328
|
+
ddivu_2 = mips64 and "0000001fST",
|
|
307
329
|
add_3 = "00000020DST",
|
|
308
|
-
move_2 = "00000021DS",
|
|
330
|
+
move_2 = mips64 and "00000025DS" or "00000021DS",
|
|
309
331
|
addu_3 = "00000021DST",
|
|
310
332
|
sub_3 = "00000022DST",
|
|
311
|
-
negu_2 = "00000023DT",
|
|
333
|
+
negu_2 = mips64 and "0000002fDT" or "00000023DT",
|
|
312
334
|
subu_3 = "00000023DST",
|
|
313
335
|
and_3 = "00000024DST",
|
|
314
336
|
or_3 = "00000025DST",
|
|
@@ -317,6 +339,10 @@ local map_op = {
|
|
|
317
339
|
nor_3 = "00000027DST",
|
|
318
340
|
slt_3 = "0000002aDST",
|
|
319
341
|
sltu_3 = "0000002bDST",
|
|
342
|
+
dadd_3 = mips64 and "0000002cDST",
|
|
343
|
+
daddu_3 = mips64 and "0000002dDST",
|
|
344
|
+
dsub_3 = mips64 and "0000002eDST",
|
|
345
|
+
dsubu_3 = mips64 and "0000002fDST",
|
|
320
346
|
tge_2 = "00000030ST",
|
|
321
347
|
tge_3 = "00000030STZ",
|
|
322
348
|
tgeu_2 = "00000031ST",
|
|
@@ -329,6 +355,14 @@ local map_op = {
|
|
|
329
355
|
teq_3 = "00000034STZ",
|
|
330
356
|
tne_2 = "00000036ST",
|
|
331
357
|
tne_3 = "00000036STZ",
|
|
358
|
+
dsll_3 = mips64 and "00000038DTa",
|
|
359
|
+
dsrl_3 = mips64 and "0000003aDTa",
|
|
360
|
+
drotr_3 = mips64 and "0020003aDTa",
|
|
361
|
+
dsra_3 = mips64 and "0000003bDTa",
|
|
362
|
+
dsll32_3 = mips64 and "0000003cDTA",
|
|
363
|
+
dsrl32_3 = mips64 and "0000003eDTA",
|
|
364
|
+
drotr32_3 = mips64 and "0020003eDTA",
|
|
365
|
+
dsra32_3 = mips64 and "0000003fDTA",
|
|
332
366
|
|
|
333
367
|
-- Opcode REGIMM.
|
|
334
368
|
bltz_2 = "04000000SB",
|
|
@@ -356,13 +390,24 @@ local map_op = {
|
|
|
356
390
|
msubu_2 = "70000005ST",
|
|
357
391
|
clz_2 = "70000020DS=",
|
|
358
392
|
clo_2 = "70000021DS=",
|
|
393
|
+
dclz_2 = mips64 and "70000024DS=",
|
|
394
|
+
dclo_2 = mips64 and "70000025DS=",
|
|
359
395
|
sdbbp_0 = "7000003f",
|
|
360
396
|
sdbbp_1 = "7000003fY",
|
|
361
397
|
|
|
362
398
|
-- Opcode SPECIAL3.
|
|
363
399
|
ext_4 = "7c000000TSAM", -- Note: last arg is msbd = size-1
|
|
400
|
+
dextm_4 = mips64 and "7c000001TSAM", -- Args: pos | size-1-32
|
|
401
|
+
dextu_4 = mips64 and "7c000002TSAM", -- Args: pos-32 | size-1
|
|
402
|
+
dext_4 = mips64 and "7c000003TSAM", -- Args: pos | size-1
|
|
403
|
+
zextw_2 = mips64 and "7c00f803TS",
|
|
364
404
|
ins_4 = "7c000004TSAM", -- Note: last arg is msb = pos+size-1
|
|
405
|
+
dinsm_4 = mips64 and "7c000005TSAM", -- Args: pos | pos+size-33
|
|
406
|
+
dinsu_4 = mips64 and "7c000006TSAM", -- Args: pos-32 | pos+size-33
|
|
407
|
+
dins_4 = mips64 and "7c000007TSAM", -- Args: pos | pos+size-1
|
|
365
408
|
wsbh_2 = "7c0000a0DT",
|
|
409
|
+
dsbh_2 = mips64 and "7c0000a4DT",
|
|
410
|
+
dshd_2 = mips64 and "7c000164DT",
|
|
366
411
|
seb_2 = "7c000420DT",
|
|
367
412
|
seh_2 = "7c000620DT",
|
|
368
413
|
rdhwr_2 = "7c00003bTD",
|
|
@@ -370,8 +415,12 @@ local map_op = {
|
|
|
370
415
|
-- Opcode COP0.
|
|
371
416
|
mfc0_2 = "40000000TD",
|
|
372
417
|
mfc0_3 = "40000000TDW",
|
|
418
|
+
dmfc0_2 = mips64 and "40200000TD",
|
|
419
|
+
dmfc0_3 = mips64 and "40200000TDW",
|
|
373
420
|
mtc0_2 = "40800000TD",
|
|
374
421
|
mtc0_3 = "40800000TDW",
|
|
422
|
+
dmtc0_2 = mips64 and "40a00000TD",
|
|
423
|
+
dmtc0_3 = mips64 and "40a00000TDW",
|
|
375
424
|
rdpgpr_2 = "41400000DT",
|
|
376
425
|
di_0 = "41606000",
|
|
377
426
|
di_1 = "41606000T",
|
|
@@ -388,9 +437,11 @@ local map_op = {
|
|
|
388
437
|
|
|
389
438
|
-- Opcode COP1.
|
|
390
439
|
mfc1_2 = "44000000TG",
|
|
440
|
+
dmfc1_2 = mips64 and "44200000TG",
|
|
391
441
|
cfc1_2 = "44400000TG",
|
|
392
442
|
mfhc1_2 = "44600000TG",
|
|
393
443
|
mtc1_2 = "44800000TG",
|
|
444
|
+
dmtc1_2 = mips64 and "44a00000TG",
|
|
394
445
|
ctc1_2 = "44c00000TG",
|
|
395
446
|
mthc1_2 = "44e00000TG",
|
|
396
447
|
|
|
@@ -633,7 +684,7 @@ local function parse_fpr(expr)
|
|
|
633
684
|
werror("bad register name `"..expr.."'")
|
|
634
685
|
end
|
|
635
686
|
|
|
636
|
-
local function parse_imm(imm, bits, shift, scale, signed)
|
|
687
|
+
local function parse_imm(imm, bits, shift, scale, signed, action)
|
|
637
688
|
local n = tonumber(imm)
|
|
638
689
|
if n then
|
|
639
690
|
local m = sar(n, scale)
|
|
@@ -651,7 +702,8 @@ local function parse_imm(imm, bits, shift, scale, signed)
|
|
|
651
702
|
match(imm, "^([%w_]+):([rf][1-3]?[0-9])$") then
|
|
652
703
|
werror("expected immediate operand, got register")
|
|
653
704
|
else
|
|
654
|
-
waction("IMM",
|
|
705
|
+
waction(action or "IMM",
|
|
706
|
+
(signed and 32768 or 0)+shl(scale, 10)+shl(bits, 5)+shift, imm)
|
|
655
707
|
return 0
|
|
656
708
|
end
|
|
657
709
|
end
|
|
@@ -763,6 +815,9 @@ map_op[".template__"] = function(params, template, nparams)
|
|
|
763
815
|
n = n + 1
|
|
764
816
|
elseif p == "A" then
|
|
765
817
|
op = op + parse_imm(params[n], 5, 6, 0, false); n = n + 1
|
|
818
|
+
elseif p == "a" then
|
|
819
|
+
local m = parse_imm(params[n], 6, 6, 0, false, "IMMS"); n = n + 1
|
|
820
|
+
op = op + band(m, 0x7c0) + band(shr(m, 9), 4)
|
|
766
821
|
elseif p == "M" then
|
|
767
822
|
op = op + parse_imm(params[n], 5, 11, 0, false); n = n + 1
|
|
768
823
|
elseif p == "N" then
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
------------------------------------------------------------------------------
|
|
2
|
+
-- DynASM MIPS64 module.
|
|
3
|
+
--
|
|
4
|
+
-- Copyright (C) 2005-2017 Mike Pall. All rights reserved.
|
|
5
|
+
-- See dynasm.lua for full copyright notice.
|
|
6
|
+
------------------------------------------------------------------------------
|
|
7
|
+
-- This module just sets 64 bit mode for the combined MIPS/MIPS64 module.
|
|
8
|
+
-- All the interesting stuff is there.
|
|
9
|
+
------------------------------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
mips64 = true -- Using a global is an ugly, but effective solution.
|
|
12
|
+
return require("dasm_mips")
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
------------------------------------------------------------------------------
|
|
2
2
|
-- DynASM PPC/PPC64 module.
|
|
3
3
|
--
|
|
4
|
-
-- Copyright (C) 2005-
|
|
4
|
+
-- Copyright (C) 2005-2017 Mike Pall. All rights reserved.
|
|
5
5
|
-- See dynasm.lua for full copyright notice.
|
|
6
6
|
--
|
|
7
7
|
-- Support for various extensions contributed by Caio Souza Oliveira.
|