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
@@ -1,21 +1,5 @@
1
- MRuby::Build.new do |conf|
2
-
3
- # Gets set by the VS command prompts.
4
- if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
5
- toolchain :visualcpp
6
- else
7
- toolchain :gcc
8
- end
9
-
10
- enable_debug
11
-
12
- # include the default GEMs
13
- conf.gembox 'default'
14
-
15
- end
16
-
17
1
  # Cross Compiling configuration for Arduino Due
18
- # http://arduino.cc/en/Main/ArduinoBoardDue
2
+ # https://arduino.cc/en/Main/ArduinoBoardDue
19
3
  #
20
4
  # Requires Arduino IDE >= 1.5
21
5
  MRuby::CrossBuild.new("ArduinoDue") do |conf|
@@ -47,9 +31,8 @@
47
31
  #configuration for low memory environment
48
32
  cc.defines << %w(MRB_HEAP_PAGE_SIZE=64)
49
33
  cc.defines << %w(KHASH_DEFAULT_SIZE=8)
50
- cc.defines << %w(MRB_STR_BUF_MIN_SIZE=20)
51
34
  cc.defines << %w(MRB_GC_STRESS)
52
- #cc.defines << %w(MRB_DISABLE_STDIO) #if you dont need stdio.
35
+ #cc.defines << %w(MRB_NO_STDIO) #if you dont need stdio.
53
36
  #cc.defines << %w(POOL_PAGE_SIZE=1000) #effective only for use with mruby-eval
54
37
  end
55
38
 
@@ -5,7 +5,7 @@
5
5
  MRuby::Build.new do |conf|
6
6
  toolchain :gcc
7
7
  conf.gembox 'default'
8
- conf.cc.defines = %w(ENABLE_READLINE)
8
+ conf.cc.defines = %w(MRB_USE_READLINE)
9
9
  conf.gembox 'default'
10
10
 
11
11
  #lightweight regular expression
@@ -33,7 +33,7 @@
33
33
  cc.flags << %w(-O2 -pipe -g -feliminate-unused-debug-types)
34
34
  cc.flags << "--sysroot=#{POKY_EDISON_SYSROOT}"
35
35
  cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
36
- cc.defines = %w(ENABLE_READLINE)
36
+ cc.defines = %w(MRB_USE_READLINE)
37
37
  end
38
38
 
39
39
  conf.cxx do |cxx|
@@ -1,22 +1,5 @@
1
- MRuby::Build.new do |conf|
2
-
3
- # Gets set by the VS command prompts.
4
- if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
5
- toolchain :visualcpp
6
- else
7
- toolchain :gcc
8
- end
9
-
10
- enable_debug
11
-
12
- # include the default GEMs
13
- conf.gembox 'default'
14
-
15
- end
16
-
17
-
18
1
  # Cross Compiling configuration for Intel Galileo on Arduino environment
19
- # http://arduino.cc/en/ArduinoCertified/IntelGalileo
2
+ # https://arduino.cc/en/ArduinoCertified/IntelGalileo
20
3
  #
21
4
  # Requires Arduino IDE for Intel Galileo
22
5
  MRuby::CrossBuild.new("Galileo") do |conf|
@@ -1,19 +1,3 @@
1
- MRuby::Build.new do |conf|
2
-
3
- # Gets set by the VS command prompts.
4
- if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
5
- toolchain :visualcpp
6
- else
7
- toolchain :gcc
8
- end
9
-
10
- enable_debug
11
-
12
- # include the default GEMs
13
- conf.gembox 'default'
14
-
15
- end
16
-
17
1
  # Cross Compiling configuration for RX630
18
2
  # http://gadget.renesas.com/
19
3
  #
@@ -30,12 +14,11 @@
30
14
  cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
31
15
 
32
16
  #configuration for low memory environment
33
- cc.defines << %w(MRB_USE_FLOAT)
17
+ cc.defines << %w(MRB_USE_FLOAT32)
34
18
  cc.defines << %w(MRB_HEAP_PAGE_SIZE=64)
35
19
  cc.defines << %w(KHASH_DEFAULT_SIZE=8)
36
- cc.defines << %w(MRB_STR_BUF_MIN_SIZE=20)
37
20
  cc.defines << %w(MRB_GC_STRESS)
38
- cc.defines << %w(MRB_DISABLE_STDIO) #if you dont need stdio.
21
+ cc.defines << %w(MRB_NO_STDIO) #if you dont need stdio.
39
22
  #cc.defines << %w(POOL_PAGE_SIZE=1000) #effective only for use with mruby-eval
40
23
  end
41
24
 
