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
@@ -209,17 +209,18 @@ def assert_float_and_int(exp_ary, act_ary)
|
|
209
209
|
assert_float(+Math::PI, Math.atan2(+0.0, -0.0))
|
210
210
|
assert_float(-Math::PI, Math.atan2(-0.0, -0.0))
|
211
211
|
|
212
|
+
assert_float(0, Math.atan2(0, 1))
|
213
|
+
assert_float(Math::PI / 4, Math.atan2(1, 1))
|
214
|
+
assert_float(Math::PI / 2, Math.atan2(1, 0))
|
215
|
+
|
212
216
|
inf = Float::INFINITY
|
217
|
+
skip "Math.atan2() return NaN" if Math.atan2(+inf, -inf).nan?
|
213
218
|
expected = 3.0 * Math::PI / 4.0
|
214
219
|
assert_float(+expected, Math.atan2(+inf, -inf))
|
215
220
|
assert_float(-expected, Math.atan2(-inf, -inf))
|
216
221
|
expected = Math::PI / 4.0
|
217
222
|
assert_float(+expected, Math.atan2(+inf, +inf))
|
218
223
|
assert_float(-expected, Math.atan2(-inf, +inf))
|
219
|
-
|
220
|
-
assert_float(0, Math.atan2(0, 1))
|
221
|
-
assert_float(Math::PI / 4, Math.atan2(1, 1))
|
222
|
-
assert_float(Math::PI / 2, Math.atan2(1, 0))
|
223
224
|
end
|
224
225
|
|
225
226
|
assert('Math.ldexp') do
|
@@ -5,6 +5,7 @@
|
|
5
5
|
#include "mruby/proc.h"
|
6
6
|
#include "mruby/class.h"
|
7
7
|
#include "mruby/string.h"
|
8
|
+
#include "mruby/presym.h"
|
8
9
|
|
9
10
|
typedef enum {
|
10
11
|
NOEX_PUBLIC = 0x00,
|
@@ -132,66 +133,75 @@ mrb_obj_ivar_set(mrb_state *mrb, mrb_value self)
|
|
132
133
|
static mrb_value
|
133
134
|
mrb_local_variables(mrb_state *mrb, mrb_value self)
|
134
135
|
{
|
135
|
-
struct RProc *proc;
|
136
|
-
mrb_irep *irep;
|
136
|
+
const struct RProc *proc;
|
137
|
+
const mrb_irep *irep;
|
137
138
|
mrb_value vars;
|
138
139
|
size_t i;
|
139
140
|
|
140
141
|
proc = mrb->c->ci[-1].proc;
|
141
142
|
|
142
|
-
if (MRB_PROC_CFUNC_P(proc)) {
|
143
|
+
if (proc == NULL || MRB_PROC_CFUNC_P(proc)) {
|
143
144
|
return mrb_ary_new(mrb);
|
144
145
|
}
|
145
146
|
vars = mrb_hash_new(mrb);
|
146
147
|
while (proc) {
|
147
148
|
if (MRB_PROC_CFUNC_P(proc)) break;
|
148
149
|
irep = proc->body.irep;
|
149
|
-
if (
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
150
|
+
if (irep->lv) {
|
151
|
+
for (i = 0; i + 1 < irep->nlocals; ++i) {
|
152
|
+
if (irep->lv[i]) {
|
153
|
+
mrb_sym sym = irep->lv[i];
|
154
|
+
const char *name = mrb_sym_name(mrb, sym);
|
155
|
+
switch (name[0]) {
|
156
|
+
case '*': case '&':
|
157
|
+
break;
|
158
|
+
default:
|
159
|
+
mrb_hash_set(mrb, vars, mrb_symbol_value(sym), mrb_true_value());
|
160
|
+
break;
|
161
|
+
}
|
160
162
|
}
|
161
163
|
}
|
162
164
|
}
|
163
|
-
if (
|
165
|
+
if (MRB_PROC_SCOPE_P(proc)) break;
|
164
166
|
proc = proc->upper;
|
165
|
-
//if (MRB_PROC_SCOPE_P(proc)) break;
|
166
|
-
if (!proc->c) break;
|
167
167
|
}
|
168
168
|
|
169
169
|
return mrb_hash_keys(mrb, vars);
|
170
170
|
}
|
171
171
|
|
172
172
|
KHASH_DECLARE(st, mrb_sym, char, FALSE)
|
173
|
+
KHASH_DEFINE(st, mrb_sym, char, FALSE, kh_int_hash_func, kh_int_hash_equal)
|
173
174
|
|
174
|
-
|
175
|
-
|
175
|
+
struct mt_set {
|
176
|
+
khash_t(st) *set;
|
177
|
+
khash_t(st) *undef;
|
178
|
+
};
|
179
|
+
|
180
|
+
static int
|
181
|
+
method_entry_i(mrb_state *mrb, mrb_sym mid, mrb_method_t m, void *p)
|
176
182
|
{
|
177
|
-
|
183
|
+
struct mt_set *s = (struct mt_set*)p;
|
178
184
|
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
if (kh_exist(h, i)) {
|
183
|
-
mrb_method_t m = kh_value(h, i);
|
184
|
-
if (MRB_METHOD_UNDEF_P(m)) {
|
185
|
-
if (undef) {
|
186
|
-
kh_put(st, mrb, undef, kh_key(h, i));
|
187
|
-
}
|
188
|
-
}
|
189
|
-
else if (undef == NULL ||
|
190
|
-
kh_get(st, mrb, undef, kh_key(h, i)) == kh_end(undef)) {
|
191
|
-
kh_put(st, mrb, set, kh_key(h, i));
|
192
|
-
}
|
185
|
+
if (MRB_METHOD_UNDEF_P(m)) {
|
186
|
+
if (s->undef) {
|
187
|
+
kh_put(st, mrb, s->undef, mid);
|
193
188
|
}
|
194
189
|
}
|
190
|
+
else if (s->undef == NULL ||
|
191
|
+
kh_get(st, mrb, s->undef, mid) == kh_end(s->undef)) {
|
192
|
+
kh_put(st, mrb, s->set, mid);
|
193
|
+
}
|
194
|
+
return 0;
|
195
|
+
}
|
196
|
+
|
197
|
+
static void
|
198
|
+
method_entry_loop(mrb_state *mrb, struct RClass *klass, khash_t(st) *set, khash_t(st) *undef)
|
199
|
+
{
|
200
|
+
struct mt_set s;
|
201
|
+
|
202
|
+
s.set = set;
|
203
|
+
s.undef = undef;
|
204
|
+
mrb_mt_foreach(mrb, klass, method_entry_i, (void*)&s);
|
195
205
|
}
|
196
206
|
|
197
207
|
static mrb_value
|
@@ -392,21 +402,12 @@ mrb_obj_singleton_methods_m(mrb_state *mrb, mrb_value self)
|
|
392
402
|
return mrb_obj_singleton_methods(mrb, recur, self);
|
393
403
|
}
|
394
404
|
|
405
|
+
mrb_value mrb_mod_define_method_m(mrb_state *mrb, struct RClass *c);
|
406
|
+
|
395
407
|
static mrb_value
|
396
408
|
mod_define_singleton_method(mrb_state *mrb, mrb_value self)
|
397
409
|
{
|
398
|
-
|
399
|
-
mrb_method_t m;
|
400
|
-
mrb_sym mid;
|
401
|
-
mrb_value blk = mrb_nil_value();
|
402
|
-
|
403
|
-
mrb_get_args(mrb, "n&!", &mid, &blk);
|
404
|
-
p = (struct RProc*)mrb_obj_alloc(mrb, MRB_TT_PROC, mrb->proc_class);
|
405
|
-
mrb_proc_copy(p, mrb_proc_ptr(blk));
|
406
|
-
p->flags |= MRB_PROC_STRICT;
|
407
|
-
MRB_METHOD_FROM_PROC(m, p);
|
408
|
-
mrb_define_method_raw(mrb, mrb_class_ptr(mrb_singleton_class(mrb, self)), mid, m);
|
409
|
-
return mrb_symbol_value(mid);
|
410
|
+
return mrb_mod_define_method_m(mrb, mrb_class_ptr(mrb_singleton_class(mrb, self)));
|
410
411
|
}
|
411
412
|
|
412
413
|
static mrb_bool
|
@@ -609,28 +610,6 @@ mrb_mod_instance_methods(mrb_state *mrb, mrb_value mod)
|
|
609
610
|
return mrb_class_instance_method_list(mrb, recur, c, 0);
|
610
611
|
}
|
611
612
|
|
612
|
-
static void
|
613
|
-
remove_method(mrb_state *mrb, mrb_value mod, mrb_sym mid)
|
614
|
-
{
|
615
|
-
struct RClass *c = mrb_class_ptr(mod);
|
616
|
-
khash_t(mt) *h;
|
617
|
-
khiter_t k;
|
618
|
-
|
619
|
-
MRB_CLASS_ORIGIN(c);
|
620
|
-
h = c->mt;
|
621
|
-
|
622
|
-
if (h) {
|
623
|
-
k = kh_get(mt, mrb, h, mid);
|
624
|
-
if (k != kh_end(h)) {
|
625
|
-
kh_del(mt, mrb, h, k);
|
626
|
-
mrb_funcall(mrb, mod, "method_removed", 1, mrb_symbol_value(mid));
|
627
|
-
return;
|
628
|
-
}
|
629
|
-
}
|
630
|
-
|
631
|
-
mrb_name_error(mrb, mid, "method '%n' not defined in %v", mid, mod);
|
632
|
-
}
|
633
|
-
|
634
613
|
/* 15.2.2.4.41 */
|
635
614
|
/*
|
636
615
|
* call-seq:
|
@@ -644,12 +623,14 @@ static mrb_value
|
|
644
623
|
mrb_mod_remove_method(mrb_state *mrb, mrb_value mod)
|
645
624
|
{
|
646
625
|
mrb_int argc;
|
647
|
-
mrb_value *argv;
|
626
|
+
const mrb_value *argv;
|
627
|
+
struct RClass *c = mrb_class_ptr(mod);
|
648
628
|
|
649
629
|
mrb_get_args(mrb, "*", &argv, &argc);
|
650
630
|
mrb_check_frozen(mrb, mrb_obj_ptr(mod));
|
651
631
|
while (argc--) {
|
652
|
-
|
632
|
+
mrb_remove_method(mrb, c, mrb_obj_to_sym(mrb, *argv));
|
633
|
+
mrb_funcall_id(mrb, mod, MRB_SYM(method_removed), 1, *argv);
|
653
634
|
argv++;
|
654
635
|
}
|
655
636
|
return mod;
|
@@ -665,14 +646,13 @@ mrb_mod_s_constants(mrb_state *mrb, mrb_value mod)
|
|
665
646
|
static mrb_value
|
666
647
|
mrb_mod_s_nesting(mrb_state *mrb, mrb_value mod)
|
667
648
|
{
|
668
|
-
struct RProc *proc;
|
649
|
+
const struct RProc *proc;
|
669
650
|
mrb_value ary;
|
670
651
|
struct RClass *c = NULL;
|
671
652
|
|
672
653
|
ary = mrb_ary_new(mrb);
|
673
654
|
proc = mrb->c->ci[-1].proc; /* callee proc */
|
674
|
-
|
675
|
-
while (proc) {
|
655
|
+
while (proc && !MRB_PROC_CFUNC_P(proc)) {
|
676
656
|
if (MRB_PROC_SCOPE_P(proc)) {
|
677
657
|
struct RClass *c2 = MRB_PROC_TARGET_CLASS(proc);
|
678
658
|
|
@@ -686,6 +666,9 @@ mrb_mod_s_nesting(mrb_state *mrb, mrb_value mod)
|
|
686
666
|
return ary;
|
687
667
|
}
|
688
668
|
|
669
|
+
/* implementation of #send method */
|
670
|
+
mrb_value mrb_f_send(mrb_state *mrb, mrb_value self);
|
671
|
+
|
689
672
|
void
|
690
673
|
mrb_mruby_metaprog_gem_init(mrb_state* mrb)
|
691
674
|
{
|
@@ -114,6 +114,15 @@ def foo
|
|
114
114
|
# Kernel#local_variables: 15.3.1.3.28
|
115
115
|
local_variables.sort
|
116
116
|
}.call(-1, -2)
|
117
|
+
|
118
|
+
a = Object.new
|
119
|
+
def a.hoge(vars, *, **)
|
120
|
+
Proc.new {
|
121
|
+
x, y = 1, 2
|
122
|
+
local_variables.sort
|
123
|
+
}
|
124
|
+
end
|
125
|
+
assert_equal([:vars, :x, :y]) { a.hoge(0).call }
|
117
126
|
end
|
118
127
|
|
119
128
|
assert('Kernel#define_singleton_method') do
|
@@ -386,15 +395,15 @@ def foo; end
|
|
386
395
|
|
387
396
|
assert('alias_method and remove_method') do
|
388
397
|
begin
|
389
|
-
|
390
|
-
|
398
|
+
Integer.alias_method :to_s_, :to_s
|
399
|
+
Integer.remove_method :to_s
|
391
400
|
|
392
401
|
assert_nothing_raised do
|
393
402
|
# segfaults if mrb_cptr is used
|
394
403
|
1.to_s
|
395
404
|
end
|
396
405
|
ensure
|
397
|
-
|
398
|
-
|
406
|
+
Integer.alias_method :to_s, :to_s_
|
407
|
+
Integer.remove_method :to_s_
|
399
408
|
end
|
400
409
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
mruby-method
|
2
2
|
===
|
3
3
|
|
4
|
-
A
|
4
|
+
A implementation of class **Method** and **UnboundMethod** for mruby
|
5
5
|
|
6
6
|
```ruby
|
7
7
|
p Enumerable.instance_method(:find_all).source_location
|
@@ -10,11 +10,12 @@ p Enumerable.instance_method(:find_all).source_location
|
|
10
10
|
|
11
11
|
# Note
|
12
12
|
|
13
|
-
|
13
|
+
You need to enable debug option in your build configuration to use
|
14
|
+
`source_location` method in this gem, for example:
|
14
15
|
|
15
16
|
```ruby
|
16
17
|
MRuby::Build.new do |conf|
|
17
|
-
enable_debug
|
18
|
+
conf.enable_debug
|
18
19
|
end
|
19
20
|
```
|
20
21
|
|
@@ -4,6 +4,7 @@
|
|
4
4
|
#include "mruby/variable.h"
|
5
5
|
#include "mruby/proc.h"
|
6
6
|
#include "mruby/string.h"
|
7
|
+
#include "mruby/presym.h"
|
7
8
|
|
8
9
|
static struct RObject *
|
9
10
|
method_object_alloc(mrb_state *mrb, struct RClass *mclass)
|
@@ -29,55 +30,54 @@ static mrb_value
|
|
29
30
|
unbound_method_bind(mrb_state *mrb, mrb_value self)
|
30
31
|
{
|
31
32
|
struct RObject *me;
|
32
|
-
mrb_value owner = mrb_iv_get(mrb, self,
|
33
|
-
mrb_value name = mrb_iv_get(mrb, self,
|
34
|
-
mrb_value proc = mrb_iv_get(mrb, self,
|
35
|
-
mrb_value klass = mrb_iv_get(mrb, self,
|
36
|
-
mrb_value recv;
|
33
|
+
mrb_value owner = mrb_iv_get(mrb, self, MRB_SYM(_owner));
|
34
|
+
mrb_value name = mrb_iv_get(mrb, self, MRB_SYM(_name));
|
35
|
+
mrb_value proc = mrb_iv_get(mrb, self, MRB_SYM(_proc));
|
36
|
+
mrb_value klass = mrb_iv_get(mrb, self, MRB_SYM(_klass));
|
37
|
+
mrb_value recv = mrb_get_arg1(mrb);
|
37
38
|
|
38
|
-
mrb_get_args(mrb, "o", &recv);
|
39
39
|
bind_check(mrb, recv, owner);
|
40
|
-
me = method_object_alloc(mrb,
|
41
|
-
mrb_obj_iv_set(mrb, me,
|
42
|
-
mrb_obj_iv_set(mrb, me,
|
43
|
-
mrb_obj_iv_set(mrb, me,
|
44
|
-
mrb_obj_iv_set(mrb, me,
|
45
|
-
mrb_obj_iv_set(mrb, me,
|
40
|
+
me = method_object_alloc(mrb, mrb_class_get_id(mrb, MRB_SYM(Method)));
|
41
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_owner), owner);
|
42
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_recv), recv);
|
43
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_name), name);
|
44
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_proc), proc);
|
45
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_klass), klass);
|
46
46
|
|
47
47
|
return mrb_obj_value(me);
|
48
48
|
}
|
49
49
|
|
50
|
-
#define IV_GET(value, name) mrb_iv_get(mrb, value,
|
50
|
+
#define IV_GET(value, name) mrb_iv_get(mrb, value, name)
|
51
51
|
static mrb_value
|
52
52
|
method_eql(mrb_state *mrb, mrb_value self)
|
53
53
|
{
|
54
|
-
mrb_value other
|
54
|
+
mrb_value other = mrb_get_arg1(mrb);
|
55
|
+
mrb_value receiver, orig_proc, other_proc;
|
55
56
|
struct RClass *owner, *klass;
|
56
57
|
struct RProc *orig_rproc, *other_rproc;
|
57
58
|
|
58
|
-
mrb_get_args(mrb, "o", &other);
|
59
59
|
if (!mrb_obj_is_instance_of(mrb, other, mrb_class(mrb, self)))
|
60
60
|
return mrb_false_value();
|
61
61
|
|
62
62
|
if (mrb_class(mrb, self) != mrb_class(mrb, other))
|
63
63
|
return mrb_false_value();
|
64
64
|
|
65
|
-
klass = mrb_class_ptr(IV_GET(self,
|
66
|
-
if (klass != mrb_class_ptr(IV_GET(other,
|
65
|
+
klass = mrb_class_ptr(IV_GET(self, MRB_SYM(_klass)));
|
66
|
+
if (klass != mrb_class_ptr(IV_GET(other, MRB_SYM(_klass))))
|
67
67
|
return mrb_false_value();
|
68
68
|
|
69
|
-
owner = mrb_class_ptr(IV_GET(self,
|
70
|
-
if (owner != mrb_class_ptr(IV_GET(other,
|
69
|
+
owner = mrb_class_ptr(IV_GET(self, MRB_SYM(_owner)));
|
70
|
+
if (owner != mrb_class_ptr(IV_GET(other, MRB_SYM(_owner))))
|
71
71
|
return mrb_false_value();
|
72
72
|
|
73
|
-
receiver = IV_GET(self,
|
74
|
-
if (!mrb_obj_equal(mrb, receiver, IV_GET(other,
|
73
|
+
receiver = IV_GET(self, MRB_SYM(_recv));
|
74
|
+
if (!mrb_obj_equal(mrb, receiver, IV_GET(other, MRB_SYM(_recv))))
|
75
75
|
return mrb_false_value();
|
76
76
|
|
77
|
-
orig_proc = IV_GET(self,
|
78
|
-
other_proc = IV_GET(other,
|
77
|
+
orig_proc = IV_GET(self, MRB_SYM(_proc));
|
78
|
+
other_proc = IV_GET(other, MRB_SYM(_proc));
|
79
79
|
if (mrb_nil_p(orig_proc) && mrb_nil_p(other_proc)) {
|
80
|
-
if (mrb_symbol(IV_GET(self,
|
80
|
+
if (mrb_symbol(IV_GET(self, MRB_SYM(_name))) == mrb_symbol(IV_GET(other, MRB_SYM(_name))))
|
81
81
|
return mrb_true_value();
|
82
82
|
else
|
83
83
|
return mrb_false_value();
|
@@ -110,7 +110,7 @@ method_eql(mrb_state *mrb, mrb_value self)
|
|
110
110
|
|
111
111
|
static mrb_value
|
112
112
|
mcall(mrb_state *mrb, mrb_value recv, mrb_value proc, mrb_value name, struct RClass *owner,
|
113
|
-
|
113
|
+
mrb_int argc, const mrb_value *argv, mrb_value block)
|
114
114
|
{
|
115
115
|
mrb_value ret;
|
116
116
|
mrb_sym orig_mid = mrb->c->ci->mid;
|
@@ -119,7 +119,7 @@ mcall(mrb_state *mrb, mrb_value recv, mrb_value proc, mrb_value name, struct RCl
|
|
119
119
|
if (mrb_nil_p(proc)) {
|
120
120
|
mrb_value missing_argv = mrb_ary_new_from_values(mrb, argc, argv);
|
121
121
|
mrb_ary_unshift(mrb, missing_argv, name);
|
122
|
-
ret = mrb_funcall_argv(mrb, recv,
|
122
|
+
ret = mrb_funcall_argv(mrb, recv, MRB_SYM(method_missing), argc + 1, RARRAY_PTR(missing_argv));
|
123
123
|
}
|
124
124
|
else if (!mrb_nil_p(block)) {
|
125
125
|
/*
|
@@ -138,12 +138,13 @@ mcall(mrb_state *mrb, mrb_value recv, mrb_value proc, mrb_value name, struct RCl
|
|
138
138
|
static mrb_value
|
139
139
|
method_call(mrb_state *mrb, mrb_value self)
|
140
140
|
{
|
141
|
-
mrb_value proc = mrb_iv_get(mrb, self,
|
142
|
-
mrb_value name = mrb_iv_get(mrb, self,
|
143
|
-
mrb_value recv = mrb_iv_get(mrb, self,
|
144
|
-
struct RClass *owner = mrb_class_ptr(mrb_iv_get(mrb, self,
|
141
|
+
mrb_value proc = mrb_iv_get(mrb, self, MRB_SYM(_proc));
|
142
|
+
mrb_value name = mrb_iv_get(mrb, self, MRB_SYM(_name));
|
143
|
+
mrb_value recv = mrb_iv_get(mrb, self, MRB_SYM(_recv));
|
144
|
+
struct RClass *owner = mrb_class_ptr(mrb_iv_get(mrb, self, MRB_SYM(_owner)));
|
145
145
|
mrb_int argc;
|
146
|
-
mrb_value *argv
|
146
|
+
const mrb_value *argv;
|
147
|
+
mrb_value block;
|
147
148
|
|
148
149
|
mrb_get_args(mrb, "*&", &argv, &argc, &block);
|
149
150
|
return mcall(mrb, recv, proc, name, owner, argc, argv, block);
|
@@ -152,12 +153,13 @@ method_call(mrb_state *mrb, mrb_value self)
|
|
152
153
|
static mrb_value
|
153
154
|
method_bcall(mrb_state *mrb, mrb_value self)
|
154
155
|
{
|
155
|
-
mrb_value proc = mrb_iv_get(mrb, self,
|
156
|
-
mrb_value name = mrb_iv_get(mrb, self,
|
157
|
-
mrb_value recv = mrb_iv_get(mrb, self,
|
158
|
-
mrb_value owner = mrb_iv_get(mrb, self,
|
156
|
+
mrb_value proc = mrb_iv_get(mrb, self, MRB_SYM(_proc));
|
157
|
+
mrb_value name = mrb_iv_get(mrb, self, MRB_SYM(_name));
|
158
|
+
mrb_value recv = mrb_iv_get(mrb, self, MRB_SYM(_recv));
|
159
|
+
mrb_value owner = mrb_iv_get(mrb, self, MRB_SYM(_owner));
|
159
160
|
mrb_int argc;
|
160
|
-
mrb_value *argv
|
161
|
+
const mrb_value *argv;
|
162
|
+
mrb_value block;
|
161
163
|
|
162
164
|
mrb_get_args(mrb, "o*&", &recv, &argv, &argc, &block);
|
163
165
|
bind_check(mrb, recv, owner);
|
@@ -168,17 +170,17 @@ static mrb_value
|
|
168
170
|
method_unbind(mrb_state *mrb, mrb_value self)
|
169
171
|
{
|
170
172
|
struct RObject *ume;
|
171
|
-
mrb_value owner = mrb_iv_get(mrb, self,
|
172
|
-
mrb_value name = mrb_iv_get(mrb, self,
|
173
|
-
mrb_value proc = mrb_iv_get(mrb, self,
|
174
|
-
mrb_value klass = mrb_iv_get(mrb, self,
|
173
|
+
mrb_value owner = mrb_iv_get(mrb, self, MRB_SYM(_owner));
|
174
|
+
mrb_value name = mrb_iv_get(mrb, self, MRB_SYM(_name));
|
175
|
+
mrb_value proc = mrb_iv_get(mrb, self, MRB_SYM(_proc));
|
176
|
+
mrb_value klass = mrb_iv_get(mrb, self, MRB_SYM(_klass));
|
175
177
|
|
176
178
|
ume = method_object_alloc(mrb, mrb_class_get(mrb, "UnboundMethod"));
|
177
|
-
mrb_obj_iv_set(mrb, ume,
|
178
|
-
mrb_obj_iv_set(mrb, ume,
|
179
|
-
mrb_obj_iv_set(mrb, ume,
|
180
|
-
mrb_obj_iv_set(mrb, ume,
|
181
|
-
mrb_obj_iv_set(mrb, ume,
|
179
|
+
mrb_obj_iv_set(mrb, ume, MRB_SYM(_owner), owner);
|
180
|
+
mrb_obj_iv_set(mrb, ume, MRB_SYM(_recv), mrb_nil_value());
|
181
|
+
mrb_obj_iv_set(mrb, ume, MRB_SYM(_name), name);
|
182
|
+
mrb_obj_iv_set(mrb, ume, MRB_SYM(_proc), proc);
|
183
|
+
mrb_obj_iv_set(mrb, ume, MRB_SYM(_klass), klass);
|
182
184
|
|
183
185
|
return mrb_obj_value(ume);
|
184
186
|
}
|
@@ -197,10 +199,10 @@ method_search_vm(mrb_state *mrb, struct RClass **cp, mrb_sym mid)
|
|
197
199
|
static mrb_value
|
198
200
|
method_super_method(mrb_state *mrb, mrb_value self)
|
199
201
|
{
|
200
|
-
mrb_value recv = mrb_iv_get(mrb, self,
|
201
|
-
mrb_value klass = mrb_iv_get(mrb, self,
|
202
|
-
mrb_value owner = mrb_iv_get(mrb, self,
|
203
|
-
mrb_value name = mrb_iv_get(mrb, self,
|
202
|
+
mrb_value recv = mrb_iv_get(mrb, self, MRB_SYM(_recv));
|
203
|
+
mrb_value klass = mrb_iv_get(mrb, self, MRB_SYM(_klass));
|
204
|
+
mrb_value owner = mrb_iv_get(mrb, self, MRB_SYM(_owner));
|
205
|
+
mrb_value name = mrb_iv_get(mrb, self, MRB_SYM(_name));
|
204
206
|
struct RClass *super, *rklass;
|
205
207
|
struct RProc *proc;
|
206
208
|
struct RObject *me;
|
@@ -226,11 +228,11 @@ method_super_method(mrb_state *mrb, mrb_value self)
|
|
226
228
|
super = super->c;
|
227
229
|
|
228
230
|
me = method_object_alloc(mrb, mrb_obj_class(mrb, self));
|
229
|
-
mrb_obj_iv_set(mrb, me,
|
230
|
-
mrb_obj_iv_set(mrb, me,
|
231
|
-
mrb_obj_iv_set(mrb, me,
|
232
|
-
mrb_obj_iv_set(mrb, me,
|
233
|
-
mrb_obj_iv_set(mrb, me,
|
231
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_owner), mrb_obj_value(super));
|
232
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_recv), recv);
|
233
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_name), name);
|
234
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_proc), mrb_obj_value(proc));
|
235
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_klass), mrb_obj_value(rklass));
|
234
236
|
|
235
237
|
return mrb_obj_value(me);
|
236
238
|
}
|
@@ -238,7 +240,7 @@ method_super_method(mrb_state *mrb, mrb_value self)
|
|
238
240
|
static mrb_value
|
239
241
|
method_arity(mrb_state *mrb, mrb_value self)
|
240
242
|
{
|
241
|
-
mrb_value proc = mrb_iv_get(mrb, self,
|
243
|
+
mrb_value proc = mrb_iv_get(mrb, self, MRB_SYM(_proc));
|
242
244
|
mrb_int arity = mrb_nil_p(proc) ? -1 : mrb_proc_arity(mrb_proc_ptr(proc));
|
243
245
|
return mrb_fixnum_value(arity);
|
244
246
|
}
|
@@ -246,7 +248,7 @@ method_arity(mrb_state *mrb, mrb_value self)
|
|
246
248
|
static mrb_value
|
247
249
|
method_source_location(mrb_state *mrb, mrb_value self)
|
248
250
|
{
|
249
|
-
mrb_value proc = mrb_iv_get(mrb, self,
|
251
|
+
mrb_value proc = mrb_iv_get(mrb, self, MRB_SYM(_proc));
|
250
252
|
struct RProc *rproc;
|
251
253
|
struct RClass *orig;
|
252
254
|
mrb_value ret;
|
@@ -257,7 +259,7 @@ method_source_location(mrb_state *mrb, mrb_value self)
|
|
257
259
|
rproc = mrb_proc_ptr(proc);
|
258
260
|
orig = rproc->c;
|
259
261
|
rproc->c = mrb->proc_class;
|
260
|
-
ret =
|
262
|
+
ret = mrb_funcall_id(mrb, proc, MRB_SYM(source_location), 0);
|
261
263
|
rproc->c = orig;
|
262
264
|
return ret;
|
263
265
|
}
|
@@ -265,13 +267,13 @@ method_source_location(mrb_state *mrb, mrb_value self)
|
|
265
267
|
static mrb_value
|
266
268
|
method_parameters(mrb_state *mrb, mrb_value self)
|
267
269
|
{
|
268
|
-
mrb_value proc = mrb_iv_get(mrb, self,
|
270
|
+
mrb_value proc = mrb_iv_get(mrb, self, MRB_SYM(_proc));
|
269
271
|
struct RProc *rproc;
|
270
272
|
struct RClass *orig;
|
271
273
|
mrb_value ret;
|
272
274
|
|
273
275
|
if (mrb_nil_p(proc)) {
|
274
|
-
mrb_value rest = mrb_symbol_value(
|
276
|
+
mrb_value rest = mrb_symbol_value(MRB_SYM(rest));
|
275
277
|
mrb_value arest = mrb_ary_new_from_values(mrb, 1, &rest);
|
276
278
|
return mrb_ary_new_from_values(mrb, 1, &arest);
|
277
279
|
}
|
@@ -279,7 +281,7 @@ method_parameters(mrb_state *mrb, mrb_value self)
|
|
279
281
|
rproc = mrb_proc_ptr(proc);
|
280
282
|
orig = rproc->c;
|
281
283
|
rproc->c = mrb->proc_class;
|
282
|
-
ret =
|
284
|
+
ret = mrb_funcall_id(mrb, proc, MRB_SYM(parameters), 0);
|
283
285
|
rproc->c = orig;
|
284
286
|
return ret;
|
285
287
|
}
|
@@ -287,9 +289,9 @@ method_parameters(mrb_state *mrb, mrb_value self)
|
|
287
289
|
static mrb_value
|
288
290
|
method_to_s(mrb_state *mrb, mrb_value self)
|
289
291
|
{
|
290
|
-
mrb_value owner = mrb_iv_get(mrb, self,
|
291
|
-
mrb_value klass = mrb_iv_get(mrb, self,
|
292
|
-
mrb_value name = mrb_iv_get(mrb, self,
|
292
|
+
mrb_value owner = mrb_iv_get(mrb, self, MRB_SYM(_owner));
|
293
|
+
mrb_value klass = mrb_iv_get(mrb, self, MRB_SYM(_klass));
|
294
|
+
mrb_value name = mrb_iv_get(mrb, self, MRB_SYM(_name));
|
293
295
|
mrb_value str = mrb_str_new_lit(mrb, "#<");
|
294
296
|
struct RClass *rklass;
|
295
297
|
|
@@ -323,10 +325,10 @@ mrb_search_method_owner(mrb_state *mrb, struct RClass *c, mrb_value obj, mrb_sym
|
|
323
325
|
if (unbound) {
|
324
326
|
goto name_error;
|
325
327
|
}
|
326
|
-
if (!mrb_respond_to(mrb, obj,
|
328
|
+
if (!mrb_respond_to(mrb, obj, MRB_SYM_Q(respond_to_missing))) {
|
327
329
|
goto name_error;
|
328
330
|
}
|
329
|
-
ret =
|
331
|
+
ret = mrb_funcall_id(mrb, obj, MRB_SYM_Q(respond_to_missing), 2, mrb_symbol_value(name), mrb_true_value());
|
330
332
|
if (!mrb_test(ret)) {
|
331
333
|
goto name_error;
|
332
334
|
}
|
@@ -355,11 +357,11 @@ mrb_kernel_method(mrb_state *mrb, mrb_value self)
|
|
355
357
|
mrb_search_method_owner(mrb, mrb_class(mrb, self), self, name, &owner, &proc, FALSE);
|
356
358
|
|
357
359
|
me = method_object_alloc(mrb, mrb_class_get(mrb, "Method"));
|
358
|
-
mrb_obj_iv_set(mrb, me,
|
359
|
-
mrb_obj_iv_set(mrb, me,
|
360
|
-
mrb_obj_iv_set(mrb, me,
|
361
|
-
mrb_obj_iv_set(mrb, me,
|
362
|
-
mrb_obj_iv_set(mrb, me,
|
360
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_owner), mrb_obj_value(owner));
|
361
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_recv), self);
|
362
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_name), mrb_symbol_value(name));
|
363
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_proc), proc ? mrb_obj_value(proc) : mrb_nil_value());
|
364
|
+
mrb_obj_iv_set(mrb, me, MRB_SYM(_klass), mrb_obj_value(mrb_class(mrb, self)));
|
363
365
|
|
364
366
|
return mrb_obj_value(me);
|
365
367
|
}
|
@@ -377,11 +379,11 @@ mrb_module_instance_method(mrb_state *mrb, mrb_value self)
|
|
377
379
|
mrb_search_method_owner(mrb, mrb_class_ptr(self), self, name, &owner, &proc, TRUE);
|
378
380
|
|
379
381
|
ume = method_object_alloc(mrb, mrb_class_get(mrb, "UnboundMethod"));
|
380
|
-
mrb_obj_iv_set(mrb, ume,
|
381
|
-
mrb_obj_iv_set(mrb, ume,
|
382
|
-
mrb_obj_iv_set(mrb, ume,
|
383
|
-
mrb_obj_iv_set(mrb, ume,
|
384
|
-
mrb_obj_iv_set(mrb, ume,
|
382
|
+
mrb_obj_iv_set(mrb, ume, MRB_SYM(_owner), mrb_obj_value(owner));
|
383
|
+
mrb_obj_iv_set(mrb, ume, MRB_SYM(_recv), mrb_nil_value());
|
384
|
+
mrb_obj_iv_set(mrb, ume, MRB_SYM(_name), mrb_symbol_value(name));
|
385
|
+
mrb_obj_iv_set(mrb, ume, MRB_SYM(_proc), proc ? mrb_obj_value(proc) : mrb_nil_value());
|
386
|
+
mrb_obj_iv_set(mrb, ume, MRB_SYM(_klass), self);
|
385
387
|
|
386
388
|
return mrb_obj_value(ume);
|
387
389
|
}
|
@@ -389,19 +391,19 @@ mrb_module_instance_method(mrb_state *mrb, mrb_value self)
|
|
389
391
|
static mrb_value
|
390
392
|
method_owner(mrb_state *mrb, mrb_value self)
|
391
393
|
{
|
392
|
-
return mrb_iv_get(mrb, self,
|
394
|
+
return mrb_iv_get(mrb, self, MRB_SYM(_owner));
|
393
395
|
}
|
394
396
|
|
395
397
|
static mrb_value
|
396
398
|
method_receiver(mrb_state *mrb, mrb_value self)
|
397
399
|
{
|
398
|
-
return mrb_iv_get(mrb, self,
|
400
|
+
return mrb_iv_get(mrb, self, MRB_SYM(_recv));
|
399
401
|
}
|
400
402
|
|
401
403
|
static mrb_value
|
402
404
|
method_name(mrb_state *mrb, mrb_value self)
|
403
405
|
{
|
404
|
-
return mrb_iv_get(mrb, self,
|
406
|
+
return mrb_iv_get(mrb, self, MRB_SYM(_name));
|
405
407
|
}
|
406
408
|
|
407
409
|
void
|