script_core 0.2.7 → 0.3.0

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.
Files changed (283) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/Gemfile +2 -2
  4. data/ext/enterprise_script_service/Rakefile +1 -1
  5. data/ext/enterprise_script_service/mruby/.github/workflows/build.yml +117 -74
  6. data/ext/enterprise_script_service/mruby/.github/workflows/codeql-analysis.yml +41 -37
  7. data/ext/enterprise_script_service/mruby/.github/workflows/lint.yml +23 -0
  8. data/ext/enterprise_script_service/mruby/.github/workflows/oss-fuzz.yml +27 -0
  9. data/ext/enterprise_script_service/mruby/.github/workflows/spell-checker.yml +17 -0
  10. data/ext/enterprise_script_service/mruby/.gitlab-ci.yml +3 -3
  11. data/ext/enterprise_script_service/mruby/.markdownlint.yml +16 -0
  12. data/ext/enterprise_script_service/mruby/.travis.yml +2 -2
  13. data/ext/enterprise_script_service/mruby/.yamllint +8 -0
  14. data/ext/enterprise_script_service/mruby/AUTHORS +3 -0
  15. data/ext/enterprise_script_service/mruby/CODEOWNERS +1 -0
  16. data/ext/enterprise_script_service/mruby/CONTRIBUTING.md +6 -13
  17. data/ext/enterprise_script_service/mruby/Doxyfile +4 -4
  18. data/ext/enterprise_script_service/mruby/LICENSE +1 -1
  19. data/ext/enterprise_script_service/mruby/Makefile +1 -1
  20. data/ext/enterprise_script_service/mruby/README.md +4 -14
  21. data/ext/enterprise_script_service/mruby/Rakefile +18 -108
  22. data/ext/enterprise_script_service/mruby/TODO.md +17 -0
  23. data/ext/enterprise_script_service/mruby/appveyor.yml +31 -25
  24. data/ext/enterprise_script_service/mruby/benchmark/bm_ao_render.rb +1 -1
  25. data/ext/enterprise_script_service/mruby/build_config.rb +9 -152
  26. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_ArduinoDue.rb → build_config/ArduinoDue.rb} +2 -19
  27. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_IntelEdison.rb → build_config/IntelEdison.rb} +2 -2
  28. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_IntelGalileo.rb → build_config/IntelGalileo.rb} +1 -18
  29. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_RX630.rb → build_config/RX630.rb} +2 -19
  30. data/ext/enterprise_script_service/mruby/build_config/android_arm64-v8a.rb +11 -0
  31. data/ext/enterprise_script_service/mruby/build_config/android_armeabi.rb +11 -0
  32. 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
  33. data/ext/enterprise_script_service/mruby/build_config/bench.rb +11 -0
  34. data/ext/enterprise_script_service/mruby/build_config/boxing.rb +21 -0
  35. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_chipKITMax32.rb → build_config/chipKITMax32.rb} +2 -19
  36. data/ext/enterprise_script_service/mruby/{travis_config.rb → build_config/ci/gcc-clang.rb} +10 -10
  37. data/ext/enterprise_script_service/mruby/build_config/ci/msvc.rb +20 -0
  38. data/ext/enterprise_script_service/mruby/build_config/clang-asan.rb +11 -0
  39. data/ext/enterprise_script_service/mruby/build_config/cross-32bit.rb +14 -0
  40. data/ext/enterprise_script_service/mruby/build_config/default.rb +80 -0
  41. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_dreamcast_shelf.rb → build_config/dreamcast_shelf.rb} +5 -19
  42. data/ext/enterprise_script_service/mruby/build_config/gameboyadvance.rb +73 -0
  43. data/ext/enterprise_script_service/mruby/build_config/host-cxx.rb +12 -0
  44. data/ext/enterprise_script_service/mruby/build_config/host-debug.rb +20 -0
  45. data/ext/enterprise_script_service/mruby/build_config/host-gprof.rb +14 -0
  46. data/ext/enterprise_script_service/mruby/build_config/host-m32.rb +15 -0
  47. data/ext/enterprise_script_service/mruby/build_config/host-shared.rb +36 -0
  48. data/ext/enterprise_script_service/mruby/build_config/mrbc.rb +11 -0
  49. data/ext/enterprise_script_service/mruby/build_config/no-float.rb +17 -0
  50. data/ext/enterprise_script_service/mruby/doc/guides/compile.md +138 -49
  51. data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +5 -4
  52. data/ext/enterprise_script_service/mruby/doc/guides/gc-arena-howto.md +1 -1
  53. data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +49 -22
  54. data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +31 -14
  55. data/ext/enterprise_script_service/mruby/doc/guides/symbol.md +83 -0
  56. data/ext/enterprise_script_service/mruby/doc/limitations.md +35 -36
  57. data/ext/enterprise_script_service/mruby/doc/mruby3.md +163 -0
  58. data/ext/enterprise_script_service/mruby/doc/opcode.md +93 -107
  59. data/ext/enterprise_script_service/mruby/examples/mrbgems/c_and_ruby_extension_example/mrblib/example.rb +1 -1
  60. data/ext/enterprise_script_service/mruby/examples/mrbgems/c_and_ruby_extension_example/src/example.c +5 -1
  61. data/ext/enterprise_script_service/mruby/examples/mrbgems/c_extension_example/src/example.c +5 -1
  62. data/ext/enterprise_script_service/mruby/examples/mrbgems/ruby_extension_example/mrblib/example.rb +1 -1
  63. data/ext/enterprise_script_service/mruby/include/mrbconf.h +81 -62
  64. data/ext/enterprise_script_service/mruby/include/mruby.h +137 -96
  65. data/ext/enterprise_script_service/mruby/include/mruby/array.h +23 -6
  66. data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +73 -48
  67. data/ext/enterprise_script_service/mruby/include/mruby/boxing_no.h +8 -8
  68. data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +79 -48
  69. data/ext/enterprise_script_service/mruby/include/mruby/class.h +10 -8
  70. data/ext/enterprise_script_service/mruby/include/mruby/common.h +4 -1
  71. data/ext/enterprise_script_service/mruby/include/mruby/compile.h +13 -7
  72. data/ext/enterprise_script_service/mruby/include/mruby/debug.h +2 -2
  73. data/ext/enterprise_script_service/mruby/include/mruby/dump.h +17 -35
  74. data/ext/enterprise_script_service/mruby/include/mruby/endian.h +44 -0
  75. data/ext/enterprise_script_service/mruby/include/mruby/error.h +39 -5
  76. data/ext/enterprise_script_service/mruby/include/mruby/gc.h +1 -0
  77. data/ext/enterprise_script_service/mruby/include/mruby/hash.h +33 -13
  78. data/ext/enterprise_script_service/mruby/include/mruby/irep.h +64 -14
  79. data/ext/enterprise_script_service/mruby/include/mruby/khash.h +6 -14
  80. data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +36 -63
  81. data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +1 -27
  82. data/ext/enterprise_script_service/mruby/include/mruby/ops.h +27 -23
  83. data/ext/enterprise_script_service/mruby/include/mruby/presym.h +40 -0
  84. data/ext/enterprise_script_service/mruby/include/mruby/presym/disable.h +70 -0
  85. data/ext/enterprise_script_service/mruby/include/mruby/presym/enable.h +37 -0
  86. data/ext/enterprise_script_service/mruby/include/mruby/presym/scanning.h +73 -0
  87. data/ext/enterprise_script_service/mruby/include/mruby/proc.h +80 -13
  88. data/ext/enterprise_script_service/mruby/include/mruby/string.h +10 -15
  89. data/ext/enterprise_script_service/mruby/include/mruby/throw.h +14 -3
  90. data/ext/enterprise_script_service/mruby/include/mruby/value.h +29 -19
  91. data/ext/enterprise_script_service/mruby/include/mruby/variable.h +1 -0
  92. data/ext/enterprise_script_service/mruby/include/mruby/version.h +26 -7
  93. data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +198 -44
  94. data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +55 -37
  95. data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +12 -10
  96. data/ext/enterprise_script_service/mruby/lib/{mruby-core-ext.rb → mruby/core_ext.rb} +10 -3
  97. data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +75 -32
  98. data/ext/enterprise_script_service/mruby/lib/mruby/lockfile.rb +1 -1
  99. data/ext/enterprise_script_service/mruby/lib/mruby/presym.rb +132 -0
  100. data/ext/enterprise_script_service/mruby/mrbgems/default-no-fpu.gembox +3 -0
  101. data/ext/enterprise_script_service/mruby/mrbgems/default-no-stdio.gembox +4 -0
  102. data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +9 -88
  103. data/ext/enterprise_script_service/mruby/mrbgems/full-core.gembox +1 -4
  104. data/ext/enterprise_script_service/mruby/mrbgems/math.gembox +10 -0
  105. data/ext/enterprise_script_service/mruby/mrbgems/metaprog.gembox +15 -0
  106. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +1 -1
  107. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +5 -4
  108. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mrbgem.rake +28 -19
  109. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mruby-config +18 -8
  110. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/mrdb.rb +3 -6
  111. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +10 -10
  112. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +14 -9
  113. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +3 -2
  114. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +4 -3
  115. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +2 -6
  116. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +4 -4
  117. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +23 -5
  118. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/mrbgem.rake +11 -2
  119. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +41 -34
  120. data/ext/enterprise_script_service/mruby/mrbgems/{mruby-compiler → mruby-bin-mrbc}/bintest/mrbc.rb +0 -0
  121. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/mrbgem.rake +3 -4
  122. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +19 -9
  123. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +25 -4
  124. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -1
  125. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +22 -6
  126. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +1 -1
  127. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +2 -2
  128. data/ext/enterprise_script_service/mruby/mrbgems/mruby-catch/mrbgem.rake +5 -0
  129. data/ext/enterprise_script_service/mruby/mrbgems/mruby-catch/mrblib/catch.rb +27 -0
  130. data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/src/class.c +2 -1
  131. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +430 -399
  132. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/keywords +5 -0
  133. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/lex.def +49 -44
  134. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +559 -217
  135. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/y.tab.c +4774 -4193
  136. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/mrbgem.rake +18 -19
  137. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +1 -1
  138. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +8 -7
  139. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/test/complex.rb +4 -4
  140. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +1 -0
  141. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +2 -2
  142. data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/mrbgem.rake +2 -2
  143. data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +17 -25
  144. data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +18 -13
  145. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +30 -2
  146. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +7 -0
  147. data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +2 -2
  148. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/README.md +18 -16
  149. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/include/mruby/ext/io.h +2 -2
  150. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file.rb +9 -4
  151. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +2 -2
  152. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +55 -52
  153. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +4 -2
  154. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +99 -87
  155. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +2 -0
  156. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +2 -3
  157. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +1 -1
  158. data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +7 -6
  159. data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +13 -12
  160. data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/test/math.rb +5 -4
  161. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +43 -58
  162. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +4 -4
  163. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/README.md +4 -3
  164. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +77 -74
  165. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +4 -4
  166. data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +14 -13
  167. data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +5 -4
  168. data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +18 -12
  169. data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/mrbgem.rake +10 -0
  170. data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/src/memsize.c +231 -0
  171. data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/test/memsize.rb +63 -0
  172. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/README.md +15 -18
  173. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +38 -88
  174. data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +1 -30
  175. data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +62 -26
  176. data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +32 -19
  177. data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.c +1 -1
  178. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +98 -43
  179. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +2 -2
  180. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +39 -6
  181. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +20 -40
  182. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/test/range.rb +27 -3
  183. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +11 -17
  184. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +216 -38
  185. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/test/rational.rb +6 -6
  186. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/README.md +6 -4
  187. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/src/mrb_sleep.c +4 -4
  188. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/README.md +3 -2
  189. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +47 -45
  190. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +102 -71
  191. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +4 -2
  192. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +23 -1
  193. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +13 -9
  194. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +1 -1
  195. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +18 -25
  196. data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +6 -5
  197. data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +1 -1
  198. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/README.md +0 -1
  199. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +5 -5
  200. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +16 -44
  201. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/vformat.c +4 -4
  202. data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +27 -27
  203. data/ext/enterprise_script_service/mruby/mrbgems/stdlib-ext.gembox +18 -0
  204. data/ext/enterprise_script_service/mruby/mrbgems/stdlib-io.gembox +12 -0
  205. data/ext/enterprise_script_service/mruby/mrbgems/stdlib.gembox +54 -0
  206. data/ext/enterprise_script_service/mruby/mrblib/10error.rb +4 -0
  207. data/ext/enterprise_script_service/mruby/mrblib/array.rb +17 -9
  208. data/ext/enterprise_script_service/mruby/mrblib/enum.rb +1 -1
  209. data/ext/enterprise_script_service/mruby/mrblib/hash.rb +0 -20
  210. data/ext/enterprise_script_service/mruby/mrblib/init_mrblib.c +0 -11
  211. data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +36 -11
  212. data/ext/enterprise_script_service/mruby/mrblib/range.rb +25 -3
  213. data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_proto_fuzzer.cpp +2 -2
  214. data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.h +1 -1
  215. data/ext/enterprise_script_service/mruby/src/array.c +43 -80
  216. data/ext/enterprise_script_service/mruby/src/backtrace.c +16 -17
  217. data/ext/enterprise_script_service/mruby/src/class.c +774 -182
  218. data/ext/enterprise_script_service/mruby/src/codedump.c +223 -198
  219. data/ext/enterprise_script_service/mruby/src/debug.c +6 -6
  220. data/ext/enterprise_script_service/mruby/src/dump.c +466 -141
  221. data/ext/enterprise_script_service/mruby/src/enum.c +1 -1
  222. data/ext/enterprise_script_service/mruby/src/error.c +36 -13
  223. data/ext/enterprise_script_service/mruby/src/etc.c +43 -34
  224. data/ext/enterprise_script_service/mruby/src/fmt_fp.c +5 -6
  225. data/ext/enterprise_script_service/mruby/src/gc.c +73 -71
  226. data/ext/enterprise_script_service/mruby/src/hash.c +1050 -707
  227. data/ext/enterprise_script_service/mruby/src/kernel.c +75 -220
  228. data/ext/enterprise_script_service/mruby/src/load.c +196 -166
  229. data/ext/enterprise_script_service/mruby/src/numeric.c +352 -314
  230. data/ext/enterprise_script_service/mruby/src/object.c +97 -90
  231. data/ext/enterprise_script_service/mruby/src/print.c +4 -3
  232. data/ext/enterprise_script_service/mruby/src/proc.c +48 -56
  233. data/ext/enterprise_script_service/mruby/src/range.c +45 -21
  234. data/ext/enterprise_script_service/mruby/src/state.c +25 -32
  235. data/ext/enterprise_script_service/mruby/src/string.c +59 -101
  236. data/ext/enterprise_script_service/mruby/src/symbol.c +121 -56
  237. data/ext/enterprise_script_service/mruby/src/value_array.h +1 -0
  238. data/ext/enterprise_script_service/mruby/src/variable.c +158 -158
  239. data/ext/enterprise_script_service/mruby/src/vm.c +617 -602
  240. data/ext/enterprise_script_service/mruby/tasks/benchmark.rake +6 -6
  241. data/ext/enterprise_script_service/mruby/tasks/bin.rake +23 -0
  242. data/ext/enterprise_script_service/mruby/tasks/core.rake +12 -0
  243. data/ext/enterprise_script_service/mruby/tasks/doc.rake +50 -38
  244. data/ext/enterprise_script_service/mruby/tasks/gitlab.rake +83 -77
  245. data/ext/enterprise_script_service/mruby/tasks/libmruby.rake +10 -1
  246. data/ext/enterprise_script_service/mruby/tasks/mrbgems.rake +13 -1
  247. data/ext/enterprise_script_service/mruby/tasks/mrblib.rake +40 -0
  248. data/ext/enterprise_script_service/mruby/tasks/presym.rake +44 -0
  249. data/ext/enterprise_script_service/mruby/tasks/test.rake +68 -0
  250. data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +6 -5
  251. data/ext/enterprise_script_service/mruby/tasks/toolchains/openwrt.rake +10 -14
  252. data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +17 -21
  253. data/ext/enterprise_script_service/mruby/test/bintest.rb +5 -5
  254. data/ext/enterprise_script_service/mruby/test/t/argumenterror.rb +16 -0
  255. data/ext/enterprise_script_service/mruby/test/t/array.rb +7 -3
  256. data/ext/enterprise_script_service/mruby/test/t/bs_literal.rb +1 -1
  257. data/ext/enterprise_script_service/mruby/test/t/float.rb +18 -8
  258. data/ext/enterprise_script_service/mruby/test/t/hash.rb +903 -281
  259. data/ext/enterprise_script_service/mruby/test/t/integer.rb +10 -38
  260. data/ext/enterprise_script_service/mruby/test/t/kernel.rb +1 -1
  261. data/ext/enterprise_script_service/mruby/test/t/literals.rb +50 -0
  262. data/ext/enterprise_script_service/mruby/test/t/module.rb +2 -2
  263. data/ext/enterprise_script_service/mruby/test/t/numeric.rb +1 -1
  264. data/ext/enterprise_script_service/mruby/test/t/range.rb +83 -1
  265. data/ext/enterprise_script_service/mruby/test/t/string.rb +4 -0
  266. data/ext/enterprise_script_service/mruby/test/t/superclass.rb +10 -10
  267. data/ext/enterprise_script_service/mruby/test/t/syntax.rb +24 -0
  268. data/ext/enterprise_script_service/mruby/test/t/vformat.rb +3 -3
  269. data/ext/enterprise_script_service/mruby_config.rb +2 -5
  270. data/ext/enterprise_script_service/mruby_engine.cpp +1 -1
  271. data/lib/script_core/version.rb +1 -1
  272. data/spec/script_core_spec.rb +13 -0
  273. metadata +61 -23
  274. data/ext/enterprise_script_service/mruby/.github/workflows/main.yml +0 -24
  275. data/ext/enterprise_script_service/mruby/TODO +0 -8
  276. data/ext/enterprise_script_service/mruby/appveyor_config.rb +0 -46
  277. data/ext/enterprise_script_service/mruby/benchmark/build_config_boxing.rb +0 -28
  278. data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_arm64-v8a.rb +0 -26
  279. data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_armeabi.rb +0 -26
  280. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/kernel.c +0 -30
  281. data/ext/enterprise_script_service/mruby/mrblib/mrblib.rake +0 -18
  282. data/ext/enterprise_script_service/mruby/src/crc.c +0 -39
  283. data/ext/enterprise_script_service/mruby/src/mruby_core.rake +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3cfa6713154bbd8ad099289142899dca5ba3f5dea5cc2c5a6d48f2119559b4b8
