script_core 0.2.2 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +41 -45
- data/.travis.yml +2 -1
- data/Gemfile +3 -3
- data/README.md +7 -1
- data/bootstrap.sh +2 -2
- 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 +106 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/codeql-analysis.yml +51 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/main.yml +24 -0
- data/ext/enterprise_script_service/mruby/.gitignore +3 -0
- data/ext/enterprise_script_service/mruby/.travis.yml +6 -9
- data/ext/enterprise_script_service/mruby/AUTHORS +1 -0
- data/ext/enterprise_script_service/mruby/Doxyfile +1 -1
- data/ext/enterprise_script_service/mruby/LICENSE +1 -1
- data/ext/enterprise_script_service/mruby/README.md +6 -2
- data/ext/enterprise_script_service/mruby/appveyor.yml +9 -12
- data/ext/enterprise_script_service/mruby/appveyor_config.rb +9 -0
- data/ext/enterprise_script_service/mruby/build_config.rb +6 -6
- data/ext/enterprise_script_service/mruby/doc/guides/compile.md +6 -2
- data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +4 -8
- data/ext/enterprise_script_service/mruby/doc/limitations.md +10 -10
- data/ext/enterprise_script_service/mruby/doc/opcode.md +108 -95
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_ArduinoDue.rb +2 -2
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_IntelEdison.rb +2 -2
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_IntelGalileo.rb +2 -2
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_RX630.rb +2 -2
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_chipKITMax32.rb +2 -2
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_dreamcast_shelf.rb +108 -0
- data/ext/enterprise_script_service/mruby/include/mrbconf.h +10 -7
- data/ext/enterprise_script_service/mruby/include/mruby.h +24 -9
- data/ext/enterprise_script_service/mruby/include/mruby/array.h +4 -0
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +11 -2
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +0 -10
- data/ext/enterprise_script_service/mruby/include/mruby/common.h +10 -0
- data/ext/enterprise_script_service/mruby/include/mruby/compile.h +11 -3
- data/ext/enterprise_script_service/mruby/include/mruby/dump.h +1 -17
- data/ext/enterprise_script_service/mruby/include/mruby/irep.h +10 -0
- data/ext/enterprise_script_service/mruby/include/mruby/istruct.h +4 -1
- data/ext/enterprise_script_service/mruby/include/mruby/khash.h +23 -5
- data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +1 -0
- data/ext/enterprise_script_service/mruby/include/mruby/ops.h +3 -2
- data/ext/enterprise_script_service/mruby/include/mruby/proc.h +13 -8
- data/ext/enterprise_script_service/mruby/include/mruby/string.h +2 -1
- data/ext/enterprise_script_service/mruby/include/mruby/value.h +32 -41
- data/ext/enterprise_script_service/mruby/include/mruby/version.h +4 -4
- data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +2 -30
- data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +21 -46
- data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +9 -0
- data/ext/enterprise_script_service/mruby/lib/mruby/source.rb +3 -1
- data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +7 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +0 -31
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +5 -8
- 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 +5 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +5 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +7 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +24 -21
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +6 -2
- 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-class-ext/src/class.c +6 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +76 -48
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +107 -32
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/y.tab.c +13153 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/mrbgem.rake +13 -15
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +1 -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 +3 -214
- 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 +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +3 -4
- 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_constants.rb +0 -16
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +7 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +77 -32
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +18 -36
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +324 -122
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +18 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +32 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +57 -49
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +6 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +15 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +9 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +4 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +3 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +113 -10
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +6 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +9 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/src/mrb_sleep.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/mrbgem.rake +1 -1
- 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 +62 -25
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +5 -23
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +4 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +5 -11
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +1 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +11 -15
- data/ext/enterprise_script_service/mruby/mrblib/00class.rb +10 -0
- data/ext/enterprise_script_service/mruby/mrblib/hash.rb +3 -3
- data/ext/enterprise_script_service/mruby/src/array.c +25 -11
- data/ext/enterprise_script_service/mruby/src/backtrace.c +2 -2
- data/ext/enterprise_script_service/mruby/src/class.c +48 -32
- data/ext/enterprise_script_service/mruby/src/codedump.c +4 -0
- data/ext/enterprise_script_service/mruby/src/debug.c +8 -5
- data/ext/enterprise_script_service/mruby/src/dump.c +3 -65
- data/ext/enterprise_script_service/mruby/src/error.c +58 -7
- data/ext/enterprise_script_service/mruby/src/etc.c +13 -5
- data/ext/enterprise_script_service/mruby/src/fmt_fp.c +98 -21
- data/ext/enterprise_script_service/mruby/src/gc.c +15 -280
- data/ext/enterprise_script_service/mruby/src/hash.c +13 -21
- data/ext/enterprise_script_service/mruby/src/kernel.c +6 -9
- data/ext/enterprise_script_service/mruby/src/load.c +56 -30
- data/ext/enterprise_script_service/mruby/src/numeric.c +50 -70
- data/ext/enterprise_script_service/mruby/src/object.c +23 -5
- data/ext/enterprise_script_service/mruby/src/print.c +27 -3
- data/ext/enterprise_script_service/mruby/src/proc.c +26 -7
- data/ext/enterprise_script_service/mruby/src/range.c +4 -12
- data/ext/enterprise_script_service/mruby/src/state.c +34 -11
- data/ext/enterprise_script_service/mruby/src/string.c +93 -56
- data/ext/enterprise_script_service/mruby/src/symbol.c +13 -12
- data/ext/enterprise_script_service/mruby/src/vm.c +48 -53
- data/ext/enterprise_script_service/mruby/tasks/gitlab.rake +19 -22
- data/ext/enterprise_script_service/mruby/tasks/mrbgems.rake +1 -1
- data/ext/enterprise_script_service/mruby/tasks/toolchains/android.rake +46 -1
- data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +3 -3
- data/ext/enterprise_script_service/mruby/tasks/toolchains/openwrt.rake +6 -6
- data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +8 -8
- data/ext/enterprise_script_service/mruby/test/assert.rb +5 -4
- 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/kernel.rb +15 -24
- data/ext/enterprise_script_service/mruby/travis_config.rb +0 -14
- 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/result.rb +1 -5
- data/lib/script_core/service_channel.rb +1 -0
- data/lib/script_core/version.rb +1 -1
- data/lib/tasks/script_core.rake +3 -1
- data/script_core.gemspec +2 -2
- data/spec/dummy/app/lib/script_engine.rb +64 -5
- metadata +68 -30
- 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/msgpack/.travis.yml +0 -258
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
cc.flags = %w(-g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500
|
|
43
43
|
-Dprintf=iprintf -mcpu=cortex-m3 -DF_CPU=84000000L -DARDUINO=156 -DARDUINO_SAM_DUE -DARDUINO_ARCH_SAM
|
|
44
44
|
-D__SAM3X8E__ -mthumb -DUSB_PID=0x003e -DUSB_VID=0x2341 -DUSBCON -DUSB_MANUFACTURER="Unknown" -DUSB_PRODUCT="Arduino Due")
|
|
45
|
-
cc.compile_options =
|
|
45
|
+
cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
|
|
46
46
|
|
|
47
47
|
#configuration for low memory environment
|
|
48
48
|
cc.defines << %w(MRB_HEAP_PAGE_SIZE=64)
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
|
|
65
65
|
conf.archiver do |archiver|
|
|
66
66
|
archiver.command = "#{BIN_PATH}/arm-none-eabi-ar"
|
|
67
|
-
archiver.archive_options = 'rcs %{outfile} %{objs}'
|
|
67
|
+
archiver.archive_options = 'rcs "%{outfile}" %{objs}'
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
#no executables
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
cc.flags = %w(-m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -mstackrealign -fno-omit-frame-pointer)
|
|
33
33
|
cc.flags << %w(-O2 -pipe -g -feliminate-unused-debug-types)
|
|
34
34
|
cc.flags << "--sysroot=#{POKY_EDISON_SYSROOT}"
|
|
35
|
-
cc.compile_options =
|
|
35
|
+
cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
|
|
36
36
|
cc.defines = %w(ENABLE_READLINE)
|
|
37
37
|
end
|
|
38
38
|
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
|
|
48
48
|
conf.archiver do |archiver|
|
|
49
49
|
archiver.command = "#{POKY_EDISON_BIN_PATH}/i586-poky-linux-ar"
|
|
50
|
-
archiver.archive_options = 'rcs %{outfile} %{objs}'
|
|
50
|
+
archiver.archive_options = 'rcs "%{outfile}" %{objs}'
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
conf.linker do |linker|
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
cc.flags = %w(-m32 -march=i586 -c -g -Os -w
|
|
40
40
|
-ffunction-sections -fdata-sections -MMD -DARDUINO=153)
|
|
41
41
|
cc.flags << "--sysroot=#{GALILEO_SYSROOT}"
|
|
42
|
-
cc.compile_options =
|
|
42
|
+
cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
|
|
43
43
|
end
|
|
44
44
|
|
|
45
45
|
conf.cxx do |cxx|
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
|
|
55
55
|
conf.archiver do |archiver|
|
|
56
56
|
archiver.command = "#{GALILEO_BIN_PATH}/i586-poky-linux-uclibc-ar"
|
|
57
|
-
archiver.archive_options = 'rcs %{outfile} %{objs}'
|
|
57
|
+
archiver.archive_options = 'rcs "%{outfile}" %{objs}'
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
conf.linker do |linker|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
conf.cc do |cc|
|
|
28
28
|
cc.command = "#{BIN_PATH}/rx-elf-gcc"
|
|
29
29
|
cc.flags = "-Wall -g -O2 -flto -mcpu=rx600 -m64bit-doubles"
|
|
30
|
-
cc.compile_options =
|
|
30
|
+
cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
|
|
31
31
|
|
|
32
32
|
#configuration for low memory environment
|
|
33
33
|
cc.defines << %w(MRB_USE_FLOAT)
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
|
|
54
54
|
conf.archiver do |archiver|
|
|
55
55
|
archiver.command = "#{BIN_PATH}/rx-elf-ar"
|
|
56
|
-
archiver.archive_options = 'rcs %{outfile} %{objs}'
|
|
56
|
+
archiver.archive_options = 'rcs "%{outfile}" %{objs}'
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
#no executables
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
cc.flags = %w(-O2 -mno-smart-io -w -ffunction-sections -fdata-sections -g -mdebugger -Wcast-align
|
|
40
40
|
-fno-short-double -mprocessor=32MX795F512L -DF_CPU=80000000L -DARDUINO=23 -D_BOARD_MEGA_
|
|
41
41
|
-DMPIDEVER=0x01000202 -DMPIDE=23)
|
|
42
|
-
cc.compile_options =
|
|
42
|
+
cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
|
|
43
43
|
|
|
44
44
|
#configuration for low memory environment
|
|
45
45
|
cc.defines << %w(MRB_HEAP_PAGE_SIZE=64)
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
|
|
61
61
|
conf.archiver do |archiver|
|
|
62
62
|
archiver.command = "#{PIC32_PATH}/compiler/pic32-tools/bin/pic32-ar"
|
|
63
|
-
archiver.archive_options = 'rcs %{outfile} %{objs}'
|
|
63
|
+
archiver.archive_options = 'rcs "%{outfile}" %{objs}'
|
|
64
64
|
end
|
|
65
65
|
|
|
66
66
|
#no executables
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
MRuby::Build.new do |conf|
|
|
2
|
+
# Gets set by the VS command prompts
|
|
3
|
+
if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
|
|
4
|
+
toolchain :visualcpp
|
|
5
|
+
else
|
|
6
|
+
toolchain :gcc
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
enable_debug
|
|
10
|
+
|
|
11
|
+
# Include the default GEMs
|
|
12
|
+
conf.gembox 'default'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Cross Compiling configuration for the Sega Dreamcast
|
|
16
|
+
# This configuration requires KallistiOS (KOS)
|
|
17
|
+
# https://dreamcast.wiki
|
|
18
|
+
#
|
|
19
|
+
# Tested on GNU/Linux, MinGW-w64/MSYS2, Cygwin, macOS and MinGW/MSYS (see below)
|
|
20
|
+
#
|
|
21
|
+
MRuby::CrossBuild.new("dreamcast") do |conf|
|
|
22
|
+
toolchain :gcc
|
|
23
|
+
|
|
24
|
+
# Support for DreamSDK (based on MinGW/MSYS)
|
|
25
|
+
# To compile mruby with DreamSDK, RubyInstaller for Windows should be installed
|
|
26
|
+
DREAMSDK_HOME = ENV["DREAMSDK_HOME"]
|
|
27
|
+
MSYS_ROOT = !(DREAMSDK_HOME.nil? || DREAMSDK_HOME.empty?) ? "#{DREAMSDK_HOME}/msys/1.0" : ""
|
|
28
|
+
|
|
29
|
+
# Setting paths
|
|
30
|
+
DREAMCAST_PATH = "#{MSYS_ROOT}/opt/toolchains/dc"
|
|
31
|
+
KOS_PATH = "#{DREAMCAST_PATH}/kos"
|
|
32
|
+
BIN_PATH = "#{DREAMCAST_PATH}/sh-elf/bin"
|
|
33
|
+
|
|
34
|
+
# C compiler
|
|
35
|
+
# Flags were extracted from KallistiOS environment files
|
|
36
|
+
conf.cc do |cc|
|
|
37
|
+
cc.command = "#{BIN_PATH}/sh-elf-gcc"
|
|
38
|
+
cc.include_paths << ["#{KOS_PATH}/include", "#{KOS_PATH}/kernel/arch/dreamcast/include", "#{KOS_PATH}/addons/include", "#{KOS_PATH}/../kos-ports/include"]
|
|
39
|
+
cc.flags << ["-O2", "-fomit-frame-pointer", "-ml", "-m4-single-only", "-ffunction-sections", "-fdata-sections", "-Wall", "-g", "-fno-builtin", "-ml", "-m4-single-only", "-Wl,-Ttext=0x8c010000", "-Wl,--gc-sections", "-T#{KOS_PATH}/utils/ldscripts/shlelf.xc", "-nodefaultlibs"]
|
|
40
|
+
cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
|
|
41
|
+
cc.defines << %w(_arch_dreamcast)
|
|
42
|
+
cc.defines << %w(_arch_sub_pristine)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# C++ compiler
|
|
46
|
+
conf.cxx do |cxx|
|
|
47
|
+
cxx.command = conf.cc.command.dup
|
|
48
|
+
cxx.include_paths = conf.cc.include_paths.dup
|
|
49
|
+
cxx.flags = conf.cc.flags.dup
|
|
50
|
+
cxx.flags << %w(-fno-rtti -fno-exceptions)
|
|
51
|
+
cxx.defines = conf.cc.defines.dup
|
|
52
|
+
cxx.compile_options = conf.cc.compile_options.dup
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Linker
|
|
56
|
+
# There is an issue when making the mruby library with KallistiOS:
|
|
57
|
+
# 'newlib_kill.o' and 'newlib_getpid.o' aren't found so they are explicitly
|
|
58
|
+
# specified here at least for now.
|
|
59
|
+
conf.linker do |linker|
|
|
60
|
+
linker.command="#{BIN_PATH}/sh-elf-gcc"
|
|
61
|
+
linker.flags << ["#{MSYS_ROOT}/opt/toolchains/dc/kos/kernel/build/newlib_kill.o", "#{MSYS_ROOT}/opt/toolchains/dc/kos/kernel/build/newlib_getpid.o", "-Wl,--start-group -lkallisti -lc -lgcc -Wl,--end-group"]
|
|
62
|
+
linker.library_paths << ["#{KOS_PATH}/lib/dreamcast", "#{KOS_PATH}/addons/lib/dreamcast", "#{KOS_PATH}/../kos-ports/lib"]
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Archiver
|
|
66
|
+
conf.archiver do |archiver|
|
|
67
|
+
archiver.command = "#{BIN_PATH}/sh-elf-ar"
|
|
68
|
+
archiver.archive_options = 'rcs "%{outfile}" %{objs}'
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# No executables
|
|
72
|
+
conf.bins = []
|
|
73
|
+
|
|
74
|
+
# Do not build executable test
|
|
75
|
+
conf.build_mrbtest_lib_only
|
|
76
|
+
|
|
77
|
+
# Disable C++ exception
|
|
78
|
+
conf.disable_cxx_exception
|
|
79
|
+
|
|
80
|
+
# Gems from core
|
|
81
|
+
# removing mruby-io
|
|
82
|
+
conf.gem :core => "mruby-metaprog"
|
|
83
|
+
conf.gem :core => "mruby-pack"
|
|
84
|
+
conf.gem :core => "mruby-sprintf"
|
|
85
|
+
conf.gem :core => "mruby-print"
|
|
86
|
+
conf.gem :core => "mruby-math"
|
|
87
|
+
conf.gem :core => "mruby-time"
|
|
88
|
+
conf.gem :core => "mruby-struct"
|
|
89
|
+
conf.gem :core => "mruby-compar-ext"
|
|
90
|
+
conf.gem :core => "mruby-enum-ext"
|
|
91
|
+
conf.gem :core => "mruby-string-ext"
|
|
92
|
+
conf.gem :core => "mruby-numeric-ext"
|
|
93
|
+
conf.gem :core => "mruby-array-ext"
|
|
94
|
+
conf.gem :core => "mruby-hash-ext"
|
|
95
|
+
conf.gem :core => "mruby-range-ext"
|
|
96
|
+
conf.gem :core => "mruby-proc-ext"
|
|
97
|
+
conf.gem :core => "mruby-symbol-ext"
|
|
98
|
+
conf.gem :core => "mruby-random"
|
|
99
|
+
conf.gem :core => "mruby-object-ext"
|
|
100
|
+
conf.gem :core => "mruby-objectspace"
|
|
101
|
+
conf.gem :core => "mruby-fiber"
|
|
102
|
+
conf.gem :core => "mruby-enumerator"
|
|
103
|
+
conf.gem :core => "mruby-enum-lazy"
|
|
104
|
+
conf.gem :core => "mruby-toplevel-ext"
|
|
105
|
+
conf.gem :core => "mruby-kernel-ext"
|
|
106
|
+
conf.gem :core => "mruby-class-ext"
|
|
107
|
+
conf.gem :core => "mruby-compiler"
|
|
108
|
+
end
|
|
@@ -38,21 +38,24 @@
|
|
|
38
38
|
|
|
39
39
|
/* add -DMRB_METHOD_T_STRUCT on machines that use higher bits of pointers */
|
|
40
40
|
/* no MRB_METHOD_T_STRUCT requires highest 2 bits of function pointers to be zero */
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
#ifndef MRB_METHOD_T_STRUCT
|
|
42
|
+
// can't use highest 2 bits of function pointers at least on 32bit
|
|
43
|
+
// Windows and 32bit Linux.
|
|
44
|
+
# ifdef MRB_32BIT
|
|
45
|
+
# define MRB_METHOD_T_STRUCT
|
|
46
|
+
# endif
|
|
47
|
+
#endif
|
|
45
48
|
|
|
46
|
-
/* add -DMRB_INT32 to use 32bit integer for mrb_int; conflict with
|
|
49
|
+
/* add -DMRB_INT32 to use 32bit integer for mrb_int; conflict with MRB_INT64;
|
|
47
50
|
Default for 32-bit CPU mode. */
|
|
48
51
|
//#define MRB_INT32
|
|
49
52
|
|
|
50
|
-
/* add -DMRB_INT64 to use 64bit integer for mrb_int; conflict with
|
|
53
|
+
/* add -DMRB_INT64 to use 64bit integer for mrb_int; conflict with MRB_INT32;
|
|
51
54
|
Default for 64-bit CPU mode. */
|
|
52
55
|
//#define MRB_INT64
|
|
53
56
|
|
|
54
57
|
/* if no specific integer type is chosen */
|
|
55
|
-
#if !defined(
|
|
58
|
+
#if !defined(MRB_INT32) && !defined(MRB_INT64)
|
|
56
59
|
# if defined(MRB_64BIT) && !defined(MRB_NAN_BOXING)
|
|
57
60
|
/* Use 64bit integers on 64bit architecture (without MRB_NAN_BOXING) */
|
|
58
61
|
# define MRB_INT64
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
** mruby - An embeddable Ruby implementation
|
|
3
3
|
**
|
|
4
|
-
** Copyright (c) mruby developers 2010-
|
|
4
|
+
** Copyright (c) mruby developers 2010-2020
|
|
5
5
|
**
|
|
6
6
|
** Permission is hereby granted, free of charge, to any person obtaining
|
|
7
7
|
** a copy of this software and associated documentation files (the
|
|
@@ -70,7 +70,13 @@
|
|
|
70
70
|
|
|
71
71
|
#include "mrbconf.h"
|
|
72
72
|
|
|
73
|
+
#include <mruby/common.h>
|
|
74
|
+
#include <mruby/value.h>
|
|
75
|
+
#include <mruby/gc.h>
|
|
76
|
+
#include <mruby/version.h>
|
|
77
|
+
|
|
73
78
|
#ifndef MRB_WITHOUT_FLOAT
|
|
79
|
+
#include <float.h>
|
|
74
80
|
#ifndef FLT_EPSILON
|
|
75
81
|
#define FLT_EPSILON (1.19209290e-07f)
|
|
76
82
|
#endif
|
|
@@ -88,11 +94,6 @@
|
|
|
88
94
|
#endif
|
|
89
95
|
#endif
|
|
90
96
|
|
|
91
|
-
#include <mruby/common.h>
|
|
92
|
-
#include <mruby/value.h>
|
|
93
|
-
#include <mruby/gc.h>
|
|
94
|
-
#include <mruby/version.h>
|
|
95
|
-
|
|
96
97
|
/**
|
|
97
98
|
* MRuby C API entry point
|
|
98
99
|
*/
|
|
@@ -164,8 +165,8 @@ struct mrb_context {
|
|
|
164
165
|
struct RProc **ensure; /* ensure handler stack */
|
|
165
166
|
uint16_t esize, eidx;
|
|
166
167
|
|
|
167
|
-
enum mrb_fiber_state status;
|
|
168
|
-
mrb_bool vmexec;
|
|
168
|
+
enum mrb_fiber_state status : 4;
|
|
169
|
+
mrb_bool vmexec : 1;
|
|
169
170
|
struct RFiber *fib;
|
|
170
171
|
};
|
|
171
172
|
|
|
@@ -317,7 +318,9 @@ MRB_API struct RClass *mrb_define_class(mrb_state *mrb, const char *name, struct
|
|
|
317
318
|
* @return [struct RClass *] Reference to the newly defined module.
|
|
318
319
|
*/
|
|
319
320
|
MRB_API struct RClass *mrb_define_module(mrb_state *mrb, const char *name);
|
|
321
|
+
|
|
320
322
|
MRB_API mrb_value mrb_singleton_class(mrb_state *mrb, mrb_value val);
|
|
323
|
+
MRB_API struct RClass *mrb_singleton_class_ptr(mrb_state *mrb, mrb_value val);
|
|
321
324
|
|
|
322
325
|
/**
|
|
323
326
|
* Include a module in another class or module.
|
|
@@ -956,8 +959,21 @@ mrb_get_mid(mrb_state *mrb) /* get method symbol */
|
|
|
956
959
|
*/
|
|
957
960
|
MRB_API mrb_int mrb_get_argc(mrb_state *mrb);
|
|
958
961
|
|
|
962
|
+
/**
|
|
963
|
+
* Retrieve an array of arguments from mrb_state.
|
|
964
|
+
*
|
|
965
|
+
* Correctly handles *splat arguments.
|
|
966
|
+
*/
|
|
959
967
|
MRB_API mrb_value* mrb_get_argv(mrb_state *mrb);
|
|
960
968
|
|
|
969
|
+
/**
|
|
970
|
+
* Retrieve the first and only argument from mrb_state.
|
|
971
|
+
* Raises ArgumentError unless the number of arguments is exactly one.
|
|
972
|
+
*
|
|
973
|
+
* Correctly handles *splat arguments.
|
|
974
|
+
*/
|
|
975
|
+
MRB_API mrb_value mrb_get_arg1(mrb_state *mrb);
|
|
976
|
+
|
|
961
977
|
/* `strlen` for character string literals (use with caution or `strlen` instead)
|
|
962
978
|
Adjacent string literals are concatenated in C/C++ in translation phase 6.
|
|
963
979
|
If `lit` is not one, the compiler will report a syntax error:
|
|
@@ -1148,7 +1164,6 @@ MRB_API void mrb_close(mrb_state *mrb);
|
|
|
1148
1164
|
MRB_API void* mrb_default_allocf(mrb_state*, void*, size_t, void*);
|
|
1149
1165
|
|
|
1150
1166
|
MRB_API mrb_value mrb_top_self(mrb_state *mrb);
|
|
1151
|
-
MRB_API mrb_value mrb_run(mrb_state *mrb, struct RProc* proc, mrb_value self);
|
|
1152
1167
|
MRB_API mrb_value mrb_top_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int stack_keep);
|
|
1153
1168
|
MRB_API mrb_value mrb_vm_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int stack_keep);
|
|
1154
1169
|
MRB_API mrb_value mrb_vm_exec(mrb_state *mrb, struct RProc *proc, const mrb_code *iseq);
|
|
@@ -239,6 +239,7 @@ MRB_API mrb_value mrb_ary_entry(mrb_value ary, mrb_int offset);
|
|
|
239
239
|
* @param head Beginning position of a replacement subsequence.
|
|
240
240
|
* @param len Length of a replacement subsequence.
|
|
241
241
|
* @param rpl The array of replacement elements.
|
|
242
|
+
* It is possible to pass `mrb_undef_value()` instead of an empty array.
|
|
242
243
|
* @return The receiver array.
|
|
243
244
|
*/
|
|
244
245
|
MRB_API mrb_value mrb_ary_splice(mrb_state *mrb, mrb_value self, mrb_int head, mrb_int len, mrb_value rpl);
|
|
@@ -291,6 +292,9 @@ MRB_API mrb_value mrb_ary_join(mrb_state *mrb, mrb_value ary, mrb_value sep);
|
|
|
291
292
|
*/
|
|
292
293
|
MRB_API mrb_value mrb_ary_resize(mrb_state *mrb, mrb_value ary, mrb_int new_len);
|
|
293
294
|
|
|
295
|
+
/* helper functions */
|
|
296
|
+
mrb_value mrb_ary_subseq(mrb_state *mrb, mrb_value ary, mrb_int beg, mrb_int len);
|
|
297
|
+
|
|
294
298
|
MRB_END_DECL
|
|
295
299
|
|
|
296
300
|
#endif /* MRUBY_ARRAY_H */
|
|
@@ -44,6 +44,9 @@ typedef struct mrb_value {
|
|
|
44
44
|
};
|
|
45
45
|
)
|
|
46
46
|
};
|
|
47
|
+
#ifdef MRB_64BIT
|
|
48
|
+
struct RCptr *vp;
|
|
49
|
+
#endif
|
|
47
50
|
} value;
|
|
48
51
|
};
|
|
49
52
|
} mrb_value;
|
|
@@ -54,13 +57,15 @@ typedef struct mrb_value {
|
|
|
54
57
|
#define mrb_type(o) (enum mrb_vtype)((uint32_t)0xfff00000 < (o).value.ttt ? mrb_tt(o) : MRB_TT_FLOAT)
|
|
55
58
|
#define mrb_ptr(o) ((void*)((((uintptr_t)0x3fffffffffff)&((uintptr_t)((o).value.p)))<<2))
|
|
56
59
|
#define mrb_float(o) (o).f
|
|
57
|
-
#define mrb_cptr(o) mrb_ptr(o)
|
|
58
60
|
#define mrb_fixnum(o) (o).value.i
|
|
59
61
|
#define mrb_symbol(o) (o).value.sym
|
|
60
62
|
|
|
61
63
|
#ifdef MRB_64BIT
|
|
64
|
+
MRB_API mrb_value mrb_nan_boxing_cptr_value(struct mrb_state*, void*);
|
|
65
|
+
#define mrb_cptr(o) (((struct RCptr*)mrb_ptr(o))->p)
|
|
62
66
|
#define BOXNAN_SHIFT_LONG_POINTER(v) (((uintptr_t)(v)>>34)&0x3fff)
|
|
63
67
|
#else
|
|
68
|
+
#define mrb_cptr(o) ((o).value.p)
|
|
64
69
|
#define BOXNAN_SHIFT_LONG_POINTER(v) 0
|
|
65
70
|
#endif
|
|
66
71
|
|
|
@@ -90,7 +95,11 @@ typedef struct mrb_value {
|
|
|
90
95
|
#define SET_INT_VALUE(r,n) BOXNAN_SET_VALUE(r, MRB_TT_FIXNUM, value.i, (n))
|
|
91
96
|
#define SET_SYM_VALUE(r,v) BOXNAN_SET_VALUE(r, MRB_TT_SYMBOL, value.sym, (v))
|
|
92
97
|
#define SET_OBJ_VALUE(r,v) BOXNAN_SET_OBJ_VALUE(r, (((struct RObject*)(v))->tt), (v))
|
|
93
|
-
#
|
|
98
|
+
#ifdef MRB_64BIT
|
|
99
|
+
#define SET_CPTR_VALUE(mrb,r,v) ((r) = mrb_nan_boxing_cptr_value(mrb, v))
|
|
100
|
+
#else
|
|
101
|
+
#define SET_CPTR_VALUE(mrb,r,v) BOXNAN_SET_VALUE(r, MRB_TT_CPTR, value.p, v)
|
|
102
|
+
#endif
|
|
94
103
|
#define SET_UNDEF_VALUE(r) BOXNAN_SET_VALUE(r, MRB_TT_UNDEF, value.i, 0)
|
|
95
104
|
|
|
96
105
|
#endif /* MRUBY_BOXING_NAN_H */
|
|
@@ -7,10 +7,6 @@
|
|
|
7
7
|
#ifndef MRUBY_BOXING_WORD_H
|
|
8
8
|
#define MRUBY_BOXING_WORD_H
|
|
9
9
|
|
|
10
|
-
#if defined(MRB_INT16)
|
|
11
|
-
# error MRB_INT16 is too small for MRB_WORD_BOXING.
|
|
12
|
-
#endif
|
|
13
|
-
|
|
14
10
|
#if defined(MRB_INT64) && !defined(MRB_64BIT)
|
|
15
11
|
#error MRB_INT64 cannot be used with MRB_WORD_BOXING in 32-bit mode.
|
|
16
12
|
#endif
|
|
@@ -22,11 +18,6 @@ struct RFloat {
|
|
|
22
18
|
};
|
|
23
19
|
#endif
|
|
24
20
|
|
|
25
|
-
struct RCptr {
|
|
26
|
-
MRB_OBJECT_HEADER;
|
|
27
|
-
void *p;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
21
|
enum mrb_special_consts {
|
|
31
22
|
MRB_Qnil = 0,
|
|
32
23
|
MRB_Qfalse = 4,
|
|
@@ -146,7 +137,6 @@ MRB_API mrb_value mrb_word_boxing_float_pool(struct mrb_state*, mrb_float);
|
|
|
146
137
|
#define mrb_sclass_p(o) BOXWORD_OBJ_TYPE_P(o, SCLASS)
|
|
147
138
|
#define mrb_proc_p(o) BOXWORD_OBJ_TYPE_P(o, PROC)
|
|
148
139
|
#define mrb_range_p(o) BOXWORD_OBJ_TYPE_P(o, RANGE)
|
|
149
|
-
#define mrb_file_p(o) BOXWORD_OBJ_TYPE_P(o, FILE)
|
|
150
140
|
#define mrb_env_p(o) BOXWORD_OBJ_TYPE_P(o, ENV)
|
|
151
141
|
#define mrb_data_p(o) BOXWORD_OBJ_TYPE_P(o, DATA)
|
|
152
142
|
#define mrb_fiber_p(o) BOXWORD_OBJ_TYPE_P(o, FIBER)
|
|
@@ -74,6 +74,16 @@ MRB_BEGIN_DECL
|
|
|
74
74
|
#endif
|
|
75
75
|
#endif
|
|
76
76
|
|
|
77
|
+
/** Declare mingw versions */
|
|
78
|
+
#if defined(__MINGW32__) || defined(__MINGW64__)
|
|
79
|
+
# include <_mingw.h>
|
|
80
|
+
# if defined(__MINGW64_VERSION_MAJOR)
|
|
81
|
+
# define MRB_MINGW64_VERSION (__MINGW64_VERSION_MAJOR * 1000 + __MINGW64_VERSION_MINOR)
|
|
82
|
+
# elif defined(__MINGW32_MAJOR_VERSION)
|
|
83
|
+
# define MRB_MINGW32_VERSION (__MINGW32_MAJOR_VERSION * 1000 + __MINGW32_MINOR_VERSION)
|
|
84
|
+
# endif
|
|
85
|
+
#endif
|
|
86
|
+
|
|
77
87
|
MRB_END_DECL
|
|
78
88
|
|
|
79
89
|
#endif /* MRUBY_COMMON_H */
|
|
@@ -33,7 +33,7 @@ typedef struct mrbc_context {
|
|
|
33
33
|
mrb_bool no_exec:1;
|
|
34
34
|
mrb_bool keep_lv:1;
|
|
35
35
|
mrb_bool no_optimize:1;
|
|
36
|
-
|
|
36
|
+
struct RProc *upper;
|
|
37
37
|
|
|
38
38
|
size_t parser_nerr;
|
|
39
39
|
} mrbc_context;
|
|
@@ -151,8 +151,8 @@ struct mrb_parser_state {
|
|
|
151
151
|
mrb_ast_node *tree;
|
|
152
152
|
|
|
153
153
|
mrb_bool no_optimize:1;
|
|
154
|
-
mrb_bool on_eval:1;
|
|
155
154
|
mrb_bool capture_errors:1;
|
|
155
|
+
struct RProc *upper;
|
|
156
156
|
struct mrb_parser_message error_buffer[10];
|
|
157
157
|
struct mrb_parser_message warn_buffer[10];
|
|
158
158
|
|
|
@@ -180,7 +180,15 @@ MRB_API struct mrb_parser_state* mrb_parse_nstring(mrb_state*,const char*,size_t
|
|
|
180
180
|
MRB_API struct RProc* mrb_generate_code(mrb_state*, struct mrb_parser_state*);
|
|
181
181
|
MRB_API mrb_value mrb_load_exec(mrb_state *mrb, struct mrb_parser_state *p, mrbc_context *c);
|
|
182
182
|
|
|
183
|
-
|
|
183
|
+
/** program load functions
|
|
184
|
+
* Please note! Currently due to interactions with the GC calling these functions will
|
|
185
|
+
* leak one RProc object per function call.
|
|
186
|
+
* To prevent this save the current memory arena before calling and restore the arena
|
|
187
|
+
* right after, like so
|
|
188
|
+
* int ai = mrb_gc_arena_save(mrb);
|
|
189
|
+
* mrb_value status = mrb_load_string(mrb, buffer);
|
|
190
|
+
* mrb_gc_arena_restore(mrb, ai);
|
|
191
|
+
*/
|
|
184
192
|
#ifndef MRB_DISABLE_STDIO
|
|
185
193
|
MRB_API mrb_value mrb_load_file(mrb_state*,FILE*);
|
|
186
194
|
MRB_API mrb_value mrb_load_file_cxt(mrb_state*,FILE*, mrbc_context *cxt);
|