@@ -0,0 +1,11 @@
1
+ # Requires Android NDK r13 or later.
2
+ MRuby::CrossBuild.new('android-arm64-v8a') do |conf|
3
+ params = {
4
+ :arch => 'arm64-v8a',
5
+ :platform => 'android-24',
6
+ :toolchain => :clang,
7
+ }
8
+ toolchain :android, params
9
+
10
+ conf.gembox 'default'
11
+ end
@@ -0,0 +1,11 @@
1
+ # Requires Android NDK r13 or later.
2
+ MRuby::CrossBuild.new('android-armeabi') do |conf|
3
+ params = {
4
+ :arch => 'armeabi',
5
+ :platform => 'android-24',
6
+ :toolchain => :clang,
7
+ }
8
+ toolchain :android, params
9
+
10
+ conf.gembox 'default'
11
+ end
@@ -1,18 +1,3 @@
1
- MRuby::Build.new do |conf|
2
-
3
- # Gets set by the VS command prompts.
4
- if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
5
- toolchain :visualcpp
6
- else
7
- toolchain :gcc
8
- end
9
-
10
- enable_debug
11
-
12
- # include the default GEMs
13
- conf.gembox 'default'
14
- end
15
-
16
1
  # Requires Android NDK r13 or later.
17
2
  MRuby::CrossBuild.new('android-armeabi-v7a-neon-hard') do |conf|