4
- data.tar.gz: 6141a1d955d8ae69080c56f0d4b6966e9595d5f0992cc758ddc5ba6bdff9ab98
3
+ metadata.gz: d4acca39fe051a66bcfc3333033a4560384d47d4bfec2f720727e6ea3a1d95d7
4
+ data.tar.gz: a292055ceab794414997aa2499b534982128b7a162460129b7a40dfea9ebe020
5
5
  SHA512:
6
- metadata.gz: a250786dcf497f2e93f3734a154f32ed31fe367b6f6df50d12e5b683850003275a9852f2f3ae5eec037b313fc16c66af034528cf3f5abbc3cb55bc6b24fb6b20
7
- data.tar.gz: 4ab307f3a464f1cfe5e0c0fe0a43ec56c70055e88a02a6ade5f0fb33b510ac56e8240fdc758104d1089a5b420e940476436695285f46f921e6f97cabc9f5ed7c
6
+ metadata.gz: 641afdbc91371e1c094df80b281b3986885dd8304050e4360c4c3663567ddddd685af88bbe1e33b88c28056f2475844887c6af159a6af1ad5dd8156c6f3481c9
7
+ data.tar.gz: 6727cb3110d66635586beb109f34181481eaef4b7827c238b09bb9e006b970413aa89d6997c26d4e3c4e42e195f96ee073553ebfb31c8561480aa87938b63e38
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.7.1
1
+ 3.0.0
data/Gemfile CHANGED
@@ -12,14 +12,14 @@ gem "sqlite3"
12
12
  # Use Puma as the app server
