immunio 0.15.4 → 0.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +0 -27
- data/ext/immunio/Rakefile +9 -0
- data/lib/immunio/plugins/active_record.rb +1 -1
- data/lib/immunio/plugins/active_record_relation.rb +1 -1
- data/lib/immunio/plugins/environment_reporter.rb +20 -0
- data/lib/immunio/rufus_lua_ext/ref.rb +1 -3
- data/lib/immunio/version.rb +1 -1
- data/lib/immunio/vm.rb +1 -2
- data/lua-hooks/Makefile +97 -0
- data/lua-hooks/ext/all.c +41 -52
- data/lua-hooks/ext/all.o +0 -0
- data/lua-hooks/ext/libinjection/libinjection_html5.o +0 -0
- data/lua-hooks/ext/libinjection/libinjection_sqli.o +0 -0
- data/lua-hooks/ext/libinjection/libinjection_xss.o +0 -0
- data/lua-hooks/ext/libinjection/lualib.c +2 -2
- data/lua-hooks/ext/lpeg/lpcap.c +2 -2
- data/lua-hooks/ext/lpeg/lpcap.o +0 -0
- data/lua-hooks/ext/lpeg/lpcode.c +2 -2
- data/lua-hooks/ext/lpeg/lpcode.h +1 -1
- data/lua-hooks/ext/lpeg/lpcode.o +0 -0
- data/lua-hooks/ext/lpeg/lpprint.o +0 -0
- data/lua-hooks/ext/lpeg/lptree.c +2 -2
- data/lua-hooks/ext/lpeg/lptypes.h +1 -1
- data/lua-hooks/ext/lpeg/lpvm.c +2 -2
- data/lua-hooks/ext/lpeg/lpvm.o +0 -0
- data/lua-hooks/ext/lua-cmsgpack/lua_cmsgpack.c +16 -3
- data/lua-hooks/ext/lua-snapshot/snapshot.c +14 -7
- data/lua-hooks/ext/luajit/COPYRIGHT +56 -0
- data/lua-hooks/ext/luajit/Makefile +159 -0
- data/lua-hooks/ext/luajit/README +16 -0
- data/lua-hooks/ext/luajit/doc/bluequad-print.css +166 -0
- data/lua-hooks/ext/luajit/doc/bluequad.css +325 -0
- data/lua-hooks/ext/luajit/doc/changes.html +804 -0
- data/lua-hooks/ext/luajit/doc/contact.html +104 -0
- data/lua-hooks/ext/luajit/doc/ext_c_api.html +189 -0
- data/lua-hooks/ext/luajit/doc/ext_ffi.html +332 -0
- data/lua-hooks/ext/luajit/doc/ext_ffi_api.html +570 -0
- data/lua-hooks/ext/luajit/doc/ext_ffi_semantics.html +1261 -0
- data/lua-hooks/ext/luajit/doc/ext_ffi_tutorial.html +603 -0
- data/lua-hooks/ext/luajit/doc/ext_jit.html +201 -0
- data/lua-hooks/ext/luajit/doc/ext_profiler.html +365 -0
- data/lua-hooks/ext/luajit/doc/extensions.html +448 -0
- data/lua-hooks/ext/luajit/doc/faq.html +186 -0
- data/lua-hooks/ext/luajit/doc/img/contact.png +0 -0
- data/lua-hooks/ext/luajit/doc/install.html +659 -0
- data/lua-hooks/ext/luajit/doc/luajit.html +236 -0
- data/lua-hooks/ext/luajit/doc/running.html +309 -0
- data/lua-hooks/ext/luajit/doc/status.html +118 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_arm.h +456 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_arm.lua +1125 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_arm64.h +518 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_arm64.lua +1166 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_mips.h +416 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_mips.lua +953 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_ppc.h +419 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_ppc.lua +1919 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_proto.h +83 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_x64.lua +12 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_x86.h +471 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_x86.lua +1945 -0
- data/lua-hooks/ext/luajit/dynasm/dynasm.lua +1094 -0
- data/lua-hooks/ext/luajit/etc/luajit.1 +88 -0
- data/lua-hooks/ext/luajit/etc/luajit.pc +25 -0
- data/lua-hooks/ext/luajit/src/Makefile +697 -0
- data/lua-hooks/ext/luajit/src/Makefile.dep +244 -0
- data/lua-hooks/ext/luajit/src/host/README +4 -0
- data/lua-hooks/ext/luajit/src/host/buildvm +0 -0
- data/lua-hooks/ext/luajit/src/host/buildvm.c +518 -0
- data/lua-hooks/ext/luajit/src/host/buildvm.h +105 -0
- data/lua-hooks/ext/luajit/src/host/buildvm.o +0 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_arch.h +7449 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_asm.c +345 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_asm.o +0 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_fold.c +229 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_fold.o +0 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_lib.c +457 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_lib.o +0 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_libbc.h +45 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_peobj.c +368 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_peobj.o +0 -0
- data/lua-hooks/ext/luajit/src/host/genlibbc.lua +197 -0
- data/lua-hooks/ext/luajit/src/host/genminilua.lua +428 -0
- data/lua-hooks/ext/luajit/src/host/minilua +0 -0
- data/lua-hooks/ext/luajit/src/host/minilua.c +7770 -0
- data/lua-hooks/ext/luajit/src/host/minilua.o +0 -0
- data/lua-hooks/ext/luajit/src/jit/bc.lua +190 -0
- data/lua-hooks/ext/luajit/src/jit/bcsave.lua +661 -0
- data/lua-hooks/ext/luajit/src/jit/dis_arm.lua +689 -0
- data/lua-hooks/ext/luajit/src/jit/dis_mips.lua +428 -0
- data/lua-hooks/ext/luajit/src/jit/dis_mipsel.lua +17 -0
- data/lua-hooks/ext/luajit/src/jit/dis_ppc.lua +591 -0
- data/lua-hooks/ext/luajit/src/jit/dis_x64.lua +17 -0
- data/lua-hooks/ext/luajit/src/jit/dis_x86.lua +838 -0
- data/lua-hooks/ext/luajit/src/jit/dump.lua +706 -0
- data/lua-hooks/ext/luajit/src/jit/p.lua +310 -0
- data/lua-hooks/ext/luajit/src/jit/v.lua +170 -0
- data/lua-hooks/ext/luajit/src/jit/vmdef.lua +362 -0
- data/lua-hooks/ext/luajit/src/jit/zone.lua +45 -0
- data/lua-hooks/ext/{lua → luajit/src}/lauxlib.h +10 -17
- data/lua-hooks/ext/luajit/src/lib_aux.c +356 -0
- data/lua-hooks/ext/luajit/src/lib_aux.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_aux_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_base.c +664 -0
- data/lua-hooks/ext/luajit/src/lib_base.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_base_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_bit.c +180 -0
- data/lua-hooks/ext/luajit/src/lib_bit.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_bit_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_debug.c +405 -0
- data/lua-hooks/ext/luajit/src/lib_debug.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_debug_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_ffi.c +872 -0
- data/lua-hooks/ext/luajit/src/lib_ffi.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_ffi_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_init.c +55 -0
- data/lua-hooks/ext/luajit/src/lib_init.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_init_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_io.c +541 -0
- data/lua-hooks/ext/luajit/src/lib_io.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_io_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_jit.c +767 -0
- data/lua-hooks/ext/luajit/src/lib_jit.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_jit_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_math.c +230 -0
- data/lua-hooks/ext/luajit/src/lib_math.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_math_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_os.c +292 -0
- data/lua-hooks/ext/luajit/src/lib_os.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_os_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_package.c +610 -0
- data/lua-hooks/ext/luajit/src/lib_package.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_package_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_string.c +752 -0
- data/lua-hooks/ext/luajit/src/lib_string.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_string_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_table.c +307 -0
- data/lua-hooks/ext/luajit/src/lib_table.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_table_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/libluajit.a +0 -0
- data/lua-hooks/ext/luajit/src/libluajit.so +0 -0
- data/lua-hooks/ext/luajit/src/lj.supp +26 -0
- data/lua-hooks/ext/luajit/src/lj_alloc.c +1398 -0
- data/lua-hooks/ext/luajit/src/lj_alloc.h +17 -0
- data/lua-hooks/ext/luajit/src/lj_alloc.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_alloc_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_api.c +1210 -0
- data/lua-hooks/ext/luajit/src/lj_api.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_api_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_arch.h +509 -0
- data/lua-hooks/ext/luajit/src/lj_asm.c +2278 -0
- data/lua-hooks/ext/luajit/src/lj_asm.h +17 -0
- data/lua-hooks/ext/luajit/src/lj_asm.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_asm_arm.h +2217 -0
- data/lua-hooks/ext/luajit/src/lj_asm_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_asm_mips.h +1833 -0
- data/lua-hooks/ext/luajit/src/lj_asm_ppc.h +2015 -0
- data/lua-hooks/ext/luajit/src/lj_asm_x86.h +2634 -0
- data/lua-hooks/ext/luajit/src/lj_bc.c +14 -0
- data/lua-hooks/ext/luajit/src/lj_bc.h +265 -0
- data/lua-hooks/ext/luajit/src/lj_bc.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_bc_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_bcdef.h +220 -0
- data/lua-hooks/ext/luajit/src/lj_bcdump.h +68 -0
- data/lua-hooks/ext/luajit/src/lj_bcread.c +457 -0
- data/lua-hooks/ext/luajit/src/lj_bcread.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_bcread_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_bcwrite.c +361 -0
- data/lua-hooks/ext/luajit/src/lj_bcwrite.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_bcwrite_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_buf.c +234 -0
- data/lua-hooks/ext/luajit/src/lj_buf.h +105 -0
- data/lua-hooks/ext/luajit/src/lj_buf.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_buf_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_carith.c +429 -0
- data/lua-hooks/ext/luajit/src/lj_carith.h +37 -0
- data/lua-hooks/ext/luajit/src/lj_carith.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_carith_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ccall.c +984 -0
- data/lua-hooks/ext/luajit/src/lj_ccall.h +178 -0
- data/lua-hooks/ext/luajit/src/lj_ccall.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ccall_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ccallback.c +712 -0
- data/lua-hooks/ext/luajit/src/lj_ccallback.h +25 -0
- data/lua-hooks/ext/luajit/src/lj_ccallback.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ccallback_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_cconv.c +752 -0
- data/lua-hooks/ext/luajit/src/lj_cconv.h +70 -0
- data/lua-hooks/ext/luajit/src/lj_cconv.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_cconv_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_cdata.c +288 -0
- data/lua-hooks/ext/luajit/src/lj_cdata.h +76 -0
- data/lua-hooks/ext/luajit/src/lj_cdata.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_cdata_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_char.c +43 -0
- data/lua-hooks/ext/luajit/src/lj_char.h +42 -0
- data/lua-hooks/ext/luajit/src/lj_char.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_char_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_clib.c +418 -0
- data/lua-hooks/ext/luajit/src/lj_clib.h +29 -0
- data/lua-hooks/ext/luajit/src/lj_clib.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_clib_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_cparse.c +1862 -0
- data/lua-hooks/ext/luajit/src/lj_cparse.h +65 -0
- data/lua-hooks/ext/luajit/src/lj_cparse.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_cparse_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_crecord.c +1834 -0
- data/lua-hooks/ext/luajit/src/lj_crecord.h +38 -0
- data/lua-hooks/ext/luajit/src/lj_crecord.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_crecord_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ctype.c +635 -0
- data/lua-hooks/ext/luajit/src/lj_ctype.h +461 -0
- data/lua-hooks/ext/luajit/src/lj_ctype.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ctype_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_debug.c +699 -0
- data/lua-hooks/ext/luajit/src/lj_debug.h +65 -0
- data/lua-hooks/ext/luajit/src/lj_debug.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_debug_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_def.h +365 -0
- data/lua-hooks/ext/luajit/src/lj_dispatch.c +557 -0
- data/lua-hooks/ext/luajit/src/lj_dispatch.h +138 -0
- data/lua-hooks/ext/luajit/src/lj_dispatch.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_dispatch_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_emit_arm.h +356 -0
- data/lua-hooks/ext/luajit/src/lj_emit_mips.h +211 -0
- data/lua-hooks/ext/luajit/src/lj_emit_ppc.h +238 -0
- data/lua-hooks/ext/luajit/src/lj_emit_x86.h +462 -0
- data/lua-hooks/ext/luajit/src/lj_err.c +794 -0
- data/lua-hooks/ext/luajit/src/lj_err.h +41 -0
- data/lua-hooks/ext/luajit/src/lj_err.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_err_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_errmsg.h +190 -0
- data/lua-hooks/ext/luajit/src/lj_ff.h +18 -0
- data/lua-hooks/ext/luajit/src/lj_ffdef.h +209 -0
- data/lua-hooks/ext/luajit/src/lj_ffrecord.c +1247 -0
- data/lua-hooks/ext/luajit/src/lj_ffrecord.h +24 -0
- data/lua-hooks/ext/luajit/src/lj_ffrecord.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ffrecord_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_folddef.h +1138 -0
- data/lua-hooks/ext/luajit/src/lj_frame.h +259 -0
- data/lua-hooks/ext/luajit/src/lj_func.c +185 -0
- data/lua-hooks/ext/luajit/src/lj_func.h +24 -0
- data/lua-hooks/ext/luajit/src/lj_func.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_func_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_gc.c +845 -0
- data/lua-hooks/ext/luajit/src/lj_gc.h +134 -0
- data/lua-hooks/ext/luajit/src/lj_gc.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_gc_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_gdbjit.c +787 -0
- data/lua-hooks/ext/luajit/src/lj_gdbjit.h +22 -0
- data/lua-hooks/ext/luajit/src/lj_gdbjit.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_gdbjit_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ir.c +505 -0
- data/lua-hooks/ext/luajit/src/lj_ir.h +577 -0
- data/lua-hooks/ext/luajit/src/lj_ir.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ir_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ircall.h +321 -0
- data/lua-hooks/ext/luajit/src/lj_iropt.h +161 -0
- data/lua-hooks/ext/luajit/src/lj_jit.h +440 -0
- data/lua-hooks/ext/luajit/src/lj_lex.c +482 -0
- data/lua-hooks/ext/luajit/src/lj_lex.h +86 -0
- data/lua-hooks/ext/luajit/src/lj_lex.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_lex_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_lib.c +303 -0
- data/lua-hooks/ext/luajit/src/lj_lib.h +115 -0
- data/lua-hooks/ext/luajit/src/lj_lib.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_lib_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_libdef.h +414 -0
- data/lua-hooks/ext/luajit/src/lj_load.c +168 -0
- data/lua-hooks/ext/luajit/src/lj_load.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_load_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_mcode.c +386 -0
- data/lua-hooks/ext/luajit/src/lj_mcode.h +30 -0
- data/lua-hooks/ext/luajit/src/lj_mcode.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_mcode_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_meta.c +477 -0
- data/lua-hooks/ext/luajit/src/lj_meta.h +38 -0
- data/lua-hooks/ext/luajit/src/lj_meta.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_meta_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_obj.c +50 -0
- data/lua-hooks/ext/luajit/src/lj_obj.h +976 -0
- data/lua-hooks/ext/luajit/src/lj_obj.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_obj_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_dce.c +78 -0
- data/lua-hooks/ext/luajit/src/lj_opt_dce.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_dce_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_fold.c +2488 -0
- data/lua-hooks/ext/luajit/src/lj_opt_fold.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_fold_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_loop.c +449 -0
- data/lua-hooks/ext/luajit/src/lj_opt_loop.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_loop_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_mem.c +935 -0
- data/lua-hooks/ext/luajit/src/lj_opt_mem.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_mem_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_narrow.c +652 -0
- data/lua-hooks/ext/luajit/src/lj_opt_narrow.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_narrow_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_sink.c +245 -0
- data/lua-hooks/ext/luajit/src/lj_opt_sink.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_sink_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_split.c +856 -0
- data/lua-hooks/ext/luajit/src/lj_opt_split.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_split_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_parse.c +2725 -0
- data/lua-hooks/ext/luajit/src/lj_parse.h +18 -0
- data/lua-hooks/ext/luajit/src/lj_parse.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_parse_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_profile.c +368 -0
- data/lua-hooks/ext/luajit/src/lj_profile.h +21 -0
- data/lua-hooks/ext/luajit/src/lj_profile.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_profile_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_recdef.h +270 -0
- data/lua-hooks/ext/luajit/src/lj_record.c +2554 -0
- data/lua-hooks/ext/luajit/src/lj_record.h +45 -0
- data/lua-hooks/ext/luajit/src/lj_record.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_record_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_snap.c +870 -0
- data/lua-hooks/ext/luajit/src/lj_snap.h +34 -0
- data/lua-hooks/ext/luajit/src/lj_snap.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_snap_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_state.c +300 -0
- data/lua-hooks/ext/luajit/src/lj_state.h +35 -0
- data/lua-hooks/ext/luajit/src/lj_state.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_state_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_str.c +197 -0
- data/lua-hooks/ext/luajit/src/lj_str.h +27 -0
- data/lua-hooks/ext/luajit/src/lj_str.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_str_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_strfmt.c +554 -0
- data/lua-hooks/ext/luajit/src/lj_strfmt.h +125 -0
- data/lua-hooks/ext/luajit/src/lj_strfmt.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_strfmt_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_strscan.c +547 -0
- data/lua-hooks/ext/luajit/src/lj_strscan.h +39 -0
- data/lua-hooks/ext/luajit/src/lj_strscan.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_strscan_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_tab.c +666 -0
- data/lua-hooks/ext/luajit/src/lj_tab.h +73 -0
- data/lua-hooks/ext/luajit/src/lj_tab.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_tab_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_target.h +164 -0
- data/lua-hooks/ext/luajit/src/lj_target_arm.h +270 -0
- data/lua-hooks/ext/luajit/src/lj_target_arm64.h +97 -0
- data/lua-hooks/ext/luajit/src/lj_target_mips.h +260 -0
- data/lua-hooks/ext/luajit/src/lj_target_ppc.h +280 -0
- data/lua-hooks/ext/luajit/src/lj_target_x86.h +345 -0
- data/lua-hooks/ext/luajit/src/lj_trace.c +859 -0
- data/lua-hooks/ext/luajit/src/lj_trace.h +54 -0
- data/lua-hooks/ext/luajit/src/lj_trace.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_trace_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_traceerr.h +63 -0
- data/lua-hooks/ext/luajit/src/lj_udata.c +34 -0
- data/lua-hooks/ext/luajit/src/lj_udata.h +14 -0
- data/lua-hooks/ext/luajit/src/lj_udata.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_udata_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_vm.S +2730 -0
- data/lua-hooks/ext/luajit/src/lj_vm.h +114 -0
- data/lua-hooks/ext/luajit/src/lj_vm.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_vm_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_vmevent.c +58 -0
- data/lua-hooks/ext/luajit/src/lj_vmevent.h +59 -0
- data/lua-hooks/ext/luajit/src/lj_vmevent.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_vmevent_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_vmmath.c +152 -0
- data/lua-hooks/ext/luajit/src/lj_vmmath.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_vmmath_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/ljamalg.c +96 -0
- data/lua-hooks/ext/{lua → luajit/src}/lua.h +12 -7
- data/lua-hooks/ext/luajit/src/lua.hpp +9 -0
- data/lua-hooks/ext/luajit/src/luaconf.h +156 -0
- data/lua-hooks/ext/luajit/src/luajit +0 -0
- data/lua-hooks/ext/luajit/src/luajit.c +570 -0
- data/lua-hooks/ext/luajit/src/luajit.h +79 -0
- data/lua-hooks/ext/luajit/src/luajit.o +0 -0
- data/lua-hooks/ext/luajit/src/lualib.h +43 -0
- data/lua-hooks/ext/luajit/src/msvcbuild.bat +114 -0
- data/lua-hooks/ext/luajit/src/ps4build.bat +103 -0
- data/lua-hooks/ext/luajit/src/psvitabuild.bat +93 -0
- data/lua-hooks/ext/luajit/src/vm_arm.dasc +4585 -0
- data/lua-hooks/ext/luajit/src/vm_arm64.dasc +3764 -0
- data/lua-hooks/ext/luajit/src/vm_mips.dasc +4355 -0
- data/lua-hooks/ext/luajit/src/vm_ppc.dasc +5252 -0
- data/lua-hooks/ext/luajit/src/vm_x64.dasc +4902 -0
- data/lua-hooks/ext/luajit/src/vm_x86.dasc +5710 -0
- data/lua-hooks/ext/luajit/src/xb1build.bat +101 -0
- data/lua-hooks/ext/luajit/src/xedkbuild.bat +92 -0
- data/lua-hooks/ext/luautf8/lutf8lib.c +3 -3
- data/lua-hooks/lib/boot.lua +37 -2
- metadata +372 -69
- data/lua-hooks/ext/bitop/README +0 -22
- data/lua-hooks/ext/bitop/bit.c +0 -189
- data/lua-hooks/ext/extconf.rb +0 -38
- data/lua-hooks/ext/lua/COPYRIGHT +0 -34
- data/lua-hooks/ext/lua/lapi.c +0 -1087
- data/lua-hooks/ext/lua/lapi.h +0 -16
- data/lua-hooks/ext/lua/lauxlib.c +0 -652
- data/lua-hooks/ext/lua/lbaselib.c +0 -659
- data/lua-hooks/ext/lua/lcode.c +0 -831
- data/lua-hooks/ext/lua/lcode.h +0 -76
- data/lua-hooks/ext/lua/ldblib.c +0 -398
- data/lua-hooks/ext/lua/ldebug.c +0 -638
- data/lua-hooks/ext/lua/ldebug.h +0 -33
- data/lua-hooks/ext/lua/ldo.c +0 -519
- data/lua-hooks/ext/lua/ldo.h +0 -57
- data/lua-hooks/ext/lua/ldump.c +0 -164
- data/lua-hooks/ext/lua/lfunc.c +0 -174
- data/lua-hooks/ext/lua/lfunc.h +0 -34
- data/lua-hooks/ext/lua/lgc.c +0 -710
- data/lua-hooks/ext/lua/lgc.h +0 -110
- data/lua-hooks/ext/lua/linit.c +0 -38
- data/lua-hooks/ext/lua/liolib.c +0 -556
- data/lua-hooks/ext/lua/llex.c +0 -463
- data/lua-hooks/ext/lua/llex.h +0 -81
- data/lua-hooks/ext/lua/llimits.h +0 -128
- data/lua-hooks/ext/lua/lmathlib.c +0 -263
- data/lua-hooks/ext/lua/lmem.c +0 -86
- data/lua-hooks/ext/lua/lmem.h +0 -49
- data/lua-hooks/ext/lua/loadlib.c +0 -705
- data/lua-hooks/ext/lua/loadlib_rel.c +0 -760
- data/lua-hooks/ext/lua/lobject.c +0 -214
- data/lua-hooks/ext/lua/lobject.h +0 -381
- data/lua-hooks/ext/lua/lopcodes.c +0 -102
- data/lua-hooks/ext/lua/lopcodes.h +0 -268
- data/lua-hooks/ext/lua/loslib.c +0 -243
- data/lua-hooks/ext/lua/lparser.c +0 -1339
- data/lua-hooks/ext/lua/lparser.h +0 -82
- data/lua-hooks/ext/lua/lstate.c +0 -214
- data/lua-hooks/ext/lua/lstate.h +0 -169
- data/lua-hooks/ext/lua/lstring.c +0 -111
- data/lua-hooks/ext/lua/lstring.h +0 -31
- data/lua-hooks/ext/lua/lstrlib.c +0 -871
- data/lua-hooks/ext/lua/ltable.c +0 -588
- data/lua-hooks/ext/lua/ltable.h +0 -40
- data/lua-hooks/ext/lua/ltablib.c +0 -287
- data/lua-hooks/ext/lua/ltm.c +0 -75
- data/lua-hooks/ext/lua/ltm.h +0 -54
- data/lua-hooks/ext/lua/lua.c +0 -392
- data/lua-hooks/ext/lua/lua.def +0 -131
- data/lua-hooks/ext/lua/lua.rc +0 -28
- data/lua-hooks/ext/lua/lua_dll.rc +0 -26
- data/lua-hooks/ext/lua/luac.c +0 -200
- data/lua-hooks/ext/lua/luac.rc +0 -1
- data/lua-hooks/ext/lua/luaconf.h +0 -763
- data/lua-hooks/ext/lua/luaconf.h.in +0 -724
- data/lua-hooks/ext/lua/luaconf.h.orig +0 -763
- data/lua-hooks/ext/lua/lualib.h +0 -53
- data/lua-hooks/ext/lua/lundump.c +0 -227
- data/lua-hooks/ext/lua/lundump.h +0 -36
- data/lua-hooks/ext/lua/lvm.c +0 -767
- data/lua-hooks/ext/lua/lvm.h +0 -36
- data/lua-hooks/ext/lua/lzio.c +0 -82
- data/lua-hooks/ext/lua/lzio.h +0 -67
- data/lua-hooks/ext/lua/print.c +0 -227
@@ -1,102 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
** $Id: lopcodes.c,v 1.37.1.1 2007/12/27 13:02:25 roberto Exp $
|
3
|
-
** See Copyright Notice in lua.h
|
4
|
-
*/
|
5
|
-
|
6
|
-
|
7
|
-
#define lopcodes_c
|
8
|
-
#define LUA_CORE
|
9
|
-
|
10
|
-
|
11
|
-
#include "lopcodes.h"
|
12
|
-
|
13
|
-
|
14
|
-
/* ORDER OP */
|
15
|
-
|
16
|
-
const char *const luaP_opnames[NUM_OPCODES+1] = {
|
17
|
-
"MOVE",
|
18
|
-
"LOADK",
|
19
|
-
"LOADBOOL",
|
20
|
-
"LOADNIL",
|
21
|
-
"GETUPVAL",
|
22
|
-
"GETGLOBAL",
|
23
|
-
"GETTABLE",
|
24
|
-
"SETGLOBAL",
|
25
|
-
"SETUPVAL",
|
26
|
-
"SETTABLE",
|
27
|
-
"NEWTABLE",
|
28
|
-
"SELF",
|
29
|
-
"ADD",
|
30
|
-
"SUB",
|
31
|
-
"MUL",
|
32
|
-
"DIV",
|
33
|
-
"MOD",
|
34
|
-
"POW",
|
35
|
-
"UNM",
|
36
|
-
"NOT",
|
37
|
-
"LEN",
|
38
|
-
"CONCAT",
|
39
|
-
"JMP",
|
40
|
-
"EQ",
|
41
|
-
"LT",
|
42
|
-
"LE",
|
43
|
-
"TEST",
|
44
|
-
"TESTSET",
|
45
|
-
"CALL",
|
46
|
-
"TAILCALL",
|
47
|
-
"RETURN",
|
48
|
-
"FORLOOP",
|
49
|
-
"FORPREP",
|
50
|
-
"TFORLOOP",
|
51
|
-
"SETLIST",
|
52
|
-
"CLOSE",
|
53
|
-
"CLOSURE",
|
54
|
-
"VARARG",
|
55
|
-
NULL
|
56
|
-
};
|
57
|
-
|
58
|
-
|
59
|
-
#define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m))
|
60
|
-
|
61
|
-
const lu_byte luaP_opmodes[NUM_OPCODES] = {
|
62
|
-
/* T A B C mode opcode */
|
63
|
-
opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_MOVE */
|
64
|
-
,opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_LOADK */
|
65
|
-
,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_LOADBOOL */
|
66
|
-
,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LOADNIL */
|
67
|
-
,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_GETUPVAL */
|
68
|
-
,opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_GETGLOBAL */
|
69
|
-
,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_GETTABLE */
|
70
|
-
,opmode(0, 0, OpArgK, OpArgN, iABx) /* OP_SETGLOBAL */
|
71
|
-
,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_SETUPVAL */
|
72
|
-
,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABLE */
|
73
|
-
,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_NEWTABLE */
|
74
|
-
,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_SELF */
|
75
|
-
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_ADD */
|
76
|
-
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SUB */
|
77
|
-
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MUL */
|
78
|
-
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_DIV */
|
79
|
-
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MOD */
|
80
|
-
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_POW */
|
81
|
-
,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_UNM */
|
82
|
-
,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */
|
83
|
-
,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */
|
84
|
-
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_CONCAT */
|
85
|
-
,opmode(0, 0, OpArgR, OpArgN, iAsBx) /* OP_JMP */
|
86
|
-
,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_EQ */
|
87
|
-
,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LT */
|
88
|
-
,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LE */
|
89
|
-
,opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TEST */
|
90
|
-
,opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TESTSET */
|
91
|
-
,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_CALL */
|
92
|
-
,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_TAILCALL */
|
93
|
-
,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_RETURN */
|
94
|
-
,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORLOOP */
|
95
|
-
,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORPREP */
|
96
|
-
,opmode(1, 0, OpArgN, OpArgU, iABC) /* OP_TFORLOOP */
|
97
|
-
,opmode(0, 0, OpArgU, OpArgU, iABC) /* OP_SETLIST */
|
98
|
-
,opmode(0, 0, OpArgN, OpArgN, iABC) /* OP_CLOSE */
|
99
|
-
,opmode(0, 1, OpArgU, OpArgN, iABx) /* OP_CLOSURE */
|
100
|
-
,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_VARARG */
|
101
|
-
};
|
102
|
-
|
@@ -1,268 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
** $Id: lopcodes.h,v 1.125.1.1 2007/12/27 13:02:25 roberto Exp $
|
3
|
-
** Opcodes for Lua virtual machine
|
4
|
-
** See Copyright Notice in lua.h
|
5
|
-
*/
|
6
|
-
|
7
|
-
#ifndef lopcodes_h
|
8
|
-
#define lopcodes_h
|
9
|
-
|
10
|
-
#include "llimits.h"
|
11
|
-
|
12
|
-
|
13
|
-
/*===========================================================================
|
14
|
-
We assume that instructions are unsigned numbers.
|
15
|
-
All instructions have an opcode in the first 6 bits.
|
16
|
-
Instructions can have the following fields:
|
17
|
-
`A' : 8 bits
|
18
|
-
`B' : 9 bits
|
19
|
-
`C' : 9 bits
|
20
|
-
`Bx' : 18 bits (`B' and `C' together)
|
21
|
-
`sBx' : signed Bx
|
22
|
-
|
23
|
-
A signed argument is represented in excess K; that is, the number
|
24
|
-
value is the unsigned value minus K. K is exactly the maximum value
|
25
|
-
for that argument (so that -max is represented by 0, and +max is
|
26
|
-
represented by 2*max), which is half the maximum for the corresponding
|
27
|
-
unsigned argument.
|
28
|
-
===========================================================================*/
|
29
|
-
|
30
|
-
|
31
|
-
enum OpMode {iABC, iABx, iAsBx}; /* basic instruction format */
|
32
|
-
|
33
|
-
|
34
|
-
/*
|
35
|
-
** size and position of opcode arguments.
|
36
|
-
*/
|
37
|
-
#define SIZE_C 9
|
38
|
-
#define SIZE_B 9
|
39
|
-
#define SIZE_Bx (SIZE_C + SIZE_B)
|
40
|
-
#define SIZE_A 8
|
41
|
-
|
42
|
-
#define SIZE_OP 6
|
43
|
-
|
44
|
-
#define POS_OP 0
|
45
|
-
#define POS_A (POS_OP + SIZE_OP)
|
46
|
-
#define POS_C (POS_A + SIZE_A)
|
47
|
-
#define POS_B (POS_C + SIZE_C)
|
48
|
-
#define POS_Bx POS_C
|
49
|
-
|
50
|
-
|
51
|
-
/*
|
52
|
-
** limits for opcode arguments.
|
53
|
-
** we use (signed) int to manipulate most arguments,
|
54
|
-
** so they must fit in LUAI_BITSINT-1 bits (-1 for sign)
|
55
|
-
*/
|
56
|
-
#if SIZE_Bx < LUAI_BITSINT-1
|
57
|
-
#define MAXARG_Bx ((1<<SIZE_Bx)-1)
|
58
|
-
#define MAXARG_sBx (MAXARG_Bx>>1) /* `sBx' is signed */
|
59
|
-
#else
|
60
|
-
#define MAXARG_Bx MAX_INT
|
61
|
-
#define MAXARG_sBx MAX_INT
|
62
|
-
#endif
|
63
|
-
|
64
|
-
|
65
|
-
#define MAXARG_A ((1<<SIZE_A)-1)
|
66
|
-
#define MAXARG_B ((1<<SIZE_B)-1)
|
67
|
-
#define MAXARG_C ((1<<SIZE_C)-1)
|
68
|
-
|
69
|
-
|
70
|
-
/* creates a mask with `n' 1 bits at position `p' */
|
71
|
-
#define MASK1(n,p) ((~((~(Instruction)0)<<n))<<p)
|
72
|
-
|
73
|
-
/* creates a mask with `n' 0 bits at position `p' */
|
74
|
-
#define MASK0(n,p) (~MASK1(n,p))
|
75
|
-
|
76
|
-
/*
|
77
|
-
** the following macros help to manipulate instructions
|
78
|
-
*/
|
79
|
-
|
80
|
-
#define GET_OPCODE(i) (cast(OpCode, ((i)>>POS_OP) & MASK1(SIZE_OP,0)))
|
81
|
-
#define SET_OPCODE(i,o) ((i) = (((i)&MASK0(SIZE_OP,POS_OP)) | \
|
82
|
-
((cast(Instruction, o)<<POS_OP)&MASK1(SIZE_OP,POS_OP))))
|
83
|
-
|
84
|
-
#define GETARG_A(i) (cast(int, ((i)>>POS_A) & MASK1(SIZE_A,0)))
|
85
|
-
#define SETARG_A(i,u) ((i) = (((i)&MASK0(SIZE_A,POS_A)) | \
|
86
|
-
((cast(Instruction, u)<<POS_A)&MASK1(SIZE_A,POS_A))))
|
87
|
-
|
88
|
-
#define GETARG_B(i) (cast(int, ((i)>>POS_B) & MASK1(SIZE_B,0)))
|
89
|
-
#define SETARG_B(i,b) ((i) = (((i)&MASK0(SIZE_B,POS_B)) | \
|
90
|
-
((cast(Instruction, b)<<POS_B)&MASK1(SIZE_B,POS_B))))
|
91
|
-
|
92
|
-
#define GETARG_C(i) (cast(int, ((i)>>POS_C) & MASK1(SIZE_C,0)))
|
93
|
-
#define SETARG_C(i,b) ((i) = (((i)&MASK0(SIZE_C,POS_C)) | \
|
94
|
-
((cast(Instruction, b)<<POS_C)&MASK1(SIZE_C,POS_C))))
|
95
|
-
|
96
|
-
#define GETARG_Bx(i) (cast(int, ((i)>>POS_Bx) & MASK1(SIZE_Bx,0)))
|
97
|
-
#define SETARG_Bx(i,b) ((i) = (((i)&MASK0(SIZE_Bx,POS_Bx)) | \
|
98
|
-
((cast(Instruction, b)<<POS_Bx)&MASK1(SIZE_Bx,POS_Bx))))
|
99
|
-
|
100
|
-
#define GETARG_sBx(i) (GETARG_Bx(i)-MAXARG_sBx)
|
101
|
-
#define SETARG_sBx(i,b) SETARG_Bx((i),cast(unsigned int, (b)+MAXARG_sBx))
|
102
|
-
|
103
|
-
|
104
|
-
#define CREATE_ABC(o,a,b,c) ((cast(Instruction, o)<<POS_OP) \
|
105
|
-
| (cast(Instruction, a)<<POS_A) \
|
106
|
-
| (cast(Instruction, b)<<POS_B) \
|
107
|
-
| (cast(Instruction, c)<<POS_C))
|
108
|
-
|
109
|
-
#define CREATE_ABx(o,a,bc) ((cast(Instruction, o)<<POS_OP) \
|
110
|
-
| (cast(Instruction, a)<<POS_A) \
|
111
|
-
| (cast(Instruction, bc)<<POS_Bx))
|
112
|
-
|
113
|
-
|
114
|
-
/*
|
115
|
-
** Macros to operate RK indices
|
116
|
-
*/
|
117
|
-
|
118
|
-
/* this bit 1 means constant (0 means register) */
|
119
|
-
#define BITRK (1 << (SIZE_B - 1))
|
120
|
-
|
121
|
-
/* test whether value is a constant */
|
122
|
-
#define ISK(x) ((x) & BITRK)
|
123
|
-
|
124
|
-
/* gets the index of the constant */
|
125
|
-
#define INDEXK(r) ((int)(r) & ~BITRK)
|
126
|
-
|
127
|
-
#define MAXINDEXRK (BITRK - 1)
|
128
|
-
|
129
|
-
/* code a constant index as a RK value */
|
130
|
-
#define RKASK(x) ((x) | BITRK)
|
131
|
-
|
132
|
-
|
133
|
-
/*
|
134
|
-
** invalid register that fits in 8 bits
|
135
|
-
*/
|
136
|
-
#define NO_REG MAXARG_A
|
137
|
-
|
138
|
-
|
139
|
-
/*
|
140
|
-
** R(x) - register
|
141
|
-
** Kst(x) - constant (in constant table)
|
142
|
-
** RK(x) == if ISK(x) then Kst(INDEXK(x)) else R(x)
|
143
|
-
*/
|
144
|
-
|
145
|
-
|
146
|
-
/*
|
147
|
-
** grep "ORDER OP" if you change these enums
|
148
|
-
*/
|
149
|
-
|
150
|
-
typedef enum {
|
151
|
-
/*----------------------------------------------------------------------
|
152
|
-
name args description
|
153
|
-
------------------------------------------------------------------------*/
|
154
|
-
OP_MOVE,/* A B R(A) := R(B) */
|
155
|
-
OP_LOADK,/* A Bx R(A) := Kst(Bx) */
|
156
|
-
OP_LOADBOOL,/* A B C R(A) := (Bool)B; if (C) pc++ */
|
157
|
-
OP_LOADNIL,/* A B R(A) := ... := R(B) := nil */
|
158
|
-
OP_GETUPVAL,/* A B R(A) := UpValue[B] */
|
159
|
-
|
160
|
-
OP_GETGLOBAL,/* A Bx R(A) := Gbl[Kst(Bx)] */
|
161
|
-
OP_GETTABLE,/* A B C R(A) := R(B)[RK(C)] */
|
162
|
-
|
163
|
-
OP_SETGLOBAL,/* A Bx Gbl[Kst(Bx)] := R(A) */
|
164
|
-
OP_SETUPVAL,/* A B UpValue[B] := R(A) */
|
165
|
-
OP_SETTABLE,/* A B C R(A)[RK(B)] := RK(C) */
|
166
|
-
|
167
|
-
OP_NEWTABLE,/* A B C R(A) := {} (size = B,C) */
|
168
|
-
|
169
|
-
OP_SELF,/* A B C R(A+1) := R(B); R(A) := R(B)[RK(C)] */
|
170
|
-
|
171
|
-
OP_ADD,/* A B C R(A) := RK(B) + RK(C) */
|
172
|
-
OP_SUB,/* A B C R(A) := RK(B) - RK(C) */
|
173
|
-
OP_MUL,/* A B C R(A) := RK(B) * RK(C) */
|
174
|
-
OP_DIV,/* A B C R(A) := RK(B) / RK(C) */
|
175
|
-
OP_MOD,/* A B C R(A) := RK(B) % RK(C) */
|
176
|
-
OP_POW,/* A B C R(A) := RK(B) ^ RK(C) */
|
177
|
-
OP_UNM,/* A B R(A) := -R(B) */
|
178
|
-
OP_NOT,/* A B R(A) := not R(B) */
|
179
|
-
OP_LEN,/* A B R(A) := length of R(B) */
|
180
|
-
|
181
|
-
OP_CONCAT,/* A B C R(A) := R(B).. ... ..R(C) */
|
182
|
-
|
183
|
-
OP_JMP,/* sBx pc+=sBx */
|
184
|
-
|
185
|
-
OP_EQ,/* A B C if ((RK(B) == RK(C)) ~= A) then pc++ */
|
186
|
-
OP_LT,/* A B C if ((RK(B) < RK(C)) ~= A) then pc++ */
|
187
|
-
OP_LE,/* A B C if ((RK(B) <= RK(C)) ~= A) then pc++ */
|
188
|
-
|
189
|
-
OP_TEST,/* A C if not (R(A) <=> C) then pc++ */
|
190
|
-
OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */
|
191
|
-
|
192
|
-
OP_CALL,/* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */
|
193
|
-
OP_TAILCALL,/* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */
|
194
|
-
OP_RETURN,/* A B return R(A), ... ,R(A+B-2) (see note) */
|
195
|
-
|
196
|
-
OP_FORLOOP,/* A sBx R(A)+=R(A+2);
|
197
|
-
if R(A) <?= R(A+1) then { pc+=sBx; R(A+3)=R(A) }*/
|
198
|
-
OP_FORPREP,/* A sBx R(A)-=R(A+2); pc+=sBx */
|
199
|
-
|
200
|
-
OP_TFORLOOP,/* A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2));
|
201
|
-
if R(A+3) ~= nil then R(A+2)=R(A+3) else pc++ */
|
202
|
-
OP_SETLIST,/* A B C R(A)[(C-1)*FPF+i] := R(A+i), 1 <= i <= B */
|
203
|
-
|
204
|
-
OP_CLOSE,/* A close all variables in the stack up to (>=) R(A)*/
|
205
|
-
OP_CLOSURE,/* A Bx R(A) := closure(KPROTO[Bx], R(A), ... ,R(A+n)) */
|
206
|
-
|
207
|
-
OP_VARARG/* A B R(A), R(A+1), ..., R(A+B-1) = vararg */
|
208
|
-
} OpCode;
|
209
|
-
|
210
|
-
|
211
|
-
#define NUM_OPCODES (cast(int, OP_VARARG) + 1)
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
/*===========================================================================
|
216
|
-
Notes:
|
217
|
-
(*) In OP_CALL, if (B == 0) then B = top. C is the number of returns - 1,
|
218
|
-
and can be 0: OP_CALL then sets `top' to last_result+1, so
|
219
|
-
next open instruction (OP_CALL, OP_RETURN, OP_SETLIST) may use `top'.
|
220
|
-
|
221
|
-
(*) In OP_VARARG, if (B == 0) then use actual number of varargs and
|
222
|
-
set top (like in OP_CALL with C == 0).
|
223
|
-
|
224
|
-
(*) In OP_RETURN, if (B == 0) then return up to `top'
|
225
|
-
|
226
|
-
(*) In OP_SETLIST, if (B == 0) then B = `top';
|
227
|
-
if (C == 0) then next `instruction' is real C
|
228
|
-
|
229
|
-
(*) For comparisons, A specifies what condition the test should accept
|
230
|
-
(true or false).
|
231
|
-
|
232
|
-
(*) All `skips' (pc++) assume that next instruction is a jump
|
233
|
-
===========================================================================*/
|
234
|
-
|
235
|
-
|
236
|
-
/*
|
237
|
-
** masks for instruction properties. The format is:
|
238
|
-
** bits 0-1: op mode
|
239
|
-
** bits 2-3: C arg mode
|
240
|
-
** bits 4-5: B arg mode
|
241
|
-
** bit 6: instruction set register A
|
242
|
-
** bit 7: operator is a test
|
243
|
-
*/
|
244
|
-
|
245
|
-
enum OpArgMask {
|
246
|
-
OpArgN, /* argument is not used */
|
247
|
-
OpArgU, /* argument is used */
|
248
|
-
OpArgR, /* argument is a register or a jump offset */
|
249
|
-
OpArgK /* argument is a constant or register/constant */
|
250
|
-
};
|
251
|
-
|
252
|
-
LUAI_DATA const lu_byte luaP_opmodes[NUM_OPCODES];
|
253
|
-
|
254
|
-
#define getOpMode(m) (cast(enum OpMode, luaP_opmodes[m] & 3))
|
255
|
-
#define getBMode(m) (cast(enum OpArgMask, (luaP_opmodes[m] >> 4) & 3))
|
256
|
-
#define getCMode(m) (cast(enum OpArgMask, (luaP_opmodes[m] >> 2) & 3))
|
257
|
-
#define testAMode(m) (luaP_opmodes[m] & (1 << 6))
|
258
|
-
#define testTMode(m) (luaP_opmodes[m] & (1 << 7))
|
259
|
-
|
260
|
-
|
261
|
-
LUAI_DATA const char *const luaP_opnames[NUM_OPCODES+1]; /* opcode names */
|
262
|
-
|
263
|
-
|
264
|
-
/* number of list items to accumulate before a SETLIST instruction */
|
265
|
-
#define LFIELDS_PER_FLUSH 50
|
266
|
-
|
267
|
-
|
268
|
-
#endif
|
data/lua-hooks/ext/lua/loslib.c
DELETED
@@ -1,243 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
** $Id: loslib.c,v 1.19.1.3 2008/01/18 16:38:18 roberto Exp $
|
3
|
-
** Standard Operating System library
|
4
|
-
** See Copyright Notice in lua.h
|
5
|
-
*/
|
6
|
-
|
7
|
-
|
8
|
-
#include <errno.h>
|
9
|
-
#include <locale.h>
|
10
|
-
#include <stdlib.h>
|
11
|
-
#include <string.h>
|
12
|
-
#include <time.h>
|
13
|
-
|
14
|
-
#define loslib_c
|
15
|
-
#define LUA_LIB
|
16
|
-
|
17
|
-
#include "lua.h"
|
18
|
-
|
19
|
-
#include "lauxlib.h"
|
20
|
-
#include "lualib.h"
|
21
|
-
|
22
|
-
|
23
|
-
static int os_pushresult (lua_State *L, int i, const char *filename) {
|
24
|
-
int en = errno; /* calls to Lua API may change this value */
|
25
|
-
if (i) {
|
26
|
-
lua_pushboolean(L, 1);
|
27
|
-
return 1;
|
28
|
-
}
|
29
|
-
else {
|
30
|
-
lua_pushnil(L);
|
31
|
-
lua_pushfstring(L, "%s: %s", filename, strerror(en));
|
32
|
-
lua_pushinteger(L, en);
|
33
|
-
return 3;
|
34
|
-
}
|
35
|
-
}
|
36
|
-
|
37
|
-
|
38
|
-
static int os_execute (lua_State *L) {
|
39
|
-
lua_pushinteger(L, system(luaL_optstring(L, 1, NULL)));
|
40
|
-
return 1;
|
41
|
-
}
|
42
|
-
|
43
|
-
|
44
|
-
static int os_remove (lua_State *L) {
|
45
|
-
const char *filename = luaL_checkstring(L, 1);
|
46
|
-
return os_pushresult(L, remove(filename) == 0, filename);
|
47
|
-
}
|
48
|
-
|
49
|
-
|
50
|
-
static int os_rename (lua_State *L) {
|
51
|
-
const char *fromname = luaL_checkstring(L, 1);
|
52
|
-
const char *toname = luaL_checkstring(L, 2);
|
53
|
-
return os_pushresult(L, rename(fromname, toname) == 0, fromname);
|
54
|
-
}
|
55
|
-
|
56
|
-
|
57
|
-
static int os_tmpname (lua_State *L) {
|
58
|
-
char buff[LUA_TMPNAMBUFSIZE];
|
59
|
-
int err;
|
60
|
-
lua_tmpnam(buff, err);
|
61
|
-
if (err)
|
62
|
-
return luaL_error(L, "unable to generate a unique filename");
|
63
|
-
lua_pushstring(L, buff);
|
64
|
-
return 1;
|
65
|
-
}
|
66
|
-
|
67
|
-
|
68
|
-
static int os_getenv (lua_State *L) {
|
69
|
-
lua_pushstring(L, getenv(luaL_checkstring(L, 1))); /* if NULL push nil */
|
70
|
-
return 1;
|
71
|
-
}
|
72
|
-
|
73
|
-
|
74
|
-
static int os_clock (lua_State *L) {
|
75
|
-
lua_pushnumber(L, ((lua_Number)clock())/(lua_Number)CLOCKS_PER_SEC);
|
76
|
-
return 1;
|
77
|
-
}
|
78
|
-
|
79
|
-
|
80
|
-
/*
|
81
|
-
** {======================================================
|
82
|
-
** Time/Date operations
|
83
|
-
** { year=%Y, month=%m, day=%d, hour=%H, min=%M, sec=%S,
|
84
|
-
** wday=%w+1, yday=%j, isdst=? }
|
85
|
-
** =======================================================
|
86
|
-
*/
|
87
|
-
|
88
|
-
static void setfield (lua_State *L, const char *key, int value) {
|
89
|
-
lua_pushinteger(L, value);
|
90
|
-
lua_setfield(L, -2, key);
|
91
|
-
}
|
92
|
-
|
93
|
-
static void setboolfield (lua_State *L, const char *key, int value) {
|
94
|
-
if (value < 0) /* undefined? */
|
95
|
-
return; /* does not set field */
|
96
|
-
lua_pushboolean(L, value);
|
97
|
-
lua_setfield(L, -2, key);
|
98
|
-
}
|
99
|
-
|
100
|
-
static int getboolfield (lua_State *L, const char *key) {
|
101
|
-
int res;
|
102
|
-
lua_getfield(L, -1, key);
|
103
|
-
res = lua_isnil(L, -1) ? -1 : lua_toboolean(L, -1);
|
104
|
-
lua_pop(L, 1);
|
105
|
-
return res;
|
106
|
-
}
|
107
|
-
|
108
|
-
|
109
|
-
static int getfield (lua_State *L, const char *key, int d) {
|
110
|
-
int res;
|
111
|
-
lua_getfield(L, -1, key);
|
112
|
-
if (lua_isnumber(L, -1))
|
113
|
-
res = (int)lua_tointeger(L, -1);
|
114
|
-
else {
|
115
|
-
if (d < 0)
|
116
|
-
return luaL_error(L, "field " LUA_QS " missing in date table", key);
|
117
|
-
res = d;
|
118
|
-
}
|
119
|
-
lua_pop(L, 1);
|
120
|
-
return res;
|
121
|
-
}
|
122
|
-
|
123
|
-
|
124
|
-
static int os_date (lua_State *L) {
|
125
|
-
const char *s = luaL_optstring(L, 1, "%c");
|
126
|
-
time_t t = luaL_opt(L, (time_t)luaL_checknumber, 2, time(NULL));
|
127
|
-
struct tm *stm;
|
128
|
-
if (*s == '!') { /* UTC? */
|
129
|
-
stm = gmtime(&t);
|
130
|
-
s++; /* skip `!' */
|
131
|
-
}
|
132
|
-
else
|
133
|
-
stm = localtime(&t);
|
134
|
-
if (stm == NULL) /* invalid date? */
|
135
|
-
lua_pushnil(L);
|
136
|
-
else if (strcmp(s, "*t") == 0) {
|
137
|
-
lua_createtable(L, 0, 9); /* 9 = number of fields */
|
138
|
-
setfield(L, "sec", stm->tm_sec);
|
139
|
-
setfield(L, "min", stm->tm_min);
|
140
|
-
setfield(L, "hour", stm->tm_hour);
|
141
|
-
setfield(L, "day", stm->tm_mday);
|
142
|
-
setfield(L, "month", stm->tm_mon+1);
|
143
|
-
setfield(L, "year", stm->tm_year+1900);
|
144
|
-
setfield(L, "wday", stm->tm_wday+1);
|
145
|
-
setfield(L, "yday", stm->tm_yday+1);
|
146
|
-
setboolfield(L, "isdst", stm->tm_isdst);
|
147
|
-
}
|
148
|
-
else {
|
149
|
-
char cc[3];
|
150
|
-
luaL_Buffer b;
|
151
|
-
cc[0] = '%'; cc[2] = '\0';
|
152
|
-
luaL_buffinit(L, &b);
|
153
|
-
for (; *s; s++) {
|
154
|
-
if (*s != '%' || *(s + 1) == '\0') /* no conversion specifier? */
|
155
|
-
luaL_addchar(&b, *s);
|
156
|
-
else {
|
157
|
-
size_t reslen;
|
158
|
-
char buff[200]; /* should be big enough for any conversion result */
|
159
|
-
cc[1] = *(++s);
|
160
|
-
reslen = strftime(buff, sizeof(buff), cc, stm);
|
161
|
-
luaL_addlstring(&b, buff, reslen);
|
162
|
-
}
|
163
|
-
}
|
164
|
-
luaL_pushresult(&b);
|
165
|
-
}
|
166
|
-
return 1;
|
167
|
-
}
|
168
|
-
|
169
|
-
|
170
|
-
static int os_time (lua_State *L) {
|
171
|
-
time_t t;
|
172
|
-
if (lua_isnoneornil(L, 1)) /* called without args? */
|
173
|
-
t = time(NULL); /* get current time */
|
174
|
-
else {
|
175
|
-
struct tm ts;
|
176
|
-
luaL_checktype(L, 1, LUA_TTABLE);
|
177
|
-
lua_settop(L, 1); /* make sure table is at the top */
|
178
|
-
ts.tm_sec = getfield(L, "sec", 0);
|
179
|
-
ts.tm_min = getfield(L, "min", 0);
|
180
|
-
ts.tm_hour = getfield(L, "hour", 12);
|
181
|
-
ts.tm_mday = getfield(L, "day", -1);
|
182
|
-
ts.tm_mon = getfield(L, "month", -1) - 1;
|
183
|
-
ts.tm_year = getfield(L, "year", -1) - 1900;
|
184
|
-
ts.tm_isdst = getboolfield(L, "isdst");
|
185
|
-
t = mktime(&ts);
|
186
|
-
}
|
187
|
-
if (t == (time_t)(-1))
|
188
|
-
lua_pushnil(L);
|
189
|
-
else
|
190
|
-
lua_pushnumber(L, (lua_Number)t);
|
191
|
-
return 1;
|
192
|
-
}
|
193
|
-
|
194
|
-
|
195
|
-
static int os_difftime (lua_State *L) {
|
196
|
-
lua_pushnumber(L, difftime((time_t)(luaL_checknumber(L, 1)),
|
197
|
-
(time_t)(luaL_optnumber(L, 2, 0))));
|
198
|
-
return 1;
|
199
|
-
}
|
200
|
-
|
201
|
-
/* }====================================================== */
|
202
|
-
|
203
|
-
|
204
|
-
static int os_setlocale (lua_State *L) {
|
205
|
-
static const int cat[] = {LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY,
|
206
|
-
LC_NUMERIC, LC_TIME};
|
207
|
-
static const char *const catnames[] = {"all", "collate", "ctype", "monetary",
|
208
|
-
"numeric", "time", NULL};
|
209
|
-
const char *l = luaL_optstring(L, 1, NULL);
|
210
|
-
int op = luaL_checkoption(L, 2, "all", catnames);
|
211
|
-
lua_pushstring(L, setlocale(cat[op], l));
|
212
|
-
return 1;
|
213
|
-
}
|
214
|
-
|
215
|
-
|
216
|
-
static int os_exit (lua_State *L) {
|
217
|
-
exit(luaL_optint(L, 1, EXIT_SUCCESS));
|
218
|
-
}
|
219
|
-
|
220
|
-
static const luaL_Reg syslib[] = {
|
221
|
-
{"clock", os_clock},
|
222
|
-
{"date", os_date},
|
223
|
-
{"difftime", os_difftime},
|
224
|
-
{"execute", os_execute},
|
225
|
-
{"exit", os_exit},
|
226
|
-
{"getenv", os_getenv},
|
227
|
-
{"remove", os_remove},
|
228
|
-
{"rename", os_rename},
|
229
|
-
{"setlocale", os_setlocale},
|
230
|
-
{"time", os_time},
|
231
|
-
{"tmpname", os_tmpname},
|
232
|
-
{NULL, NULL}
|
233
|
-
};
|
234
|
-
|
235
|
-
/* }====================================================== */
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
LUALIB_API int luaopen_os (lua_State *L) {
|
240
|
-
luaL_register(L, LUA_OSLIBNAME, syslib);
|
241
|
-
return 1;
|
242
|
-
}
|
243
|
-
|