18
3
  params = {
@@ -0,0 +1,11 @@
1
+ MRuby::Build.new('bench') 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
+ conf.cc.flags << '-O3'
8
+ end
9
+
10
+ conf.gembox 'default'
11
+ end
@@ -0,0 +1,21 @@
1
+ boxings = %w[no word nan]
2
+ bits = [64, 32]
3
+ ints = [64, 32]
4
+
5
+ boxings.product(bits, ints) do |boxing, bit, int|
6
+ next if boxing == "nan" && int == 64
7
+
8
+ MRuby::Build.new("boxing-#{boxing}-m#{bit}-i#{int}") do |conf|
9
+ conf.toolchain :gcc
10
+ conf.gembox 'default'
11
+ conf.compilers.each do |c|
12
+ c.defines << "MRB_#{boxing.upcase}_BOXING"
13
+ c.defines << "MRB_INT#{int}"
14
+ c.flags << "-m#{bit}"
15
+ end
16
+ conf.linker.flags << "-m#{bit}"
17
+ conf.enable_debug
18
+ conf.enable_test
19
+ conf.enable_bintest
20
+ end
21
+ end
@@ -1,21 +1,5 @@
1
- MRuby::Build.new do |conf|
2
-
3
- # Gets set by the VS command prompts.
4
- if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
5
- toolchain :visualcpp
6
- else
7
- toolchain :gcc
8
- end
9
-
10
- enable_debug
11
-
12
- # include the default GEMs
13
- conf.gembox 'default'
14
-
15
- end
16
-
17
1
  # Cross Compiling configuration for Digilent chipKIT Max32
18
- # http://www.digilentinc.com/Products/Detail.cfm?Prod=CHIPKIT-MAX32
2
+ # https://www.digilentinc.com/Products/Detail.cfm?Prod=CHIPKIT-MAX32
19
3
  #
20
4
  # Requires MPIDE (https://github.com/chipKIT32/chipKIT32-MAX)
21
5
  #
@@ -44,9 +28,8 @@
44
28
  #configuration for low memory environment
45
29
  cc.defines << %w(MRB_HEAP_PAGE_SIZE=64)
46
30
  cc.defines << %w(KHASH_DEFAULT_SIZE=8)
47
- cc.defines << %w(MRB_STR_BUF_MIN_SIZE=20)
48
31
  cc.defines << %w(MRB_GC_STRESS)
49
- #cc.defines << %w(MRB_DISABLE_STDIO) #if you dont need stdio.
32
+ #cc.defines << %w(MRB_NO_STDIO) #if you dont need stdio.
50
33
  #cc.defines << %w(POOL_PAGE_SIZE=1000) #effective only for use with mruby-eval
51
34
  end
52
35
 
@@ -1,21 +1,22 @@
1
+ STDOUT.sync = STDERR.sync = true unless Rake.application.options.always_multitask
2
+
1
3
  MRuby::Build.new('full-debug') do |conf|
2
- toolchain :gcc
3
- enable_debug
4
+ conf.toolchain
5
+ conf.enable_debug
4
6
 
5
7
  # include all core GEMs
6
8
  conf.gembox 'full-core'
7
- conf.cc.flags += %w(-Werror=declaration-after-statement)
8
- conf.cc.defines += %w(MRB_GC_STRESS MRB_METHOD_CACHE MRB_ENABLE_DEBUG_HOOK)
9
+ conf.cc.defines += %w(MRB_GC_STRESS MRB_USE_DEBUG_HOOK)
9
10
 
10
11
  conf.enable_test
11
12
  end
12
13
 
13
14
  MRuby::Build.new do |conf|
14
- toolchain :gcc
15
+ conf.toolchain
15
16
 
16
17
  # include all core GEMs
17
18
  conf.gembox 'full-core'
18
- conf.cc.flags += %w(-Werror=declaration-after-statement)
19
+ conf.gem :core => 'mruby-bin-debugger'
19
20
  conf.compilers.each do |c|
20
21
  c.defines += %w(MRB_GC_FIXED_ARENA)
21
22
  end
@@ -24,17 +25,16 @@
24
25
  end
25
26
 
26
27
  MRuby::Build.new('cxx_abi') do |conf|
27
- toolchain :gcc
28
+ conf.toolchain
28
29
 
29
30
  conf.gembox 'full-core'
30
31
  conf.cc.flags += %w(-fpermissive)
31
32
  conf.compilers.each do |c|
32
33
  c.defines += %w(MRB_GC_FIXED_ARENA)
33
34
  end
34
- conf.enable_bintest
35
35
  conf.enable_test
36
36
 
37
- enable_cxx_abi
37
+ conf.enable_cxx_abi
38
38
 
39
- build_mrbc_exec
39
+ conf.build_mrbc_exec
40
40
  end
@@ -0,0 +1,20 @@
1
+ STDOUT.sync = STDERR.sync = true unless Rake.application.options.always_multitask
2
+
3
+ def setup_option(conf)
4
+ conf.cc.compile_options.sub!(%r{/Zi }, "") unless ENV['CFLAGS']
5
+ conf.cxx.compile_options.sub!(%r{/Zi }, "") unless ENV['CFLAGS'] || ENV['CXXFLAGS']
6
+ conf.linker.flags << "/DEBUG:NONE" unless ENV['LDFLAGS']
7
+ end
8
+
9
+ MRuby::Build.new do |conf|
10
+ conf.toolchain :visualcpp
11
+
12
+ # include all core GEMs
13
+ conf.gembox 'full-core'
14
+ conf.compilers.each do |c|
15
+ c.defines += %w(MRB_GC_FIXED_ARENA)
16
+ end
17
+ setup_option(conf)
18
+ conf.enable_bintest
19
+ conf.enable_test
20
+ end
@@ -0,0 +1,11 @@
1
+ MRuby::Build.new do |conf|
2
+ conf.toolchain :clang
3
+ # include the GEM box
4
+ conf.gembox 'default'
5
+
6
+ # Turn on `enable_debug` for better debugging
7
+ conf.enable_sanitizer "address,undefined"
8
+ conf.enable_debug
9
+ conf.enable_bintest
10
+ conf.enable_test
11
+ end
@@ -0,0 +1,14 @@
1
+ # Define cross build settings
2
+ MRuby::CrossBuild.new('cross-32bit') do |conf|
3
+ conf.toolchain :gcc
4
+
5
+ conf.cc.flags << "-m32"
6
+ conf.linker.flags << "-m32"
7
+
8
+ # conf.build_mrbtest_lib_only
9
+
10
+ conf.gem :core => "mruby-bin-mruby"
11
+ conf.gem "#{MRUBY_ROOT}/examples/mrbgems/c_and_ruby_extension_example"
12
+
13
+ conf.test_runner.command = 'env'
14
+ end
@@ -0,0 +1,80 @@
1
+ MRuby::Build.new do |conf|
2
+ # load specific toolchain settings
3
+ conf.toolchain
4
+
5
+ # Use mrbgems
6
+ # conf.gem 'examples/mrbgems/ruby_extension_example'
7
+ # conf.gem 'examples/mrbgems/c_extension_example' do |g|
8
+ # g.cc.flags << '-g' # append cflags in this gem
9
+ # end
10
+ # conf.gem 'examples/mrbgems/c_and_ruby_extension_example'
11
+ # conf.gem :core => 'mruby-eval'
12
+ # conf.gem :mgem => 'mruby-onig-regexp'
13
+ # conf.gem :github => 'mattn/mruby-onig-regexp'
14
+ # conf.gem :git => 'git@github.com:mattn/mruby-onig-regexp.git', :branch => 'master', :options => '-v'
15
+
16
+ # include the GEM box
17
+ conf.gembox 'default'
18
+
19
+ # C compiler settings
20
+ # conf.cc do |cc|
21
+ # cc.command = ENV['CC'] || 'gcc'
22
+ # cc.flags = [ENV['CFLAGS'] || %w()]
23
+ # cc.include_paths = ["#{root}/include"]
24
+ # cc.defines = %w()
25
+ # cc.option_include_path = %q[-I"%s"]
26
+ # cc.option_define = '-D%s'
27
+ # cc.compile_options = %Q[%{flags} -MMD -o "%{outfile}" -c "%{infile}"]
28
+ # end
29
+
30
+ # mrbc settings
31
+ # conf.mrbc do |mrbc|
32
+ # mrbc.compile_options = "-g -B%{funcname} -o-" # The -g option is required for line numbers
33
+ # end
34
+
35
+ # Linker settings
36
+ # conf.linker do |linker|
37
+ # linker.command = ENV['LD'] || 'gcc'
38
+ # linker.flags = [ENV['LDFLAGS'] || []]
39
+ # linker.flags_before_libraries = []
40
+ # linker.libraries = %w()
41
+ # linker.flags_after_libraries = []
42
+ # linker.library_paths = []
43
+ # linker.option_library = '-l%s'
44
+ # linker.option_library_path = '-L%s'
45
+ # linker.link_options = "%{flags} -o "%{outfile}" %{objs} %{libs}"
46
+ # end
47
+
48
+ # Archiver settings
49
+ # conf.archiver do |archiver|
50
+ # archiver.command = ENV['AR'] || 'ar'
51
+ # archiver.archive_options = 'rs "%{outfile}" %{objs}'
52
+ # end
53
+
54
+ # Parser generator settings
55
+ # conf.yacc do |yacc|
56
+ # yacc.command = ENV['YACC'] || 'bison'
57
+ # yacc.compile_options = %q[-o "%{outfile}" "%{infile}"]
58
+ # end
59
+
60
+ # gperf settings
61
+ # conf.gperf do |gperf|
62
+ # gperf.command = 'gperf'
63
+ # gperf.compile_options = %q[-L ANSI-C -C -p -j1 -i 1 -g -o -t -N mrb_reserved_word -k"1,3,$" "%{infile}" > "%{outfile}"]
64
+ # end
65
+
66
+ # file extensions
67
+ # conf.exts do |exts|
68
+ # exts.object = '.o'
69
+ # exts.executable = '' # '.exe' if Windows
70
+ # exts.library = '.a'
71
+ # end
72
+
73
+ # file separator
74
+ # conf.file_separator = '/'
75
+
76
+ # Turn on `enable_debug` for better debugging
77
+ # conf.enable_debug
78
+ conf.enable_bintest
79
+ conf.enable_test
80
+ end
@@ -1,17 +1,3 @@
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
1
  # Cross Compiling configuration for the Sega Dreamcast
16
2
  # This configuration requires KallistiOS (KOS)
17
3
  # https://dreamcast.wiki
@@ -25,7 +11,7 @@
25
11
  # To compile mruby with DreamSDK, RubyInstaller for Windows should be installed
26
12
  DREAMSDK_HOME = ENV["DREAMSDK_HOME"]
27
13
  MSYS_ROOT = !(DREAMSDK_HOME.nil? || DREAMSDK_HOME.empty?) ? "#{DREAMSDK_HOME}/msys/1.0" : ""
28
-
14
+
29
15
  # Setting paths
30
16
  DREAMCAST_PATH = "#{MSYS_ROOT}/opt/toolchains/dc"
31
17
  KOS_PATH = "#{DREAMCAST_PATH}/kos"
@@ -51,16 +37,16 @@
51
37
  cxx.defines = conf.cc.defines.dup
52
38
  cxx.compile_options = conf.cc.compile_options.dup
53
39
  end
54
-
40
+
55
41
  # Linker
56
42
  # 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
43
+ # 'newlib_kill.o' and 'newlib_getpid.o' aren't found so they are explicitly
58
44
  # specified here at least for now.
59
45
  conf.linker do |linker|
60
46
  linker.command="#{BIN_PATH}/sh-elf-gcc"
61
47
  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
48
  linker.library_paths << ["#{KOS_PATH}/lib/dreamcast", "#{KOS_PATH}/addons/lib/dreamcast", "#{KOS_PATH}/../kos-ports/lib"]
63
- end
49
+ end
64
50
 
65
51
  # Archiver
66
52
  conf.archiver do |archiver|
@@ -76,7 +62,7 @@
76
62
 
77
63
  # Disable C++ exception
78
64
  conf.disable_cxx_exception
79
-
65
+
80
66
  # Gems from core
81
67
  # removing mruby-io
82
68
  conf.gem :core => "mruby-metaprog"