13
13
  gem "puma"
14
14
 
15
- gem "listen", ">= 3.0.5", "< 3.2"
15
+ gem "listen", "~> 3.1"
16
16
  # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
17
17
  gem "web-console", group: :development
18
18
  # Call "byebug" anywhere in the code to stop execution and get a debugger console
19
19
  gem "byebug", group: %i[development test]
20
20
 
21
21
  # To support ES6
22
- gem "sprockets", "~> 4.0.0"
22
+ gem "sprockets", "~> 4.0"
23
23
  # Support ES6
24
24
  gem "babel-transpiler"
25
25
  # Use SCSS for stylesheets
@@ -41,7 +41,7 @@ Dir.chdir("#{ESS_ROOT}/tests") do
41
41
  SERVICE_TESTS_EXECUTABLE = SERVICE_EXECUTABLE_DIR.join("enterprise_script_service_tests").to_s
42
42
  end
43
43
 
44
- MRUBY_BIN_DIR = MRUBY_DIR.join("build/host/bin")
44
+ MRUBY_BIN_DIR = MRUBY_DIR.join("build/host/mrbc/bin")
45
45
  MRBC_EXE = MRUBY_BIN_DIR.join("mrbc")
46
46
 
47
47
  MRUBY_LIB_DIR = MRUBY_DIR.join("build/sandbox/lib")
