script_core 0.2.7 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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