script_core 0.2.3 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +35 -57
- data/.ruby-version +1 -1
- data/Gemfile +2 -2
- data/README.md +7 -1
- data/ext/enterprise_script_service/Rakefile +1 -1
- data/ext/enterprise_script_service/libseccomp/.travis.yml +24 -12
- data/ext/enterprise_script_service/libseccomp/CHANGELOG +32 -0
- data/ext/enterprise_script_service/libseccomp/CONTRIBUTING.md +37 -26
- data/ext/enterprise_script_service/libseccomp/CREDITS +11 -0
- data/ext/enterprise_script_service/libseccomp/README.md +21 -1
- data/ext/enterprise_script_service/libseccomp/configure.ac +13 -8
- data/ext/enterprise_script_service/libseccomp/doc/Makefile.am +6 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_api_get.3 +12 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_arch_add.3 +38 -6
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_attr_set.3 +53 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_export_bpf.3 +20 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_init.3 +9 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_load.3 +32 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_merge.3 +16 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_alloc.3 +113 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_fd.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_free.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_id_valid.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_receive.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_respond.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_rule_add.3 +64 -3
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_syscall_priority.3 +18 -3
- data/ext/enterprise_script_service/libseccomp/include/seccomp-syscalls.h +19 -0
- data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +116 -0
- data/ext/enterprise_script_service/libseccomp/src/.gitignore +2 -0
- data/ext/enterprise_script_service/libseccomp/src/Makefile.am +31 -17
- data/ext/enterprise_script_service/libseccomp/src/api.c +254 -58
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch-arm.c +47 -2
- data/ext/enterprise_script_service/libseccomp/src/arch-arm.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch-gperf-generate +40 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-mips.c +41 -4
- data/ext/enterprise_script_service/libseccomp/src/arch-mips.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64.c +41 -4
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64.h +3 -11
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.c +41 -4
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc.h +1 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.c +3 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.h +29 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.c +606 -8
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-riscv64.c +31 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-riscv64.h +22 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +171 -12
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.h +1 -17
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +166 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.h +1 -20
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-dump.c +8 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-validate +359 -143
- data/ext/enterprise_script_service/libseccomp/src/arch-x32.c +36 -2
- data/ext/enterprise_script_service/libseccomp/src/arch-x32.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +172 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.h +1 -14
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch.c +11 -3
- data/ext/enterprise_script_service/libseccomp/src/arch.h +7 -0
- data/ext/enterprise_script_service/libseccomp/src/db.c +268 -57
- data/ext/enterprise_script_service/libseccomp/src/db.h +16 -2
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +503 -148
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.h +2 -1
- data/ext/enterprise_script_service/libseccomp/src/gen_pfc.c +165 -37
- data/ext/enterprise_script_service/libseccomp/src/python/libseccomp.pxd +37 -1
- data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +295 -5
- data/ext/enterprise_script_service/libseccomp/src/syscalls.c +56 -0
- data/ext/enterprise_script_service/libseccomp/src/syscalls.csv +470 -0
- data/ext/enterprise_script_service/libseccomp/src/syscalls.h +62 -0
- data/ext/enterprise_script_service/libseccomp/src/syscalls.perf.template +82 -0
- data/ext/enterprise_script_service/libseccomp/src/system.c +196 -16
- data/ext/enterprise_script_service/libseccomp/src/system.h +68 -13
- data/ext/enterprise_script_service/libseccomp/tests/.gitignore +10 -2
- data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.tests +1 -1
- data/ext/enterprise_script_service/libseccomp/tests/11-basic-basic_errors.c +5 -5
- data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.c +35 -1
- data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.py +10 -1
- data/ext/enterprise_script_service/libseccomp/tests/15-basic-resolver.c +4 -3
- data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.c +12 -0
- data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/{18-sim-basic_whitelist.c → 18-sim-basic_allowlist.c} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/{18-sim-basic_whitelist.py → 18-sim-basic_allowlist.py} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_allowlist.tests +32 -0
- data/ext/enterprise_script_service/libseccomp/tests/23-sim-arch_all_le_basic.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tests/23-sim-arch_all_le_basic.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.tests +33 -17
- data/ext/enterprise_script_service/libseccomp/tests/{34-sim-basic_blacklist.c → 34-sim-basic_denylist.c} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/{34-sim-basic_blacklist.py → 34-sim-basic_denylist.py} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_denylist.tests +32 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.tests +25 -25
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.c +24 -3
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.py +16 -1
- data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.c +3 -3
- data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.c +112 -0
- data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.py +60 -0
- data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/52-basic-load.c +48 -0
- data/ext/enterprise_script_service/libseccomp/tests/52-basic-load.py +38 -0
- data/ext/enterprise_script_service/libseccomp/tests/52-basic-load.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.c +156 -0
- data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.py +95 -0
- data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.tests +65 -0
- data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.c +128 -0
- data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.py +95 -0
- data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.c +134 -0
- data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.sh +46 -0
- data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.c +90 -0
- data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.py +65 -0
- data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.c +64 -0
- data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.py +46 -0
- data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.c +116 -0
- data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.py +61 -0
- data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +34 -10
- data/ext/enterprise_script_service/libseccomp/tests/regression +10 -3
- data/ext/enterprise_script_service/libseccomp/tests/util.c +3 -3
- data/ext/enterprise_script_service/libseccomp/tools/Makefile.am +0 -3
- data/ext/enterprise_script_service/libseccomp/tools/check-syntax +1 -1
- data/ext/enterprise_script_service/libseccomp/tools/scmp_arch_detect.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_disasm.c +4 -2
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +4 -0
- data/ext/enterprise_script_service/libseccomp/tools/util.c +14 -12
- data/ext/enterprise_script_service/libseccomp/tools/util.h +7 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/build.yml +149 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/codeql-analysis.yml +55 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/lint.yml +23 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/oss-fuzz.yml +27 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/spell-checker.yml +17 -0
- data/ext/enterprise_script_service/mruby/.gitignore +3 -0
- data/ext/enterprise_script_service/mruby/.gitlab-ci.yml +3 -3
- data/ext/enterprise_script_service/mruby/.markdownlint.yml +16 -0
- data/ext/enterprise_script_service/mruby/.travis.yml +7 -10
- data/ext/enterprise_script_service/mruby/.yamllint +8 -0
- data/ext/enterprise_script_service/mruby/AUTHORS +4 -0
- data/ext/enterprise_script_service/mruby/CODEOWNERS +1 -0
- data/ext/enterprise_script_service/mruby/CONTRIBUTING.md +6 -13
- data/ext/enterprise_script_service/mruby/Doxyfile +4 -4
- data/ext/enterprise_script_service/mruby/LICENSE +1 -1
- data/ext/enterprise_script_service/mruby/Makefile +1 -1
- data/ext/enterprise_script_service/mruby/README.md +5 -11
- data/ext/enterprise_script_service/mruby/Rakefile +18 -108
- data/ext/enterprise_script_service/mruby/TODO.md +17 -0
- data/ext/enterprise_script_service/mruby/appveyor.yml +29 -26
- data/ext/enterprise_script_service/mruby/benchmark/bm_ao_render.rb +1 -1
- data/ext/enterprise_script_service/mruby/build_config.rb +9 -152
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_ArduinoDue.rb → build_config/ArduinoDue.rb} +4 -21
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_IntelEdison.rb → build_config/IntelEdison.rb} +4 -4
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_IntelGalileo.rb → build_config/IntelGalileo.rb} +3 -20
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_RX630.rb → build_config/RX630.rb} +4 -21
- data/ext/enterprise_script_service/mruby/build_config/android_arm64-v8a.rb +11 -0
- data/ext/enterprise_script_service/mruby/build_config/android_armeabi.rb +11 -0
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_android_armeabi_v7a_neon_hard.rb → build_config/android_armeabi_v7a_neon_hard.rb} +0 -15
- data/ext/enterprise_script_service/mruby/build_config/bench.rb +11 -0
- data/ext/enterprise_script_service/mruby/build_config/boxing.rb +21 -0
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_chipKITMax32.rb → build_config/chipKITMax32.rb} +4 -21
- data/ext/enterprise_script_service/mruby/{appveyor_config.rb → build_config/ci/gcc-clang.rb} +11 -8
- data/ext/enterprise_script_service/mruby/build_config/ci/msvc.rb +20 -0
- data/ext/enterprise_script_service/mruby/build_config/clang-asan.rb +11 -0
- data/ext/enterprise_script_service/mruby/build_config/cross-32bit.rb +14 -0
- data/ext/enterprise_script_service/mruby/build_config/default.rb +80 -0
- data/ext/enterprise_script_service/mruby/build_config/dreamcast_shelf.rb +94 -0
- data/ext/enterprise_script_service/mruby/build_config/gameboyadvance.rb +73 -0
- data/ext/enterprise_script_service/mruby/build_config/host-cxx.rb +12 -0
- data/ext/enterprise_script_service/mruby/build_config/host-debug.rb +20 -0
- data/ext/enterprise_script_service/mruby/build_config/host-gprof.rb +14 -0
- data/ext/enterprise_script_service/mruby/build_config/host-m32.rb +15 -0
- data/ext/enterprise_script_service/mruby/build_config/host-shared.rb +36 -0
- data/ext/enterprise_script_service/mruby/build_config/mrbc.rb +11 -0
- data/ext/enterprise_script_service/mruby/build_config/no-float.rb +17 -0
- data/ext/enterprise_script_service/mruby/doc/guides/compile.md +142 -49
- data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +5 -4
- data/ext/enterprise_script_service/mruby/doc/guides/gc-arena-howto.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +53 -30
- data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +31 -14
- data/ext/enterprise_script_service/mruby/doc/guides/symbol.md +83 -0
- data/ext/enterprise_script_service/mruby/doc/limitations.md +35 -36
- data/ext/enterprise_script_service/mruby/doc/mruby3.md +163 -0
- data/ext/enterprise_script_service/mruby/doc/opcode.md +102 -103
- data/ext/enterprise_script_service/mruby/examples/mrbgems/c_and_ruby_extension_example/mrblib/example.rb +1 -1
- data/ext/enterprise_script_service/mruby/examples/mrbgems/c_and_ruby_extension_example/src/example.c +5 -1
- data/ext/enterprise_script_service/mruby/examples/mrbgems/c_extension_example/src/example.c +5 -1
- data/ext/enterprise_script_service/mruby/examples/mrbgems/ruby_extension_example/mrblib/example.rb +1 -1
- data/ext/enterprise_script_service/mruby/include/mrbconf.h +88 -66
- data/ext/enterprise_script_service/mruby/include/mruby.h +160 -104
- data/ext/enterprise_script_service/mruby/include/mruby/array.h +27 -6
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +80 -46
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_no.h +8 -8
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +76 -55
- data/ext/enterprise_script_service/mruby/include/mruby/class.h +10 -8
- data/ext/enterprise_script_service/mruby/include/mruby/common.h +14 -1
- data/ext/enterprise_script_service/mruby/include/mruby/compile.h +20 -6
- data/ext/enterprise_script_service/mruby/include/mruby/debug.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/dump.h +18 -52
- data/ext/enterprise_script_service/mruby/include/mruby/endian.h +44 -0
- data/ext/enterprise_script_service/mruby/include/mruby/error.h +39 -5
- data/ext/enterprise_script_service/mruby/include/mruby/gc.h +1 -0
- data/ext/enterprise_script_service/mruby/include/mruby/hash.h +33 -13
- data/ext/enterprise_script_service/mruby/include/mruby/irep.h +74 -14
- data/ext/enterprise_script_service/mruby/include/mruby/istruct.h +4 -1
- data/ext/enterprise_script_service/mruby/include/mruby/khash.h +19 -9
- data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +37 -63
- data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +1 -27
- data/ext/enterprise_script_service/mruby/include/mruby/ops.h +29 -24
- data/ext/enterprise_script_service/mruby/include/mruby/presym.h +40 -0
- data/ext/enterprise_script_service/mruby/include/mruby/presym/disable.h +70 -0
- data/ext/enterprise_script_service/mruby/include/mruby/presym/enable.h +37 -0
- data/ext/enterprise_script_service/mruby/include/mruby/presym/scanning.h +73 -0
- data/ext/enterprise_script_service/mruby/include/mruby/proc.h +93 -21
- data/ext/enterprise_script_service/mruby/include/mruby/string.h +12 -16
- data/ext/enterprise_script_service/mruby/include/mruby/throw.h +14 -3
- data/ext/enterprise_script_service/mruby/include/mruby/value.h +60 -59
- data/ext/enterprise_script_service/mruby/include/mruby/variable.h +1 -0
- data/ext/enterprise_script_service/mruby/include/mruby/version.h +25 -6
- data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +198 -72
- data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +71 -78
- data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +12 -10
- data/ext/enterprise_script_service/mruby/lib/{mruby-core-ext.rb → mruby/core_ext.rb} +10 -3
- data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +84 -32
- data/ext/enterprise_script_service/mruby/lib/mruby/lockfile.rb +1 -1
- data/ext/enterprise_script_service/mruby/lib/mruby/presym.rb +132 -0
- data/ext/enterprise_script_service/mruby/lib/mruby/source.rb +3 -1
- data/ext/enterprise_script_service/mruby/mrbgems/default-no-fpu.gembox +3 -0
- data/ext/enterprise_script_service/mruby/mrbgems/default-no-stdio.gembox +4 -0
- data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +9 -81
- data/ext/enterprise_script_service/mruby/mrbgems/full-core.gembox +1 -4
- data/ext/enterprise_script_service/mruby/mrbgems/math.gembox +10 -0
- data/ext/enterprise_script_service/mruby/mrbgems/metaprog.gembox +15 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +1 -32
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +10 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/test/array.rb +0 -13
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mrbgem.rake +30 -18
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mruby-config +18 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/mrdb.rb +3 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +10 -10
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +14 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +3 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +2 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +6 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +23 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/mrbgem.rake +11 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +46 -35
- data/ext/enterprise_script_service/mruby/mrbgems/{mruby-compiler → mruby-bin-mrbc}/bintest/mrbc.rb +0 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/mrbgem.rake +3 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +41 -28
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +25 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +26 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +6 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-catch/mrbgem.rake +5 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-catch/mrblib/catch.rb +27 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/src/class.c +7 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +495 -436
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/keywords +5 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/lex.def +49 -44
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +637 -220
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/y.tab.c +13734 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/mrbgem.rake +20 -23
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +9 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/test/complex.rb +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +1 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/mrbgem.rake +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/src/exception.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +19 -238
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/test/eval.rb +21 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +19 -15
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +31 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +7 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +5 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/README.md +18 -16
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/include/mruby/ext/io.h +39 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrbgem.rake +2 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file.rb +9 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file_constants.rb +0 -16
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +9 -14
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +107 -59
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +22 -38
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +417 -203
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +20 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +33 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +58 -50
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +13 -14
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +13 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/test/math.rb +5 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +56 -73
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +13 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/README.md +4 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +80 -78
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +14 -13
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +8 -16
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +18 -13
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/mrbgem.rake +10 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/src/memsize.c +231 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/test/memsize.rb +63 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/README.md +15 -18
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +120 -67
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +1 -30
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +65 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +34 -21
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +98 -43
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +39 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +21 -43
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/test/range.rb +27 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +12 -20
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +216 -38
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/test/rational.rb +6 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/README.md +6 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/src/mrb_sleep.c +5 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/README.md +3 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +47 -45
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/sockettest.c +3 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +161 -93
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +9 -25
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +23 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +17 -14
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +23 -36
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +7 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/README.md +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +5 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +17 -44
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/vformat.c +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +37 -41
- data/ext/enterprise_script_service/mruby/mrbgems/stdlib-ext.gembox +18 -0
- data/ext/enterprise_script_service/mruby/mrbgems/stdlib-io.gembox +12 -0
- data/ext/enterprise_script_service/mruby/mrbgems/stdlib.gembox +54 -0
- data/ext/enterprise_script_service/mruby/mrblib/00class.rb +10 -0
- data/ext/enterprise_script_service/mruby/mrblib/10error.rb +4 -0
- data/ext/enterprise_script_service/mruby/mrblib/array.rb +17 -9
- data/ext/enterprise_script_service/mruby/mrblib/enum.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrblib/hash.rb +3 -23
- data/ext/enterprise_script_service/mruby/mrblib/init_mrblib.c +0 -11
- data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +36 -11
- data/ext/enterprise_script_service/mruby/mrblib/range.rb +25 -3
- data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_proto_fuzzer.cpp +2 -2
- data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.h +1 -1
- data/ext/enterprise_script_service/mruby/src/array.c +67 -90
- data/ext/enterprise_script_service/mruby/src/backtrace.c +18 -19
- data/ext/enterprise_script_service/mruby/src/class.c +819 -211
- data/ext/enterprise_script_service/mruby/src/codedump.c +226 -197
- data/ext/enterprise_script_service/mruby/src/debug.c +14 -11
- data/ext/enterprise_script_service/mruby/src/dump.c +470 -207
- data/ext/enterprise_script_service/mruby/src/enum.c +1 -1
- data/ext/enterprise_script_service/mruby/src/error.c +94 -20
- data/ext/enterprise_script_service/mruby/src/etc.c +56 -39
- data/ext/enterprise_script_service/mruby/src/fmt_fp.c +103 -27
- data/ext/enterprise_script_service/mruby/src/gc.c +86 -349
- data/ext/enterprise_script_service/mruby/src/hash.c +1058 -723
- data/ext/enterprise_script_service/mruby/src/kernel.c +78 -226
- data/ext/enterprise_script_service/mruby/src/load.c +215 -159
- data/ext/enterprise_script_service/mruby/src/numeric.c +400 -382
- data/ext/enterprise_script_service/mruby/src/object.c +115 -90
- data/ext/enterprise_script_service/mruby/src/print.c +31 -6
- data/ext/enterprise_script_service/mruby/src/proc.c +56 -45
- data/ext/enterprise_script_service/mruby/src/range.c +49 -33
- data/ext/enterprise_script_service/mruby/src/state.c +58 -42
- data/ext/enterprise_script_service/mruby/src/string.c +151 -156
- data/ext/enterprise_script_service/mruby/src/symbol.c +132 -66
- data/ext/enterprise_script_service/mruby/src/value_array.h +1 -0
- data/ext/enterprise_script_service/mruby/src/variable.c +158 -158
- data/ext/enterprise_script_service/mruby/src/vm.c +655 -645
- data/ext/enterprise_script_service/mruby/tasks/benchmark.rake +6 -6
- data/ext/enterprise_script_service/mruby/tasks/bin.rake +23 -0
- data/ext/enterprise_script_service/mruby/tasks/core.rake +12 -0
- data/ext/enterprise_script_service/mruby/tasks/doc.rake +50 -38
- data/ext/enterprise_script_service/mruby/tasks/gitlab.rake +64 -61
- data/ext/enterprise_script_service/mruby/tasks/libmruby.rake +10 -1
- data/ext/enterprise_script_service/mruby/tasks/mrbgems.rake +13 -1
- data/ext/enterprise_script_service/mruby/tasks/mrblib.rake +40 -0
- data/ext/enterprise_script_service/mruby/tasks/presym.rake +44 -0
- data/ext/enterprise_script_service/mruby/tasks/test.rake +68 -0
- data/ext/enterprise_script_service/mruby/tasks/toolchains/android.rake +46 -1
- data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +8 -7
- data/ext/enterprise_script_service/mruby/tasks/toolchains/openwrt.rake +13 -17
- data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +21 -25
- data/ext/enterprise_script_service/mruby/test/assert.rb +5 -4
- data/ext/enterprise_script_service/mruby/test/bintest.rb +5 -5
- data/ext/enterprise_script_service/mruby/test/t/argumenterror.rb +16 -0
- data/ext/enterprise_script_service/mruby/test/t/array.rb +7 -3
- data/ext/enterprise_script_service/mruby/test/t/bs_literal.rb +1 -1
- data/ext/enterprise_script_service/mruby/test/t/ensure.rb +8 -26
- data/ext/enterprise_script_service/mruby/test/t/exception.rb +2 -2
- data/ext/enterprise_script_service/mruby/test/t/float.rb +18 -8
- data/ext/enterprise_script_service/mruby/test/t/hash.rb +903 -281
- data/ext/enterprise_script_service/mruby/test/t/integer.rb +10 -38
- data/ext/enterprise_script_service/mruby/test/t/kernel.rb +16 -25
- data/ext/enterprise_script_service/mruby/test/t/literals.rb +50 -0
- data/ext/enterprise_script_service/mruby/test/t/module.rb +2 -2
- data/ext/enterprise_script_service/mruby/test/t/numeric.rb +1 -1
- data/ext/enterprise_script_service/mruby/test/t/range.rb +83 -1
- data/ext/enterprise_script_service/mruby/test/t/string.rb +4 -0
- data/ext/enterprise_script_service/mruby/test/t/superclass.rb +10 -10
- data/ext/enterprise_script_service/mruby/test/t/syntax.rb +24 -0
- data/ext/enterprise_script_service/mruby/test/t/vformat.rb +3 -3
- data/ext/enterprise_script_service/mruby_config.rb +2 -5
- data/ext/enterprise_script_service/mruby_engine.cpp +1 -1
- data/ext/enterprise_script_service/msgpack/.github/depends/boost.sh +56 -0
- data/ext/enterprise_script_service/msgpack/.github/workflows/coverage.yml +62 -0
- data/ext/enterprise_script_service/msgpack/.github/workflows/gha.yml +304 -0
- data/ext/enterprise_script_service/msgpack/CHANGELOG.md +11 -0
- data/ext/enterprise_script_service/msgpack/CMakeLists.txt +82 -39
- data/ext/enterprise_script_service/msgpack/Files.cmake +22 -12
- data/ext/enterprise_script_service/msgpack/QUICKSTART-C.md +26 -29
- data/ext/enterprise_script_service/msgpack/README.md +3 -2
- data/ext/enterprise_script_service/msgpack/appveyor.yml +6 -2
- data/ext/enterprise_script_service/msgpack/ci/build_cmake.sh +3 -1
- data/ext/enterprise_script_service/msgpack/cmake/CodeCoverage.cmake +55 -0
- data/ext/enterprise_script_service/msgpack/codecov.yml +36 -0
- data/ext/enterprise_script_service/msgpack/example/CMakeLists.txt +9 -5
- data/ext/enterprise_script_service/msgpack/example/boost/CMakeLists.txt +1 -1
- data/ext/enterprise_script_service/msgpack/example/c/CMakeLists.txt +17 -6
- data/ext/enterprise_script_service/msgpack/example/c/boundary.c +296 -0
- data/ext/enterprise_script_service/msgpack/example/c/jsonconv.c +419 -0
- data/ext/enterprise_script_service/msgpack/example/c/simple_c.c +1 -1
- data/ext/enterprise_script_service/msgpack/example/cpp03/CMakeLists.txt +3 -3
- data/ext/enterprise_script_service/msgpack/example/cpp11/CMakeLists.txt +2 -2
- data/ext/enterprise_script_service/msgpack/example/x3/CMakeLists.txt +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/pack.h +24 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/array_ref.hpp +5 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/boost/optional.hpp +4 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp +8 -8
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/map.hpp +4 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector.hpp +4 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_char.hpp +8 -8
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +8 -8
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/wstring.hpp +4 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/unpack.hpp +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/version_master.h +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/zbuffer.h +4 -4
- data/ext/enterprise_script_service/msgpack/make_file_list.sh +38 -11
- data/ext/enterprise_script_service/msgpack/src/vrefbuffer.c +6 -0
- data/ext/enterprise_script_service/msgpack/test/CMakeLists.txt +86 -64
- data/ext/enterprise_script_service/msgpack/test/array_ref.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/boost_fusion.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/boost_optional.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/boost_string_ref.cpp +4 -1
- data/ext/enterprise_script_service/msgpack/test/boost_string_view.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/boost_variant.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/buffer.cpp +4 -47
- data/ext/enterprise_script_service/msgpack/test/buffer_c.cpp +148 -0
- data/ext/enterprise_script_service/msgpack/test/carray.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/cases.cpp +8 -4
- data/ext/enterprise_script_service/msgpack/test/convert.cpp +8 -4
- data/ext/enterprise_script_service/msgpack/test/fixint.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/fixint_c.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/fuzz_unpack_pack_fuzzer_cpp11.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/iterator_cpp11.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/json.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/limit.cpp +8 -4
- data/ext/enterprise_script_service/msgpack/test/msgpack_basic.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_c.cpp +159 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_container.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp11.cpp +32 -27
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp17.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_stream.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_tuple.cpp +4 -1
- data/ext/enterprise_script_service/msgpack/test/msgpack_vref.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_x3_parse.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/object.cpp +4 -1
- data/ext/enterprise_script_service/msgpack/test/object_with_zone.cpp +12 -8
- data/ext/enterprise_script_service/msgpack/test/pack_unpack.cpp +30 -26
- data/ext/enterprise_script_service/msgpack/test/pack_unpack_c.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/raw.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/reference.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/reference_cpp11.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/reference_wrapper_cpp11.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/shared_ptr_cpp11.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/size_equal_only.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/streaming.cpp +8 -4
- data/ext/enterprise_script_service/msgpack/test/streaming_c.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/unique_ptr_cpp11.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/user_class.cpp +16 -12
- data/ext/enterprise_script_service/msgpack/test/version.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/visitor.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/zone.cpp +4 -0
- data/lib/script_core/engine.rb +24 -5
- data/lib/script_core/executable.rb +4 -3
- data/lib/script_core/version.rb +1 -1
- data/lib/tasks/script_core.rake +3 -1
- data/script_core.gemspec +1 -2
- data/spec/dummy/app/lib/script_engine.rb +64 -5
- data/spec/script_core_spec.rb +13 -0
- metadata +123 -61
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +0 -570
- data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +0 -562
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +0 -562
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +0 -562
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +0 -542
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +0 -626
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +0 -626
- data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +0 -558
- data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +0 -692
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.tests +0 -32
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.tests +0 -32
- data/ext/enterprise_script_service/mruby/TODO +0 -8
- data/ext/enterprise_script_service/mruby/benchmark/build_config_boxing.rb +0 -28
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_arm64-v8a.rb +0 -26
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_armeabi.rb +0 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/kernel.c +0 -30
- data/ext/enterprise_script_service/mruby/mrblib/mrblib.rake +0 -18
- data/ext/enterprise_script_service/mruby/src/crc.c +0 -39
- data/ext/enterprise_script_service/mruby/src/mruby_core.rake +0 -19
- data/ext/enterprise_script_service/mruby/travis_config.rb +0 -54
- data/ext/enterprise_script_service/msgpack/.travis.yml +0 -258
@@ -13,15 +13,6 @@ This document is collecting these limitations.
|
|
13
13
|
This document does not contain a complete list of limitations.
|
14
14
|
Please help to improve it by submitting your findings.
|
15
15
|
|
16
|
-
|
17
|
-
## `1/2` gives `0.5`
|
18
|
-
|
19
|
-
Since mruby does not have `Bignum`, bigger integers are represented
|
20
|
-
by `Float` numbers. To enhance interoperability between `Fixnum`
|
21
|
-
and `Float`, mruby provides `Float#upto` and other iterating
|
22
|
-
methods for the `Float` class. As a side effect, `1/2` gives `0.5`
|
23
|
-
not `0`.
|
24
|
-
|
25
16
|
## `Array` passed to `puts`
|
26
17
|
|
27
18
|
Passing an Array to `puts` results in different output.
|
@@ -38,7 +29,7 @@ puts [1,2,3]
|
|
38
29
|
3
|
39
30
|
```
|
40
31
|
|
41
|
-
#### mruby [
|
32
|
+
#### mruby [3.0.0 (2021-03-05)]
|
42
33
|
|
43
34
|
```
|
44
35
|
[1, 2, 3]
|
@@ -61,9 +52,17 @@ end
|
|
61
52
|
|
62
53
|
`ZeroDivisionError` is raised.
|
63
54
|
|
64
|
-
#### mruby [
|
55
|
+
#### mruby [3.0.0 (2021-03-05)]
|
65
56
|
|
66
|
-
No exception is raised.
|
57
|
+
No exception is raised. Instead you have to do:
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
begin
|
61
|
+
1 / 0
|
62
|
+
rescue => e
|
63
|
+
raise e
|
64
|
+
end
|
65
|
+
```
|
67
66
|
|
68
67
|
## Fiber execution can't cross C function boundary
|
69
68
|
|
@@ -89,7 +88,7 @@ p Liste.new "foobar"
|
|
89
88
|
|
90
89
|
` [] `
|
91
90
|
|
92
|
-
#### mruby [
|
91
|
+
#### mruby [3.0.0 (2021-03-05)]
|
93
92
|
|
94
93
|
`ArgumentError` is raised.
|
95
94
|
|
@@ -119,7 +118,7 @@ false
|
|
119
118
|
true
|
120
119
|
```
|
121
120
|
|
122
|
-
#### mruby [
|
121
|
+
#### mruby [3.0.0 (2021-03-05)]
|
123
122
|
|
124
123
|
```
|
125
124
|
true
|
@@ -156,7 +155,7 @@ p 'ok'
|
|
156
155
|
ok
|
157
156
|
```
|
158
157
|
|
159
|
-
#### mruby [
|
158
|
+
#### mruby [3.0.0 (2021-03-05)]
|
160
159
|
|
161
160
|
```
|
162
161
|
test.rb:8: undefined method 'test_func' (NoMethodError)
|
@@ -178,7 +177,7 @@ defined?(Foo)
|
|
178
177
|
nil
|
179
178
|
```
|
180
179
|
|
181
|
-
#### mruby [
|
180
|
+
#### mruby [3.0.0 (2021-03-05)]
|
182
181
|
|
183
182
|
`NameError` is raised.
|
184
183
|
|
@@ -195,7 +194,7 @@ alias $a $__a__
|
|
195
194
|
|
196
195
|
` nil `
|
197
196
|
|
198
|
-
#### mruby [
|
197
|
+
#### mruby [3.0.0 (2021-03-05)]
|
199
198
|
|
200
199
|
Syntax error
|
201
200
|
|
@@ -217,7 +216,7 @@ end
|
|
217
216
|
`ArgumentError` is raised.
|
218
217
|
The re-defined `+` operator does not accept any arguments.
|
219
218
|
|
220
|
-
#### mruby [
|
219
|
+
#### mruby [3.0.0 (2021-03-05)]
|
221
220
|
|
222
221
|
` 'ab' `
|
223
222
|
Behavior of the operator wasn't changed.
|
@@ -233,7 +232,7 @@ $ ruby -e 'puts Proc.new {}.binding'
|
|
233
232
|
#<Binding:0x00000e9deabb9950>
|
234
233
|
```
|
235
234
|
|
236
|
-
#### mruby [
|
235
|
+
#### mruby [3.0.0 (2021-03-05)]
|
237
236
|
|
238
237
|
```
|
239
238
|
$ ./bin/mruby -e 'puts Proc.new {}.binding'
|
@@ -245,8 +244,7 @@ trace (most recent call last):
|
|
245
244
|
## Keyword arguments
|
246
245
|
|
247
246
|
mruby keyword arguments behave slightly different from CRuby 2.5
|
248
|
-
to make the behavior simpler and less confusing.
|
249
|
-
future, the simpler behavior will be adopted to CRuby as well.
|
247
|
+
to make the behavior simpler and less confusing.
|
250
248
|
|
251
249
|
#### Ruby [ruby 2.5.1p57 (2018-03-29 revision 63029)]
|
252
250
|
|
@@ -255,7 +253,7 @@ $ ruby -e 'def m(*r,**k) p [r,k] end; m("a"=>1,:b=>2)'
|
|
255
253
|
[[{"a"=>1}], {:b=>2}]
|
256
254
|
```
|
257
255
|
|
258
|
-
#### mruby [
|
256
|
+
#### mruby [3.0.0 (2021-03-05)]
|
259
257
|
|
260
258
|
```
|
261
259
|
$ ./bin/mruby -e 'def m(*r,**k) p [r,k] end; m("a"=>1,:b=>2)'
|
@@ -264,12 +262,27 @@ trace (most recent call last):
|
|
264
262
|
-e:1: keyword argument hash with non symbol keys (ArgumentError)
|
265
263
|
```
|
266
264
|
|
265
|
+
## `nil?` redefinition in conditional expressions
|
266
|
+
|
267
|
+
Redefinition of `nil?` is ignored in conditional expressions.
|
268
|
+
|
269
|
+
```ruby
|
270
|
+
a = "a"
|
271
|
+
def a.nil?
|
272
|
+
true
|
273
|
+
end
|
274
|
+
puts(a.nil? ? "truthy" : "falsy")
|
275
|
+
```
|
276
|
+
|
277
|
+
Ruby outputs `falsy`. mruby outputs `truthy`.
|
278
|
+
|
267
279
|
## Argument Destructuring
|
268
280
|
|
269
281
|
```ruby
|
270
282
|
def m(a,(b,c),d); p [a,b,c,d]; end
|
271
283
|
m(1,[2,3],4) # => [1,2,3,4]
|
272
284
|
```
|
285
|
+
|
273
286
|
Destructured arguments (`b` and `c` in above example) cannot be accessed
|
274
287
|
from the default expression of optional arguments and keyword arguments,
|
275
288
|
since actual assignment is done after the evaluation of those default
|
@@ -283,17 +296,3 @@ f(1,[2,3])
|
|
283
296
|
```
|
284
297
|
|
285
298
|
CRuby gives `[1,2,3,nil]`. mruby raises `NoMethodError` for `b`.
|
286
|
-
|
287
|
-
## `nil?` redefinition in conditional expressions
|
288
|
-
|
289
|
-
Redefinition of `nil?` is ignored in conditional expressions.
|
290
|
-
|
291
|
-
```ruby
|
292
|
-
a = "a"
|
293
|
-
def a.nil?
|
294
|
-
true
|
295
|
-
end
|
296
|
-
puts(a.nil? ? "truthy" : "falsy")
|
297
|
-
```
|
298
|
-
|
299
|
-
Ruby outputs `falsy`. mruby outputs `truthy`.
|
@@ -0,0 +1,163 @@
|
|
1
|
+
User visible changes in `mruby3`
|
2
|
+
===
|
3
|
+
|
4
|
+
# Build System
|
5
|
+
|
6
|
+
## `build_config` directory
|
7
|
+
|
8
|
+
Typical build configuration files are located in `build_config`
|
9
|
+
directory. For examples:
|
10
|
+
|
11
|
+
* `default`: the default configuration
|
12
|
+
* `host-gprof`: compiles with `gprof` for performance tuning
|
13
|
+
* `host-m32`: compiles in gcc 32bit mode on 64bit platforms
|
14
|
+
* `boxing`: compiles all three boxing options
|
15
|
+
* `clang-asan`: compiles with `clang`'s Address Sanitizer
|
16
|
+
|
17
|
+
You can specify the build configuration file with the
|
18
|
+
`MRUBY_CONFIG` environment variable (or `CONFIG` in short).
|
19
|
+
If the value specified by `MRUBY_CONFIG` is not the path to
|
20
|
+
the configuration file, `build_config/${MRUBY_CONFIG}.rb` is
|
21
|
+
used. So you can specify it as `rake MRUBY_CONFIG=boxing`,
|
22
|
+
for example.
|
23
|
+
|
24
|
+
# Build Configuration Contribution
|
25
|
+
|
26
|
+
When you write a new build configuration description, please
|
27
|
+
contribute. We welcome your contribution as a GitHub
|
28
|
+
pull-request.
|
29
|
+
|
30
|
+
# Language Changes
|
31
|
+
|
32
|
+
## New Syntax
|
33
|
+
|
34
|
+
We have ported some new syntax from CRuby.
|
35
|
+
|
36
|
+
* Single line pattern matching (`12 => x`);
|
37
|
+
mruby matches only with local variables at the moment
|
38
|
+
* Numbered block parameter (`x.map{_1 * 2}`)
|
39
|
+
* End-less `def` (`def double(x) = x*2`)
|
40
|
+
|
41
|
+
# Configuration Options Changed
|
42
|
+
|
43
|
+
## Renamed for consistency
|
44
|
+
|
45
|
+
Some configuration macro names are changed for consistency (use `MRB_USE_XXX`
|
46
|
+
or `MRB_NO_XXX`).
|
47
|
+
|
48
|
+
| mruby2 | mruby3 |
|
49
|
+
|--------------------------------|---------------------------|
|
50
|
+
| `MRB_ENABLE_ALL_SYMBOLS` | `MRB_USE_ALL_SYMBOLS` |
|
51
|
+
| `MRB_ENABLE_CXX_ABI` | `MRB_USE_CXX_ABI` |
|
52
|
+
| `MRB_ENABLE_CXX_EXCEPTION` | `MRB_USE_CXX_EXCEPTION` |
|
53
|
+
| `MRB_ENABLE_DEBUG_HOOK` | `MRB_USE_DEBUG_HOOK` |
|
54
|
+
| `MRB_DISABLE_DIRECT_THREADING` | `MRB_NO_DIRECT_THREADING` |
|
55
|
+
| `MRB_DISABLE_STDIO` | `MRB_NO_STDIO` |
|
56
|
+
| `MRB_METHOD_T_STRUCT` | `MRB_USE_METHOD_T_STRUCT` |
|
57
|
+
| `MRB_USE_FLOAT` | `MRB_USE_FLOAT32` |
|
58
|
+
| `MRB_WITHOUT_FLOAT` | `MRB_NO_FLOAT` |
|
59
|
+
| `ENABLE_LINENOISE` | `MRB_USE_LINENOISE` |
|
60
|
+
| `ENABLE_READLINE` | `MRB_USE_READLINE` |
|
61
|
+
| `DISABLE_MIRB_UNDERSCORE` | `MRB_NO_MIRB_UNDERSCORE` |
|
62
|
+
|
63
|
+
* `MRB_USE_FLOAT32` is changed from `MRB_USE_FLOAT` to make sure `float` here
|
64
|
+
means using single precision float, and not the opposite of `MRB_NO_FLOAT`.
|
65
|
+
* `MRB_USE_METHOD_T_STRUCT` uses `struct` version of `mrb_method_t`. More
|
66
|
+
portable but consumes more memory. Turned on by default on 32bit platforms.
|
67
|
+
* `MRB_` prefix is added to those without.
|
68
|
+
|
69
|
+
## `MRB_NO_BOXING`
|
70
|
+
|
71
|
+
Uses `struct` to represent `mrb_value`. Consumes more memory
|
72
|
+
but easier to investigate the internal and to debug. It used
|
73
|
+
to be default `mrb_value` representation. Now the default is
|
74
|
+
`MRB_WORD_BOXING`.
|
75
|
+
|
76
|
+
## `MRB_WORD_BOXING`
|
77
|
+
|
78
|
+
Pack `mrb_value` in an `intptr_t` integer. Consumes less
|
79
|
+
memory compared to `MRB_NO_BOXING` especially on 32 bit
|
80
|
+
platforms. `Fixnum` size is 31 bits so some integer values
|
81
|
+
does not fit in `Fixnum` integers.
|
82
|
+
|
83
|
+
## `MRB_NAN_BOXING`
|
84
|
+
|
85
|
+
Pack `mrb_value` in a floating pointer number. Nothing
|
86
|
+
changed from previous versions.
|
87
|
+
|
88
|
+
## `MRB_USE_MALLOC_TRIM`
|
89
|
+
|
90
|
+
Call `malloc_trim(0)` from mrb_full_gc() if this macro is defined.
|
91
|
+
If you are using glibc malloc, this macro could reduce memory consumption.
|
92
|
+
|
93
|
+
# Command Line Program
|
94
|
+
|
95
|
+
## `bin/mruby` (by mrbgems/mruby-bin-mruby)
|
96
|
+
|
97
|
+
The mruby3 now automatically detects `*.mrb` files without the `-b`
|
98
|
+
switch. Therefore, it can be mixed with the `*.rb` file in combination
|
99
|
+
with the `-r` switch and specified at the same time.
|
100
|
+
Here's an example that works fine:
|
101
|
+
|
102
|
+
```console
|
103
|
+
$ bin/mruby app.mrb
|
104
|
+
$ bin/mruby -r lib1.mrb -r lib2.rb app.rb
|
105
|
+
$ bin/mruby -r lib1.rb -r lib2.rb < app.mrb
|
106
|
+
```
|
107
|
+
|
108
|
+
# Internal Changes
|
109
|
+
|
110
|
+
## New Instructions
|
111
|
+
|
112
|
+
`mruby3` introduces a few new instructions.
|
113
|
+
|
114
|
+
Instructions that access pool[i]/syms[i] where i>255.
|
115
|
+
|
116
|
+
* `OP_LOADL16`
|
117
|
+
* `OP_STRING16`
|
118
|
+
* `OP_LOADSYM16`
|
119
|
+
|
120
|
+
Instructions that load a 32 bit integer.
|
121
|
+
|
122
|
+
* `OP_LOADI32`
|
123
|
+
|
124
|
+
Instruction that unwinds jump table for rescue/ensure.
|
125
|
+
|
126
|
+
* `OP_JMPUW`
|
127
|
+
|
128
|
+
Renamed from `OP_RAISE`
|
129
|
+
|
130
|
+
* `OP_RAISEIF`
|
131
|
+
|
132
|
+
Instruction that is reserved for the future keyword argument support.
|
133
|
+
|
134
|
+
* OP_SENDVK
|
135
|
+
|
136
|
+
## Removed Instructions
|
137
|
+
|
138
|
+
Instructions for old exception handling
|
139
|
+
|
140
|
+
* `OP_ONERR`
|
141
|
+
* `OP_POPERR`
|
142
|
+
* `OP_EPUSH`
|
143
|
+
* `OP_EPOP`
|
144
|
+
|
145
|
+
No more operand extension
|
146
|
+
|
147
|
+
* `OP_EXT1`
|
148
|
+
* `OP_EXT2`
|
149
|
+
* `OP_EXT3`
|
150
|
+
|
151
|
+
## Changed Instructions
|
152
|
+
|
153
|
+
Jump addresses used to be specified by absolute offset from the start of `iseq`. Now they are relative offset from the address of the next instruction.
|
154
|
+
|
155
|
+
## `Random` now use `xoshiro128++`.
|
156
|
+
|
157
|
+
For better and faster random number generation.
|
158
|
+
|
159
|
+
## Preallocated Symbol
|
160
|
+
|
161
|
+
Preallocated symbols are interned at compile-time. They can be accessed via symbols macros (e.g. `MRB_SYM()`).
|
162
|
+
|
163
|
+
See [Symbols](https://github.com/mruby/mruby/blob/master/doc/guides/symbol.md).
|
@@ -16,112 +16,111 @@ In the table.1 below, the second field describes the size (and
|
|
16
16
|
sign) of operands.
|
17
17
|
|
18
18
|
* B: 8bit
|
19
|
-
* sB: signed 8bit
|
20
19
|
* S: 16bit
|
21
20
|
* sS: signed 16bit
|
22
21
|
* W: 24bit
|
23
22
|
|
24
|
-
First two byte operands may be extended to 16bit. When those byte
|
25
|
-
operands are bigger than 256, the instruction will be prefixed by
|
26
|
-
`OP_EXT1` (means 1st operand is 16bit) or `OP_EXT2` (means 2nd operand
|
27
|
-
is 16bit) or `OP_EXT3` (means 1st and 2nd operands are 16bit).
|
28
|
-
|
29
|
-
For instructions marked by `'`, `OP_EXT1` can be prefixed. For those
|
30
|
-
with `"`, either `OP_EXT1` or `OP_EXT2` or `OP_EXT2` can be prefixed.
|
31
|
-
|
32
23
|
## table.1 Instruction Table
|
33
24
|
|
34
|
-
| Instruction Name | Operand type | Semantics
|
35
|
-
|
36
|
-
| OP_NOP | - |
|
37
|
-
| OP_MOVE
|
38
|
-
| OP_LOADL
|
39
|
-
| OP_LOADI
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
25
|
+
| Instruction Name | Operand type | Semantics |
|
26
|
+
|------------------|--------------|--------------------------------------------------------|
|
27
|
+
| OP_NOP | - | no operation |
|
28
|
+
| OP_MOVE | BB | R(a) = R(b) |
|
29
|
+
| OP_LOADL | BB | R(a) = Pool(b) |
|
30
|
+
| OP_LOADI | BB | R(a) = mrb_int(b) |
|
31
|
+
| OP_LOADINEG | BB | R(a) = mrb_int(-b) |
|
32
|
+
| OP_LOADI__1 | B | R(a) = mrb_int(-1) |
|
33
|
+
| OP_LOADI_0 | B | R(a) = mrb_int(0) |
|
34
|
+
| OP_LOADI_1 | B | R(a) = mrb_int(1) |
|
35
|
+
| OP_LOADI_2 | B | R(a) = mrb_int(2) |
|
36
|
+
| OP_LOADI_3 | B | R(a) = mrb_int(3) |
|
37
|
+
| OP_LOADI_4 | B | R(a) = mrb_int(4) |
|
38
|
+
| OP_LOADI_5 | B | R(a) = mrb_int(5) |
|
39
|
+
| OP_LOADI_6 | B | R(a) = mrb_int(6) |
|
40
|
+
| OP_LOADI_7 | B | R(a) = mrb_int(7) |
|
41
|
+
| OP_LOADI16 | BsS | R(a) = mrb_int(b) |
|
42
|
+
| OP_LOADSYM | BB | R(a) = Syms(b) |
|
43
|
+
| OP_LOADNIL | B | R(a) = nil |
|
44
|
+
| OP_LOADSELF | B | R(a) = self |
|
45
|
+
| OP_LOADT | B | R(a) = true |
|
46
|
+
| OP_LOADF | B | R(a) = false |
|
47
|
+
| OP_GETGV | BB | R(a) = getglobal(Syms(b)) |
|
48
|
+
| OP_SETGV | BB | setglobal(Syms(b), R(a)) |
|
49
|
+
| OP_GETSV | BB | R(a) = Special[Syms(b)] |
|
50
|
+
| OP_SETSV | BB | Special[Syms(b)] = R(a) |
|
51
|
+
| OP_GETIV | BB | R(a) = ivget(Syms(b)) |
|
52
|
+
| OP_SETIV | BB | ivset(Syms(b),R(a)) |
|
53
|
+
| OP_GETCV | BB | R(a) = cvget(Syms(b)) |
|
54
|
+
| OP_SETCV | BB | cvset(Syms(b),R(a)) |
|
55
|
+
| OP_GETCONST | BB | R(a) = constget(Syms(b)) |
|
56
|
+
| OP_SETCONST | BB | constset(Syms(b),R(a)) |
|
57
|
+
| OP_GETMCNST | BB | R(a) = R(a)::Syms(b) |
|
58
|
+
| OP_SETMCNST | BB | R(a+1)::Syms(b) = R(a) |
|
59
|
+
| OP_GETUPVAR | BBB | R(a) = uvget(b,c) |
|
60
|
+
| OP_SETUPVAR | BBB | uvset(b,c,R(a)) |
|
61
|
+
| OP_JMP | S | pc=a |
|
62
|
+
| OP_JMPIF | BS | if R(a) pc=b |
|
63
|
+
| OP_JMPNOT | BS | if !R(a) pc=b |
|
64
|
+
| OP_JMPNIL | BS | if R(a)==nil pc=b |
|
65
|
+
| OP_JMPUW | S | unwind_and_jump_to(a) |
|
66
|
+
| OP_EXCEPT | B | R(a) = exc |
|
67
|
+
| OP_RESCUE | BB | R(b) = R(a).isa?(R(b)) |
|
68
|
+
| OP_RAISEIF | B | raise(R(a)) if R(a) |
|
69
|
+
| OP_SENDV | BB | R(a) = call(R(a),Syms(b),*R(a+1)) |
|
70
|
+
| OP_SENDVB | BB | R(a) = call(R(a),Syms(b),*R(a+1),&R(a+2)) |
|
71
|
+
| OP_SEND | BBB | R(a) = call(R(a),Syms(b),R(a+1),...,R(a+c)) |
|
72
|
+
| OP_SENDB | BBB | R(a) = call(R(a),Syms(b),R(a+1),...,R(a+c),&R(a+c+1)) |
|
73
|
+
| OP_CALL | - | R(0) = self.call(frame.argc, frame.argv) |
|
74
|
+
| OP_SUPER | BB | R(a) = super(R(a+1),... ,R(a+b+1)) |
|
75
|
+
| OP_ARGARY | BS | R(a) = argument array (16=5:1:5:1:4) |
|
76
|
+
| OP_ENTER | W | arg setup according to flags (23=5:5:1:5:5:1:1) |
|
77
|
+
| OP_KEY_P | BB | R(a) = kdict.key?(Syms(b)) |
|
78
|
+
| OP_KEYEND | - | raise unless kdict.empty? |
|
79
|
+
| OP_KARG | BB | R(a) = kdict[Syms(b)]; kdict.delete(Syms(b)) |
|
80
|
+
| OP_RETURN | B | return R(a) (normal) |
|
81
|
+
| OP_RETURN_BLK | B | return R(a) (in-block return) |
|
82
|
+
| OP_BREAK | B | break R(a) |
|
83
|
+
| OP_BLKPUSH | BS | R(a) = block (16=5:1:5:1:4) |
|
84
|
+
| OP_ADD | B | R(a) = R(a)+R(a+1) |
|
85
|
+
| OP_ADDI | BB | R(a) = R(a)+mrb_int(b) |
|
86
|
+
| OP_SUB | B | R(a) = R(a)-R(a+1) |
|
87
|
+
| OP_SUBI | BB | R(a) = R(a)-mrb_int(b) |
|
88
|
+
| OP_MUL | B | R(a) = R(a)*R(a+1) |
|
89
|
+
| OP_DIV | B | R(a) = R(a)/R(a+1) |
|
90
|
+
| OP_EQ | B | R(a) = R(a)==R(a+1) |
|
91
|
+
| OP_LT | B | R(a) = R(a)<R(a+1) |
|
92
|
+
| OP_LE | B | R(a) = R(a)<=R(a+1) |
|
93
|
+
| OP_GT | B | R(a) = R(a)>R(a+1) |
|
94
|
+
| OP_GE | B | R(a) = R(a)>=R(a+1) |
|
95
|
+
| OP_ARRAY | BB | R(a) = ary_new(R(a),R(a+1)..R(a+b)) |
|
96
|
+
| OP_ARRAY2 | BBB | R(a) = ary_new(R(b),R(b+1)..R(b+c)) |
|
97
|
+
| OP_ARYCAT | B | ary_cat(R(a),R(a+1)) |
|
98
|
+
| OP_ARYPUSH | B | ary_push(R(a),R(a+1)) |
|
99
|
+
| OP_ARYDUP | B | R(a) = ary_dup(R(a)) |
|
100
|
+
| OP_AREF | BBB | R(a) = R(b)[c] |
|
101
|
+
| OP_ASET | BBB | R(a)[c] = R(b) |
|
102
|
+
| OP_APOST | BBB | *R(a),R(a+1)..R(a+c) = R(a)[b..] |
|
103
|
+
| OP_INTERN | B | R(a) = intern(R(a)) |
|
104
|
+
| OP_STRING | BB | R(a) = str_dup(Lit(b)) |
|
105
|
+
| OP_STRCAT | B | str_cat(R(a),R(a+1)) |
|
106
|
+
| OP_HASH | BB | R(a) = hash_new(R(a),R(a+1)..R(a+b)) |
|
107
|
+
| OP_HASHADD | BB | R(a) = hash_push(R(a),R(a+1)..R(a+b)) |
|
108
|
+
| OP_HASHCAT | B | R(a) = hash_cat(R(a),R(a+1)) |
|
109
|
+
| OP_LAMBDA | BB | R(a) = lambda(SEQ[b],OP_L_LAMBDA) |
|
110
|
+
| OP_BLOCK | BB | R(a) = lambda(SEQ[b],OP_L_BLOCK) |
|
111
|
+
| OP_METHOD | BB | R(a) = lambda(SEQ[b],OP_L_METHOD) |
|
112
|
+
| OP_RANGE_INC | B | R(a) = range_new(R(a),R(a+1),FALSE) |
|
113
|
+
| OP_RANGE_EXC | B | R(a) = range_new(R(a),R(a+1),TRUE) |
|
114
|
+
| OP_OCLASS | B | R(a) = ::Object |
|
115
|
+
| OP_CLASS | BB | R(a) = newclass(R(a),Syms(b),R(a+1)) |
|
116
|
+
| OP_MODULE | BB | R(a) = newmodule(R(a),Syms(b)) |
|
117
|
+
| OP_EXEC | BB | R(a) = blockexec(R(a),SEQ[b]) |
|
118
|
+
| OP_DEF | BB | R(a).newmethod(Syms(b),R(a+1)) |
|
119
|
+
| OP_ALIAS | BB | alias_method(target_class,Syms(a),Syms(b)) |
|
120
|
+
| OP_UNDEF | B | undef_method(target_class,Syms(a)) |
|
121
|
+
| OP_SCLASS | B | R(a) = R(a).singleton_class |
|
122
|
+
| OP_TCLASS | B | R(a) = target_class |
|
123
|
+
| OP_DEBUG | BBB | print a,b,c |
|
124
|
+
| OP_ERR | B | raise(LocalJumpError, Lit(a)) |
|
125
|
+
| OP_STOP | - | stop VM |
|
126
|
+
|------------------|--------------|--------------------------------------------------------|
|