@@ -3,104 +3,147 @@ name: Build & Test
3
3
  on: [push, pull_request]
4
4
 
5
5
  jobs:
6
+ Check-Skip:
7
+ if: |
8
+ !contains(github.event.head_commit.message, '[ci skip]') &&
9
+ !contains(github.event.head_commit.message, '[skip ci]') &&
10
+ !contains(github.event.head_commit.message, '[skip gha]')
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - run: echo not skip
14
+
6
15
  Ubuntu-1604:
16
+ needs: Check-Skip
7
17
  runs-on: ubuntu-16.04
18
+ env:
19
+ MRUBY_CONFIG: ci/gcc-clang
20
+ CC: gcc
8
21
  steps:
9
- - uses: actions/checkout@v1
10
- - name: apt
11
- run: sudo apt install ruby gperf
12
- - name: build and test
13
- run: rake -m -j4 all test
14
- env:
15
- MRUBY_CONFIG: travis_config.rb
22
+ - uses: actions/checkout@v2
23
+ - name: Ruby version
24
+ run: ruby -v
25
+ - name: Compiler version
26
+ run: ${{ env.CC }} --version
27
+ - name: Build and test
28
+ run: rake -m test:build && rake test:run
16
29
 
17
30
  Ubuntu-1804-gcc:
31
+ needs: Check-Skip
18
32
  runs-on: ubuntu-18.04
33
+ env:
34
+ MRUBY_CONFIG: ci/gcc-clang
35
+ CC: gcc
19
36
  steps:
20
- - uses: actions/checkout@v1
21
- - name: apt
22
- run: sudo apt install ruby gperf gcc g++
23
- - name: build and test
24
- run: rake -m -j4 all test
25
- env:
26
- MRUBY_CONFIG: travis_config.rb
27
- CC: gcc
28
- CXX: g++
37
+ - uses: actions/checkout@v2
38
+ - name: Ruby version
39
+ run: ruby -v
40
+ - name: Compiler version
41
+ run: ${{ env.CC }} --version
42
+ - name: Build and test
43
+ run: rake -m test:build && rake test:run
29
44
 
30
45
  Ubuntu-1804-clang:
46
+ needs: Check-Skip
31
47
  runs-on: ubuntu-18.04
48
+ env:
49
+ MRUBY_CONFIG: ci/gcc-clang
50
+ CC: clang
32
51
  steps:
33
- - uses: actions/checkout@v1
34
- - name: apt
35
- run: sudo apt install ruby gperf
36
- - name: build and test
37
- run: rake -m -j4 all test
38
- env:
39
- MRUBY_CONFIG: travis_config.rb
40
- CC: clang
41
- CXX: clang++
52
+ - uses: actions/checkout@v2
53
+ - name: Ruby version
54
+ run: ruby -v
55
+ - name: Compiler version
56
+ run: ${{ env.CC }} --version
57
+ - name: Build and test
58
+ run: rake -m test:build && rake test:run
42
59
 
43
60
  macOS:
61
+ needs: Check-Skip
44
62
  runs-on: macos-latest
63
+ env:
64
+ MRUBY_CONFIG: ci/gcc-clang
65
+ CC: clang
45
66
  steps:
46
- - uses: actions/checkout@v1
47
- - name: brew
48
- run: brew install ruby gperf
49
- - name: build and test
50
- run: rake -m -j4 all test
51
- env:
52
- MRUBY_CONFIG: travis_config.rb
67
+ - uses: actions/checkout@v2
68
+ - name: Ruby version
69
+ run: ruby -v
70
+ - name: Compiler version
71
+ run: ${{ env.CC }} --version
72
+ - name: Build and test
73
+ run: rake -m test:build && rake test:run
53
74
 
54
75
  Windows-MinGW:
76
+ needs: Check-Skip
55
77
  runs-on: windows-latest
78
+ env:
79
+ MRUBY_CONFIG: ci/gcc-clang
80
+ CC: gcc
56
81
  steps:
57
- - uses: actions/checkout@v1
58
- - name: chocolatey
59
- run: choco install -y ruby gperf
60
- - name: build and test
61
- run: rake -E '$stdout.sync=true' -j4 test
62
- env:
63
- MRUBY_CONFIG: travis_config.rb
64
- CFLAGS: -g -O1 -Wall -Wundef
82
+ - uses: actions/checkout@v2
83
+ - name: Ruby version
84
+ run: ruby -v
85
+ - name: Compiler version
86
+ run: ${{ env.CC }} --version
87
+ - name: Build and test
88
+ run: rake -m test:build && rake test:run
65
89
 
66
90
  Windows-Cygwin:
91
+ needs: Check-Skip
67
92
  runs-on: windows-latest
93
+ env:
94
+ ACTIONS_ALLOW_UNSECURE_COMMANDS: true
95
+ MRUBY_CONFIG: ci/gcc-clang
96
+ CC: gcc
97
+ installer-path: '%TMP%\cygwin-setup.exe'
98
+ cygwin-root: C:\cygwin
99
+ package-dir: C:\cygwin-package
100
+ cache-version: v1
68
101
  steps:
69
- - uses: actions/checkout@v1
70
- - uses: actions/cache@v1
71
- with:
72
- path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey
73
- key: ${{ runner.os }}-cygwin-chocolatey-${{ matrix.os }}-${{ github.sha }}
74
- restore-keys: |
75
- ${{ runner.os }}-cygwin-chocolatey-${{ matrix.os }}-
76
- ${{ runner.os }}-cygwin-chocolatey-
77
- - name: chocolatey
78
- run: choco install -y cygwin
79
- - name: Install cygwin packages
80
- shell: cmd
81
- run: C:\tools\cygwin\cygwinsetup.exe -qgnNdO -R C:/tools/cygwin -l C:/tools/cygwin/package -s http://mirrors.kernel.org/sourceware/cygwin/ -P gcc-core,gcc-g++,make,gperf,ruby
82
- - name: Set ENV
83
- run: |
84
- echo '::set-env name=PATH::C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin'
85
- - name: build and test
86
- shell: cmd
87
- run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -m -j4 -E 'STDOUT.sync=true' test
88
- env:
89
- MRUBY_CONFIG: travis_config.rb
102
+ - uses: actions/checkout@v2
103
+ - uses: actions/cache@v2
104
+ with:
105
+ path: ${{ env.package-dir }}
106
+ key: ${{ runner.os }}-cygwin-${{ env.cache-version }}
107
+ - name: Download Cygwin installer
108
+ shell: cmd
109
+ run: >
110
+ bitsadmin /transfer download /priority foreground
111
+ https://cygwin.com/setup-x86_64.exe ${{ env.installer-path }}
112
+ - name: Install Cygwin
113
+ shell: cmd
114
+ run: >
115
+ ${{ env.installer-path }}
116
+ --quiet-mode --no-shortcuts --no-startmenu --no-desktop --no-admin
117
+ --only-site --site http://mirrors.kernel.org/sourceware/cygwin/
118
+ --root ${{ env.cygwin-root }}
119
+ --local-package-dir ${{ env.package-dir }}
120
+ --packages gcc-core,gcc-g++,ruby
121
+ - name: Set PATH for Cygwin
122
+ run: |
123
+ echo '::set-env name=PATH::${{ env.cygwin-root }}\bin;${{ env.cygwin-root }}\usr\bin'
124
+ - name: Ruby version
125
+ shell: cmd
126
+ run: ruby -v
127
+ - name: Compiler version
128
+ run: ${{ env.CC }} --version
129
+ - name: Build and test
130
+ shell: cmd
131
+ run: ruby /usr/bin/rake -m test:build && ruby /usr/bin/rake test:run
132
+ - name: Set PATH for cache archiving (tar)
133
+ # set Windows path so that Cygwin tar is not used for cache archiving
134
+ run: echo '::set-env name=PATH::C:\windows\System32'
90
135
 
91
136
  Windows-VC:
137
+ needs: Check-Skip
92
138
  runs-on: windows-latest
139
+ env:
140
+ MRUBY_CONFIG: ci/msvc
93
141
  steps:
94
- - uses: actions/checkout@v1
95
- - name: chocolatey
96
- run: choco install -y ruby gperf
97
- - name: build and test
98
- shell: cmd
99
- run: |
100
- call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
101
- rake -E "STDOUT.sync=true" -m -j4 test
102
- env:
103
- MRUBY_CONFIG: appveyor_config.rb
104
- # TODO(take-cheeze): Re-enable /O2
105
- CFLAGS: "/c /nologo /W3 /we4013 /Zi /MD /D_CRT_SECURE_NO_WARNINGS"
106
- CXXFLAGS: "/c /nologo /W3 /Zi /MD /EHs /D_CRT_SECURE_NO_WARNINGS"
142
+ - uses: actions/checkout@v2
143
+ - name: Ruby version
144
+ run: ruby -v
145
+ - name: Build and test
146
+ shell: cmd
147
+ run: |
148
+ call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
149
+ rake -m test:build && rake test:run
@@ -8,44 +8,48 @@ on:
8
8
 
9
9
  jobs:
10
10
  CodeQL-Build:
11
+ if: |
12
+ !contains(github.event.head_commit.message, '[ci skip]') &&
13
+ !contains(github.event.head_commit.message, '[skip ci]') &&
14
+ !contains(github.event.head_commit.message, '[skip gha]')
11
15
 
12
16
  runs-on: ubuntu-latest
13
17
 
14
18
  steps:
15
- - name: Checkout repository
16
- uses: actions/checkout@v2
17
- with:
18
- # We must fetch at least the immediate parents so that if this is
19
- # a pull request then we can checkout the head.
20
- fetch-depth: 2
21
-
22
- # If this run was triggered by a pull request event, then checkout
23
- # the head of the pull request instead of the merge commit.
24
- - run: git checkout HEAD^2
25
- if: ${{ github.event_name == 'pull_request' }}
26
-
27
- # Initializes the CodeQL tools for scanning.
28
- - name: Initialize CodeQL
29
- uses: github/codeql-action/init@v1
30
- # Override language selection by uncommenting this and choosing your languages
31
- # with:
32
- # languages: go, javascript, csharp, python, cpp, java
33
-
34
- # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
35
- # If this step fails, then you should remove it and run the build manually (see below)
36
- - name: Autobuild
37
- uses: github/codeql-action/autobuild@v1
38
-
39
- # ℹ️ Command-line programs to run using the OS shell.
40
- # 📚 https://git.io/JvXDl
41
-
42
- # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
43
- # and modify them (or add more) to build your code if your project
44
- # uses a compiled language
45
-
46
- #- run: |
47
- # make bootstrap
48
- # make release
49
-
50
- - name: Perform CodeQL Analysis
51
- uses: github/codeql-action/analyze@v1
19
+ - name: Checkout repository
20
+ uses: actions/checkout@v2
21
+ with:
22
+ # We must fetch at least the immediate parents so that if this is
23
+ # a pull request then we can checkout the head.
24
+ fetch-depth: 2
25
+
26
+ # If this run was triggered by a pull request event, then checkout
27
+ # the head of the pull request instead of the merge commit.
28
+ - run: git checkout HEAD^2
29
+ if: ${{ github.event_name == 'pull_request' }}
30
+
31
+ # Initializes the CodeQL tools for scanning.
32
+ - name: Initialize CodeQL
33
+ uses: github/codeql-action/init@v1
34
+ # Override language selection by uncommenting this and choosing your languages
35
+ # with:
36
+ # languages: go, javascript, csharp, python, cpp, java
37
+
38
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
39
+ # If this step fails, then you should remove it and run the build manually (see below)
40
+ - name: Autobuild
41
+ uses: github/codeql-action/autobuild@v1
42
+
43
+ # ℹ️ Command-line programs to run using the OS shell.
44
+ # 📚 https://git.io/JvXDl
45
+
46
+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
47
+ # and modify them (or add more) to build your code if your project
48
+ # uses a compiled language
49
+
50
+ # - run: |
51
+ # make bootstrap
52
+ # make release
53
+
54
+ - name: Perform CodeQL Analysis
55
+ uses: github/codeql-action/analyze@v1
@@ -0,0 +1,23 @@
1
+ name: ❄️ Lint
2
+
3
+ on: [pull_request]
4
+
5
+ jobs:
6
+ yamllint:
7
+ name: 🍶 YAML
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v2
11
+ - name: 🧹 YAML Lint
12
+ uses: ibiqlik/action-yamllint@v3
13
+ markdownlint:
14
+ name: 🍸 Markdown
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+ - name: 🚀 Use Node.js
19
+ uses: actions/setup-node@v2.1.4
20
+ with:
21
+ node-version: '12.x'
22
+ - run: npm install -g markdownlint-cli@0.25.0
23
+ - run: markdownlint '**/*.md'
@@ -0,0 +1,27 @@
1
+ name: CIFuzz
2
+ on: [pull_request]
3
+ jobs:
4
+ Fuzzing:
5
+ if: |
6
+ !contains(github.event.head_commit.message, '[ci skip]') &&
7
+ !contains(github.event.head_commit.message, '[skip ci]') &&
8
+ !contains(github.event.head_commit.message, '[skip gha]')
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - name: Build Fuzzers
12
+ uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
13
+ with:
14
+ oss-fuzz-project-name: 'mruby'
15
+ dry-run: false
16
+ - name: Run Fuzzers
17
+ uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
18
+ with:
19
+ oss-fuzz-project-name: 'mruby'
20
+ fuzz-seconds: 600
21
+ dry-run: false
22
+ - name: Upload Crash
23
+ uses: actions/upload-artifact@v1
24
+ if: failure()
25
+ with:
26
+ name: artifacts
27
+ path: ./out/artifacts
@@ -0,0 +1,17 @@
1
+ name: 💎 Spellchecker
2
+
3
+ on: [pull_request]
4
+
5
+ jobs:
6
+ misspell:
7
+ name: 🧹 Check Spelling
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - name: 🍒 Check Out
11
+ uses: actions/checkout@v2
12
+ - name: 🍅 Install
13
+ run: |
14
+ wget -O - -q https://git.io/misspell | sh -s -- -b .
15
+ - name: 🌶️ Misspell
16
+ run: |
17
+ git ls-files --empty-directory | xargs ./misspell -error
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  stages:
3
- - pretest
4
- - test
3
+ - pretest
4
+ - test
5
5
  pretest:
6
6
  stage: pretest
7
7
  image: registry.gitlab.com/dabroz/mruby:gcc47_0.1
8
8
  tags:
9
- - linux
9
+ - linux
10
10
  variables:
11
11
  CC: gcc-4.7
12
12
  CXX: g++-4.7
@@ -0,0 +1,16 @@
1
+ MD001: false
2
+ MD003: false
3
+ MD004: false
4
+ MD005: false
5
+ MD007: false
6
+ MD010: false
7
+ MD011: false
8
+ MD013: false
9
+ MD014: false
10
+ MD024: false
11
+ MD025: false
12
+ MD026: false
13
+ MD034: false
14
+ MD040: false
15
+ MD041: false
16
+ MD046: false