script_core 0.1.1 → 0.2.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 (381) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +8 -6
  4. data/.ruby-version +1 -1
  5. data/Gemfile +2 -1
  6. data/bin/sandbox +1 -1
  7. data/ext/enterprise_script_service/Rakefile +1 -1
  8. data/ext/enterprise_script_service/flags.rb +5 -0
  9. data/ext/enterprise_script_service/libseccomp/CHANGELOG +15 -0
  10. data/ext/enterprise_script_service/libseccomp/CREDITS +3 -0
  11. data/ext/enterprise_script_service/libseccomp/Makefile.am +1 -1
  12. data/ext/enterprise_script_service/libseccomp/README.md +1 -1
  13. data/ext/enterprise_script_service/libseccomp/SECURITY.md +45 -0
  14. data/ext/enterprise_script_service/libseccomp/configure.ac +3 -3
  15. data/ext/enterprise_script_service/libseccomp/doc/admin/MAINTAINER_PROCESS.md +95 -0
  16. data/ext/enterprise_script_service/libseccomp/{RELEASE_PROCESS.md → doc/admin/RELEASE_PROCESS.md} +9 -1
  17. data/ext/enterprise_script_service/libseccomp/include/Makefile.am +1 -1
  18. data/ext/enterprise_script_service/libseccomp/include/seccomp-syscalls.h +2292 -0
  19. data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +3 -1065
  20. data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +35 -3
  21. data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +35 -3
  22. data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +43 -11
  23. data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +33 -1
  24. data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +33 -1
  25. data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +34 -2
  26. data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +43 -11
  27. data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +44 -12
  28. data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +46 -14
  29. data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +142 -18
  30. data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +47 -15
  31. data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +143 -17
  32. data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +33 -1
  33. data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +94 -12
  34. data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +142 -19
  35. data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +33 -1
  36. data/ext/enterprise_script_service/libseccomp/src/db.c +1 -0
  37. data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +10 -3
  38. data/ext/enterprise_script_service/libseccomp/src/python/Makefile.am +4 -4
  39. data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +2 -0
  40. data/ext/enterprise_script_service/libseccomp/tests/.gitignore +1 -0
  41. data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.c +98 -0
  42. data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.py +61 -0
  43. data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.tests +18 -0
  44. data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +6 -3
  45. data/ext/enterprise_script_service/libseccomp/tools/Makefile.am +0 -2
  46. data/ext/enterprise_script_service/libseccomp/tools/check-syntax +1 -0
  47. data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +2 -0
  48. data/ext/enterprise_script_service/mruby-mpdecimal/src/ext.c +1 -1
  49. data/ext/enterprise_script_service/mruby/.gitignore +2 -2
  50. data/ext/enterprise_script_service/mruby/CONTRIBUTING.md +10 -3
  51. data/ext/enterprise_script_service/mruby/Doxyfile +2408 -0
  52. data/ext/enterprise_script_service/mruby/README.md +21 -8
  53. data/ext/enterprise_script_service/mruby/Rakefile +4 -13
  54. data/ext/enterprise_script_service/mruby/appveyor_config.rb +1 -1
  55. data/ext/enterprise_script_service/mruby/build_config.rb +3 -3
  56. data/ext/enterprise_script_service/mruby/doc/guides/compile.md +42 -42
  57. data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
  58. data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +45 -6
  59. data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +5 -0
  60. data/ext/enterprise_script_service/mruby/doc/limitations.md +88 -38
  61. data/ext/enterprise_script_service/mruby/doc/mruby_logo_red_icon.png +0 -0
  62. data/ext/enterprise_script_service/mruby/doc/opcode.md +94 -94
  63. data/ext/enterprise_script_service/mruby/include/mrbconf.h +74 -11
  64. data/ext/enterprise_script_service/mruby/include/mruby.h +242 -146
  65. data/ext/enterprise_script_service/mruby/include/mruby/array.h +7 -7
  66. data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +2 -9
  67. data/ext/enterprise_script_service/mruby/include/mruby/boxing_no.h +11 -10
  68. data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +104 -69
  69. data/ext/enterprise_script_service/mruby/include/mruby/class.h +7 -5
  70. data/ext/enterprise_script_service/mruby/include/mruby/common.h +9 -7
  71. data/ext/enterprise_script_service/mruby/include/mruby/compile.h +6 -6
  72. data/ext/enterprise_script_service/mruby/include/mruby/data.h +5 -5
  73. data/ext/enterprise_script_service/mruby/include/mruby/debug.h +2 -2
  74. data/ext/enterprise_script_service/mruby/include/mruby/dump.h +3 -7
  75. data/ext/enterprise_script_service/mruby/include/mruby/error.h +34 -6
  76. data/ext/enterprise_script_service/mruby/include/mruby/gc.h +2 -2
  77. data/ext/enterprise_script_service/mruby/include/mruby/hash.h +4 -11
  78. data/ext/enterprise_script_service/mruby/include/mruby/irep.h +16 -4
  79. data/ext/enterprise_script_service/mruby/include/mruby/istruct.h +4 -4
  80. data/ext/enterprise_script_service/mruby/include/mruby/khash.h +2 -2
  81. data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +41 -7
  82. data/ext/enterprise_script_service/mruby/include/mruby/object.h +8 -9
  83. data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +2 -2
  84. data/ext/enterprise_script_service/mruby/include/mruby/ops.h +6 -6
  85. data/ext/enterprise_script_service/mruby/include/mruby/proc.h +19 -13
  86. data/ext/enterprise_script_service/mruby/include/mruby/range.h +10 -4
  87. data/ext/enterprise_script_service/mruby/include/mruby/re.h +2 -2
  88. data/ext/enterprise_script_service/mruby/include/mruby/string.h +130 -107
  89. data/ext/enterprise_script_service/mruby/include/mruby/throw.h +2 -2
  90. data/ext/enterprise_script_service/mruby/include/mruby/value.h +137 -49
  91. data/ext/enterprise_script_service/mruby/include/mruby/variable.h +3 -5
  92. data/ext/enterprise_script_service/mruby/include/mruby/version.h +24 -10
  93. data/ext/enterprise_script_service/mruby/lib/mruby-core-ext.rb +2 -39
  94. data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +32 -15
  95. data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +63 -17
  96. data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +24 -10
  97. data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +11 -7
  98. data/ext/enterprise_script_service/mruby/lib/mruby/lockfile.rb +81 -0
  99. data/ext/enterprise_script_service/mruby/minirake +27 -11
  100. data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +3 -0
  101. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrbgem.rake +0 -1
  102. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +47 -9
  103. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +3 -3
  104. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/test/array.rb +50 -29
  105. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +3 -3
  106. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +2 -2
  107. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +3 -3
  108. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +2 -2
  109. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +1 -1
  110. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +4 -0
  111. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +28 -1
  112. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +1 -2
  113. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +75 -8
  114. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +134 -90
  115. data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/src/class.c +7 -8
  116. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +69 -46
  117. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/keywords +0 -3
  118. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/lex.def +51 -59
  119. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +430 -241
  120. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrbgem.rake +10 -0
  121. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +122 -0
  122. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +249 -0
  123. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/test/complex.rb +153 -0
  124. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb +19 -17
  125. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/test/enum_chain.rb +41 -9
  126. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +30 -4
  127. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/test/enum.rb +8 -3
  128. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrbgem.rake +0 -1
  129. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +46 -14
  130. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +51 -2
  131. data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/src/exception.c +10 -0
  132. data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +47 -44
  133. data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/test/eval.rb +2 -2
  134. data/ext/enterprise_script_service/mruby/mrbgems/mruby-exit/src/mruby-exit.c +9 -4
  135. data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +16 -12
  136. data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/test/fiber.rb +1 -1
  137. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrbgem.rake +0 -2
  138. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +3 -0
  139. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +3 -7
  140. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/README.md +1 -3
  141. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrbgem.rake +1 -1
  142. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file.rb +0 -5
  143. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +24 -38
  144. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/kernel.rb +16 -0
  145. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +19 -18
  146. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +5 -16
  147. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +54 -42
  148. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +24 -20
  149. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file_test.rb +4 -9
  150. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +41 -35
  151. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +9 -36
  152. data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrbgem.rake +1 -1
  153. data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +9 -27
  154. data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +2 -0
  155. data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +5 -2
  156. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +39 -24
  157. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +48 -17
  158. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/method.rb +0 -12
  159. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +134 -101
  160. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +9 -1
  161. data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb +1 -5
  162. data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +17 -37
  163. data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +0 -8
  164. data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/mrbgem.rake +1 -1
  165. data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/mrblib/object.rb +15 -1
  166. data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +35 -6
  167. data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/test/nil.rb +4 -0
  168. data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -5
  169. data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +1 -1
  170. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +28 -23
  171. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/test/pack.rb +43 -49
  172. data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +3 -9
  173. data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +6 -9
  174. data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.rb +21 -5
  175. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +157 -124
  176. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +72 -26
  177. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +38 -0
  178. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +26 -11
  179. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/test/range.rb +111 -1
  180. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrbgem.rake +5 -0
  181. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +117 -0
  182. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +209 -0
  183. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/test/rational.rb +308 -0
  184. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/README.md +1 -1
  185. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +10 -9
  186. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/kernel.c +2 -2
  187. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +22 -24
  188. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrbgem.rake +0 -1
  189. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +8 -4
  190. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +116 -117
  191. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/numeric.rb +29 -0
  192. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/range.rb +26 -0
  193. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/string.rb +32 -50
  194. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +5 -7
  195. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +43 -57
  196. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/test/struct.rb +16 -11
  197. data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +2 -2
  198. data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +1 -1
  199. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +152 -1
  200. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +4 -3
  201. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/vformat.c +200 -0
  202. data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/include/mruby/time.h +2 -1
  203. data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +199 -68
  204. data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/test/time.rb +81 -46
  205. data/ext/enterprise_script_service/mruby/mrblib/array.rb +14 -16
  206. data/ext/enterprise_script_service/mruby/mrblib/enum.rb +13 -9
  207. data/ext/enterprise_script_service/mruby/mrblib/hash.rb +5 -7
  208. data/ext/enterprise_script_service/mruby/mrblib/kernel.rb +1 -1
  209. data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +4 -4
  210. data/ext/enterprise_script_service/mruby/mrblib/range.rb +1 -1
  211. data/ext/enterprise_script_service/mruby/mrblib/string.rb +55 -112
  212. data/ext/enterprise_script_service/mruby/mruby-source.gemspec +1 -1
  213. data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby.dict +105 -0
  214. data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby_fuzzer.options +5 -0
  215. data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby_proto_fuzzer.options +4 -0
  216. data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_fuzzer.c +18 -0
  217. data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_proto_fuzzer.cpp +44 -0
  218. data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.cpp +455 -0
  219. data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.h +55 -0
  220. data/ext/enterprise_script_service/mruby/oss-fuzz/ruby.proto +201 -0
  221. data/ext/enterprise_script_service/mruby/src/array.c +95 -46
  222. data/ext/enterprise_script_service/mruby/src/backtrace.c +6 -8
  223. data/ext/enterprise_script_service/mruby/src/class.c +370 -278
  224. data/ext/enterprise_script_service/mruby/src/codedump.c +34 -34
  225. data/ext/enterprise_script_service/mruby/src/debug.c +2 -2
  226. data/ext/enterprise_script_service/mruby/src/dump.c +8 -6
  227. data/ext/enterprise_script_service/mruby/src/enum.c +1 -1
  228. data/ext/enterprise_script_service/mruby/src/error.c +157 -55
  229. data/ext/enterprise_script_service/mruby/src/etc.c +13 -46
  230. data/ext/enterprise_script_service/mruby/src/fmt_fp.c +2 -2
  231. data/ext/enterprise_script_service/mruby/src/gc.c +30 -11
  232. data/ext/enterprise_script_service/mruby/src/hash.c +23 -14
  233. data/ext/enterprise_script_service/mruby/src/kernel.c +16 -54
  234. data/ext/enterprise_script_service/mruby/src/load.c +40 -76
  235. data/ext/enterprise_script_service/mruby/src/numeric.c +164 -94
  236. data/ext/enterprise_script_service/mruby/src/object.c +16 -39
  237. data/ext/enterprise_script_service/mruby/src/pool.c +0 -2
  238. data/ext/enterprise_script_service/mruby/src/proc.c +47 -48
  239. data/ext/enterprise_script_service/mruby/src/range.c +22 -35
  240. data/ext/enterprise_script_service/mruby/src/state.c +5 -94
  241. data/ext/enterprise_script_service/mruby/src/string.c +874 -710
  242. data/ext/enterprise_script_service/mruby/src/symbol.c +73 -48
  243. data/ext/enterprise_script_service/mruby/src/variable.c +58 -38
  244. data/ext/enterprise_script_service/mruby/src/vm.c +133 -304
  245. data/ext/enterprise_script_service/mruby/tasks/doc.rake +48 -0
  246. data/ext/enterprise_script_service/mruby/tasks/toolchains/clang.rake +3 -4
  247. data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +20 -19
  248. data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +0 -12
  249. data/ext/enterprise_script_service/mruby/test/assert.rb +186 -25
  250. data/ext/enterprise_script_service/mruby/test/t/array.rb +34 -6
  251. data/ext/enterprise_script_service/mruby/test/t/class.rb +26 -0
  252. data/ext/enterprise_script_service/mruby/test/t/enumerable.rb +2 -2
  253. data/ext/enterprise_script_service/mruby/test/t/float.rb +17 -17
  254. data/ext/enterprise_script_service/mruby/test/t/hash.rb +2 -0
  255. data/ext/enterprise_script_service/mruby/test/t/integer.rb +14 -6
  256. data/ext/enterprise_script_service/mruby/test/t/kernel.rb +38 -19
  257. data/ext/enterprise_script_service/mruby/test/t/module.rb +87 -14
  258. data/ext/enterprise_script_service/mruby/test/t/numeric.rb +65 -23
  259. data/ext/enterprise_script_service/mruby/test/t/range.rb +4 -4
  260. data/ext/enterprise_script_service/mruby/test/t/string.rb +211 -49
  261. data/ext/enterprise_script_service/mruby/test/t/syntax.rb +19 -2
  262. data/ext/enterprise_script_service/mruby/test/t/vformat.rb +92 -0
  263. data/ext/enterprise_script_service/mruby/travis_config.rb +2 -2
  264. data/ext/enterprise_script_service/mruby_config.rb +10 -0
  265. data/ext/enterprise_script_service/mruby_engine.cpp +2 -2
  266. data/ext/enterprise_script_service/mruby_engine.gembox +1 -0
  267. data/ext/enterprise_script_service/msgpack/CHANGELOG.md +14 -0
  268. data/ext/enterprise_script_service/msgpack/Files.cmake +4 -0
  269. data/ext/enterprise_script_service/msgpack/README.md +1 -1
  270. data/ext/enterprise_script_service/msgpack/appveyor.yml +1 -1
  271. data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_msgpack_tuple.hpp.erb +1 -1
  272. data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb +1 -1
  273. data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_zone.hpp.erb +3 -3
  274. data/ext/enterprise_script_service/msgpack/example/boost/asio_send_recv.cpp +1 -1
  275. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp11/timespec.hpp +16 -0
  276. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/wstring.hpp +15 -0
  277. data/ext/enterprise_script_service/msgpack/include/msgpack/object.h +2 -0
  278. data/ext/enterprise_script_service/msgpack/include/msgpack/pack_template.h +17 -9
  279. data/ext/enterprise_script_service/msgpack/include/msgpack/sysdep.h +27 -16
  280. data/ext/enterprise_script_service/msgpack/include/msgpack/type.hpp +2 -0
  281. data/ext/enterprise_script_service/msgpack/include/msgpack/unpack_template.h +5 -0
  282. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/array_ref.hpp +0 -1
  283. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/check_container_size.hpp +1 -1
  284. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/chrono.hpp +5 -5
  285. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/timespec.hpp +140 -0
  286. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp +32 -32
  287. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +32 -32
  288. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +6 -6
  289. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +10 -10
  290. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/ext.hpp +1 -1
  291. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/fixint.hpp +5 -4
  292. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int.hpp +40 -13
  293. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int_decl.hpp +3 -2
  294. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/wstring.hpp +121 -0
  295. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp03_zone.hpp +3 -3
  296. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp11_zone.hpp +3 -3
  297. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object.hpp +6 -6
  298. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object_fwd.hpp +1 -1
  299. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/pack.hpp +40 -5
  300. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/unpack.hpp +11 -11
  301. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/vrefbuffer.hpp +7 -7
  302. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/zbuffer.hpp +5 -5
  303. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/adaptor/int_decl.hpp +1 -1
  304. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/create_object_visitor.hpp +1 -1
  305. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/parse.hpp +13 -13
  306. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_parse.hpp +28 -26
  307. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/int_decl.hpp +1 -1
  308. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse.hpp +13 -13
  309. data/ext/enterprise_script_service/msgpack/include/msgpack/version_master.h +2 -2
  310. data/ext/enterprise_script_service/msgpack/include/msgpack/zbuffer.h +6 -6
  311. data/ext/enterprise_script_service/msgpack/include/msgpack/zone.h +1 -1
  312. data/ext/enterprise_script_service/msgpack/src/objectc.c +83 -148
  313. data/ext/enterprise_script_service/msgpack/src/unpack.c +73 -47
  314. data/ext/enterprise_script_service/msgpack/test/CMakeLists.txt +1 -1
  315. data/ext/enterprise_script_service/msgpack/test/array_ref.cpp +5 -0
  316. data/ext/enterprise_script_service/msgpack/test/boost_fusion.cpp +5 -0
  317. data/ext/enterprise_script_service/msgpack/test/boost_optional.cpp +7 -0
  318. data/ext/enterprise_script_service/msgpack/test/boost_string_ref.cpp +7 -0
  319. data/ext/enterprise_script_service/msgpack/test/boost_string_view.cpp +6 -0
  320. data/ext/enterprise_script_service/msgpack/test/boost_variant.cpp +15 -9
  321. data/ext/enterprise_script_service/msgpack/test/buffer.cpp +7 -0
  322. data/ext/enterprise_script_service/msgpack/test/carray.cpp +7 -0
  323. data/ext/enterprise_script_service/msgpack/test/cases.cpp +7 -1
  324. data/ext/enterprise_script_service/msgpack/test/convert.cpp +6 -0
  325. data/ext/enterprise_script_service/msgpack/test/fixint.cpp +7 -1
  326. data/ext/enterprise_script_service/msgpack/test/fixint_c.cpp +6 -1
  327. data/ext/enterprise_script_service/msgpack/test/fuzz_unpack_pack_fuzzer_cpp11.cpp +5 -0
  328. data/ext/enterprise_script_service/msgpack/test/iterator_cpp11.cpp +8 -2
  329. data/ext/enterprise_script_service/msgpack/test/json.cpp +6 -0
  330. data/ext/enterprise_script_service/msgpack/test/limit.cpp +7 -0
  331. data/ext/enterprise_script_service/msgpack/test/msgpack_basic.cpp +128 -6
  332. data/ext/enterprise_script_service/msgpack/test/msgpack_c.cpp +7 -2
  333. data/ext/enterprise_script_service/msgpack/test/msgpack_container.cpp +20 -3
  334. data/ext/enterprise_script_service/msgpack/test/msgpack_cpp11.cpp +159 -0
  335. data/ext/enterprise_script_service/msgpack/test/msgpack_cpp17.cpp +5 -0
  336. data/ext/enterprise_script_service/msgpack/test/msgpack_stream.cpp +8 -3
  337. data/ext/enterprise_script_service/msgpack/test/msgpack_tuple.cpp +6 -0
  338. data/ext/enterprise_script_service/msgpack/test/msgpack_vref.cpp +5 -0
  339. data/ext/enterprise_script_service/msgpack/test/msgpack_x3_parse.cpp +23 -18
  340. data/ext/enterprise_script_service/msgpack/test/object.cpp +77 -45
  341. data/ext/enterprise_script_service/msgpack/test/object_with_zone.cpp +28 -10
  342. data/ext/enterprise_script_service/msgpack/test/pack_unpack.cpp +25 -18
  343. data/ext/enterprise_script_service/msgpack/test/pack_unpack_c.cpp +7 -0
  344. data/ext/enterprise_script_service/msgpack/test/raw.cpp +17 -12
  345. data/ext/enterprise_script_service/msgpack/test/reference.cpp +6 -0
  346. data/ext/enterprise_script_service/msgpack/test/reference_cpp11.cpp +6 -0
  347. data/ext/enterprise_script_service/msgpack/test/reference_wrapper_cpp11.cpp +6 -0
  348. data/ext/enterprise_script_service/msgpack/test/shared_ptr_cpp11.cpp +6 -0
  349. data/ext/enterprise_script_service/msgpack/test/size_equal_only.cpp +6 -2
  350. data/ext/enterprise_script_service/msgpack/test/streaming.cpp +10 -3
  351. data/ext/enterprise_script_service/msgpack/test/streaming_c.cpp +7 -0
  352. data/ext/enterprise_script_service/msgpack/test/unique_ptr_cpp11.cpp +6 -0
  353. data/ext/enterprise_script_service/msgpack/test/user_class.cpp +5 -0
  354. data/ext/enterprise_script_service/msgpack/test/version.cpp +6 -0
  355. data/ext/enterprise_script_service/msgpack/test/visitor.cpp +7 -0
  356. data/ext/enterprise_script_service/msgpack/test/zone.cpp +6 -0
  357. data/lib/script_core/version.rb +1 -1
  358. data/lib/tasks/mruby/engine.gembox.example +1 -0
  359. data/lib/tasks/script_core.rake +21 -3
  360. data/spec/dummy/app/helpers/fields_helper.rb +2 -2
  361. data/spec/dummy/mruby/engine.gembox +1 -0
  362. data/spec/script_core_spec.rb +1 -1
  363. metadata +38 -22
  364. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/.gitignore +0 -1
  365. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/.travis.yml +0 -2
  366. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/run_test.rb +0 -26
  367. data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrblib/kernel.rb +0 -15
  368. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/unbound_method.rb +0 -9
  369. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/.gitignore +0 -5
  370. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/.travis.yml +0 -2
  371. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/packtest.rb +0 -157
  372. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/run_test.rb +0 -26
  373. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/mt19937ar.c +0 -224
  374. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/mt19937ar.h +0 -80
  375. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.h +0 -12
  376. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.gitignore +0 -4
  377. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis.yml +0 -29
  378. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis_build_config.rb +0 -6
  379. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/Rakefile +0 -29
  380. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/.travis.yml +0 -4
  381. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/run_test.rb +0 -28
@@ -1,5 +1,5 @@
1
- /*
2
- ** mruby/throw.h - mruby exception throwing handler
1
+ /**
2
+ ** @file mruby/throw.h - mruby exception throwing handler
3
3
  **
4
4
  ** See Copyright Notice in mruby.h
5
5
  */
@@ -1,5 +1,5 @@
1
- /*
2
- ** mruby/value.h - mruby value definitions
1
+ /**
2
+ ** @file mruby/value.h - mruby value definitions
3
3
  **
4
4
  ** See Copyright Notice in mruby.h
5
5
  */
@@ -9,12 +9,28 @@
9
9
 
10
10
  #include "common.h"
11
11
 
12
- /**
12
+ /*
13
13
  * MRuby Value definition functions and macros.
14
14
  */
15
15
  MRB_BEGIN_DECL
16
16
 
17
+ /**
18
+ * mruby Symbol.
19
+ * @class mrb_sym
20
+ *
21
+ * You can create an mrb_sym by simply using mrb_str_intern() or mrb_intern_cstr()
22
+ */
17
23
  typedef uint32_t mrb_sym;
24
+
25
+ /**
26
+ * mruby Boolean.
27
+ * @class mrb_bool
28
+ *
29
+ *
30
+ * Used internally to represent boolean. Can be TRUE or FALSE.
31
+ * Not to be confused with Ruby's boolean classes, which can be
32
+ * obtained using mrb_false_value() and mrb_true_value()
33
+ */
18
34
  typedef uint8_t mrb_bool;
19
35
  struct mrb_state;
20
36
 
@@ -25,12 +41,15 @@ struct mrb_state;
25
41
  #if defined _MSC_VER && _MSC_VER < 1800
26
42
  # define PRIo64 "llo"
27
43
  # define PRId64 "lld"
44
+ # define PRIu64 "llu"
28
45
  # define PRIx64 "llx"
29
46
  # define PRIo16 "ho"
30
47
  # define PRId16 "hd"
48
+ # define PRIu16 "hu"
31
49
  # define PRIx16 "hx"
32
50
  # define PRIo32 "o"
33
51
  # define PRId32 "d"
52
+ # define PRIu32 "u"
34
53
  # define PRIx32 "x"
35
54
  #else
36
55
  # include <inttypes.h>
@@ -62,6 +81,11 @@ struct mrb_state;
62
81
  # define MRB_PRIx PRIx32
63
82
  #endif
64
83
 
84
+ #ifdef MRB_ENDIAN_BIG
85
+ # define MRB_ENDIAN_LOHI(a,b) a b
86
+ #else
87
+ # define MRB_ENDIAN_LOHI(a,b) b a
88
+ #endif
65
89
 
66
90
  #ifndef MRB_WITHOUT_FLOAT
67
91
  MRB_API double mrb_float_read(const char*, char**);
@@ -73,9 +97,6 @@ MRB_API double mrb_float_read(const char*, char**);
73
97
  #endif
74
98
 
75
99
  #if defined _MSC_VER && _MSC_VER < 1900
76
- # ifndef __cplusplus
77
- # define inline __inline
78
- # endif
79
100
  # include <stdarg.h>
80
101
  MRB_API int mrb_msvc_vsnprintf(char *s, size_t n, const char *format, va_list arg);
81
102
  MRB_API int mrb_msvc_snprintf(char *s, size_t n, const char *format, ...);
@@ -95,13 +116,13 @@ static const unsigned int IEEE754_INFINITY_BITS_SINGLE = 0x7F800000;
95
116
 
96
117
  enum mrb_vtype {
97
118
  MRB_TT_FALSE = 0, /* 0 */
98
- MRB_TT_FREE, /* 1 */
99
- MRB_TT_TRUE, /* 2 */
119
+ MRB_TT_TRUE, /* 1 */
120
+ MRB_TT_FLOAT, /* 2 */
100
121
  MRB_TT_FIXNUM, /* 3 */
101
122
  MRB_TT_SYMBOL, /* 4 */
102
123
  MRB_TT_UNDEF, /* 5 */
103
- MRB_TT_FLOAT, /* 6 */
104
- MRB_TT_CPTR, /* 7 */
124
+ MRB_TT_CPTR, /* 6 */
125
+ MRB_TT_FREE, /* 7 */
105
126
  MRB_TT_OBJECT, /* 8 */
106
127
  MRB_TT_CLASS, /* 9 */
107
128
  MRB_TT_MODULE, /* 10 */
@@ -148,36 +169,111 @@ typedef void mrb_value;
148
169
  #include "boxing_no.h"
149
170
  #endif
150
171
 
172
+ #if !defined(MRB_SYMBOL_BIT)
173
+ #define MRB_SYMBOL_BIT (sizeof(mrb_sym) * CHAR_BIT)
174
+ #define MRB_SYMBOL_MAX UINT32_MAX
175
+ #endif
176
+
177
+ #if INTPTR_MAX < MRB_INT_MAX
178
+ typedef intptr_t mrb_ssize;
179
+ # define MRB_SSIZE_MAX (INTPTR_MAX>>MRB_FIXNUM_SHIFT)
180
+ #else
181
+ typedef mrb_int mrb_ssize;
182
+ # define MRB_SSIZE_MAX MRB_INT_MAX
183
+ #endif
184
+
185
+ #ifndef mrb_immediate_p
186
+ #define mrb_immediate_p(o) (mrb_type(o) < MRB_TT_FREE)
187
+ #endif
151
188
  #ifndef mrb_fixnum_p
152
189
  #define mrb_fixnum_p(o) (mrb_type(o) == MRB_TT_FIXNUM)
153
190
  #endif
191
+ #ifndef mrb_symbol_p
192
+ #define mrb_symbol_p(o) (mrb_type(o) == MRB_TT_SYMBOL)
193
+ #endif
154
194
  #ifndef mrb_undef_p
155
195
  #define mrb_undef_p(o) (mrb_type(o) == MRB_TT_UNDEF)
156
196
  #endif
157
197
  #ifndef mrb_nil_p
158
198
  #define mrb_nil_p(o) (mrb_type(o) == MRB_TT_FALSE && !mrb_fixnum(o))
159
199
  #endif
160
- #ifndef mrb_bool
161
- #define mrb_bool(o) (mrb_type(o) != MRB_TT_FALSE)
200
+ #ifndef mrb_false_p
201
+ #define mrb_false_p(o) (mrb_type(o) == MRB_TT_FALSE && !!mrb_fixnum(o))
162
202
  #endif
163
- #if !defined(MRB_SYMBOL_BITSIZE)
164
- #define MRB_SYMBOL_BITSIZE (sizeof(mrb_sym) * CHAR_BIT)
165
- #define MRB_SYMBOL_MAX UINT32_MAX
203
+ #ifndef mrb_true_p
204
+ #define mrb_true_p(o) (mrb_type(o) == MRB_TT_TRUE)
166
205
  #endif
167
206
  #ifndef MRB_WITHOUT_FLOAT
207
+ #ifndef mrb_float_p
168
208
  #define mrb_float_p(o) (mrb_type(o) == MRB_TT_FLOAT)
169
209
  #endif
170
- #define mrb_symbol_p(o) (mrb_type(o) == MRB_TT_SYMBOL)
210
+ #endif
211
+ #ifndef mrb_array_p
171
212
  #define mrb_array_p(o) (mrb_type(o) == MRB_TT_ARRAY)
213
+ #endif
214
+ #ifndef mrb_string_p
172
215
  #define mrb_string_p(o) (mrb_type(o) == MRB_TT_STRING)
216
+ #endif
217
+ #ifndef mrb_hash_p
173
218
  #define mrb_hash_p(o) (mrb_type(o) == MRB_TT_HASH)
219
+ #endif
220
+ #ifndef mrb_cptr_p
174
221
  #define mrb_cptr_p(o) (mrb_type(o) == MRB_TT_CPTR)
222
+ #endif
223
+ #ifndef mrb_exception_p
175
224
  #define mrb_exception_p(o) (mrb_type(o) == MRB_TT_EXCEPTION)
225
+ #endif
226
+ #ifndef mrb_free_p
227
+ #define mrb_free_p(o) (mrb_type(o) == MRB_TT_FREE)
228
+ #endif
229
+ #ifndef mrb_object_p
230
+ #define mrb_object_p(o) (mrb_type(o) == MRB_TT_OBJECT)
231
+ #endif
232
+ #ifndef mrb_class_p
233
+ #define mrb_class_p(o) (mrb_type(o) == MRB_TT_CLASS)
234
+ #endif
235
+ #ifndef mrb_module_p
236
+ #define mrb_module_p(o) (mrb_type(o) == MRB_TT_MODULE)
237
+ #endif
238
+ #ifndef mrb_iclass_p
239
+ #define mrb_iclass_p(o) (mrb_type(o) == MRB_TT_ICLASS)
240
+ #endif
241
+ #ifndef mrb_sclass_p
242
+ #define mrb_sclass_p(o) (mrb_type(o) == MRB_TT_SCLASS)
243
+ #endif
244
+ #ifndef mrb_proc_p
245
+ #define mrb_proc_p(o) (mrb_type(o) == MRB_TT_PROC)
246
+ #endif
247
+ #ifndef mrb_range_p
248
+ #define mrb_range_p(o) (mrb_type(o) == MRB_TT_RANGE)
249
+ #endif
250
+ #ifndef mrb_file_p
251
+ #define mrb_file_p(o) (mrb_type(o) == MRB_TT_FILE)
252
+ #endif
253
+ #ifndef mrb_env_p
254
+ #define mrb_env_p(o) (mrb_type(o) == MRB_TT_ENV)
255
+ #endif
256
+ #ifndef mrb_data_p
257
+ #define mrb_data_p(o) (mrb_type(o) == MRB_TT_DATA)
258
+ #endif
259
+ #ifndef mrb_fiber_p
260
+ #define mrb_fiber_p(o) (mrb_type(o) == MRB_TT_FIBER)
261
+ #endif
262
+ #ifndef mrb_istruct_p
263
+ #define mrb_istruct_p(o) (mrb_type(o) == MRB_TT_ISTRUCT)
264
+ #endif
265
+ #ifndef mrb_break_p
266
+ #define mrb_break_p(o) (mrb_type(o) == MRB_TT_BREAK)
267
+ #endif
268
+ #ifndef mrb_bool
269
+ #define mrb_bool(o) (mrb_type(o) != MRB_TT_FALSE)
270
+ #endif
176
271
  #define mrb_test(o) mrb_bool(o)
177
- MRB_API mrb_bool mrb_regexp_p(struct mrb_state*, mrb_value);
178
272
 
179
- /*
273
+ /**
180
274
  * Returns a float in Ruby.
275
+ *
276
+ * Takes a float and boxes it into an mrb_value
181
277
  */
182
278
  #ifndef MRB_WITHOUT_FLOAT
183
279
  MRB_INLINE mrb_value mrb_float_value(struct mrb_state *mrb, mrb_float f)
@@ -189,7 +285,7 @@ MRB_INLINE mrb_value mrb_float_value(struct mrb_state *mrb, mrb_float f)
189
285
  }
190
286
  #endif
191
287
 
192
- static inline mrb_value
288
+ MRB_INLINE mrb_value
193
289
  mrb_cptr_value(struct mrb_state *mrb, void *p)
194
290
  {
195
291
  mrb_value v;
@@ -198,8 +294,10 @@ mrb_cptr_value(struct mrb_state *mrb, void *p)
198
294
  return v;
199
295
  }
200
296
 
201
- /*
297
+ /**
202
298
  * Returns a fixnum in Ruby.
299
+ *
300
+ * Takes an integer and boxes it into an mrb_value
203
301
  */
204
302
  MRB_INLINE mrb_value mrb_fixnum_value(mrb_int i)
205
303
  {
@@ -208,7 +306,7 @@ MRB_INLINE mrb_value mrb_fixnum_value(mrb_int i)
208
306
  return v;
209
307
  }
210
308
 
211
- static inline mrb_value
309
+ MRB_INLINE mrb_value
212
310
  mrb_symbol_value(mrb_sym i)
213
311
  {
214
312
  mrb_value v;
@@ -216,7 +314,7 @@ mrb_symbol_value(mrb_sym i)
216
314
  return v;
217
315
  }
218
316
 
219
- static inline mrb_value
317
+ MRB_INLINE mrb_value
220
318
  mrb_obj_value(void *p)
221
319
  {
222
320
  mrb_value v;
@@ -226,8 +324,7 @@ mrb_obj_value(void *p)
226
324
  return v;
227
325
  }
228
326
 
229
-
230
- /*
327
+ /**
231
328
  * Get a nil mrb_value object.
232
329
  *
233
330
  * @return
@@ -240,7 +337,7 @@ MRB_INLINE mrb_value mrb_nil_value(void)
240
337
  return v;
241
338
  }
242
339
 
243
- /*
340
+ /**
244
341
  * Returns false in Ruby.
245
342
  */
246
343
  MRB_INLINE mrb_value mrb_false_value(void)
@@ -250,7 +347,7 @@ MRB_INLINE mrb_value mrb_false_value(void)
250
347
  return v;
251
348
  }
252
349
 
253
- /*
350
+ /**
254
351
  * Returns true in Ruby.
255
352
  */
256
353
  MRB_INLINE mrb_value mrb_true_value(void)
@@ -260,7 +357,7 @@ MRB_INLINE mrb_value mrb_true_value(void)
260
357
  return v;
261
358
  }
262
359
 
263
- static inline mrb_value
360
+ MRB_INLINE mrb_value
264
361
  mrb_bool_value(mrb_bool boolean)
265
362
  {
266
363
  mrb_value v;
@@ -268,7 +365,7 @@ mrb_bool_value(mrb_bool boolean)
268
365
  return v;
269
366
  }
270
367
 
271
- static inline mrb_value
368
+ MRB_INLINE mrb_value
272
369
  mrb_undef_value(void)
273
370
  {
274
371
  mrb_value v;
@@ -276,34 +373,25 @@ mrb_undef_value(void)
276
373
  return v;
277
374
  }
278
375
 
279
- #ifdef MRB_USE_ETEXT_EDATA
280
- #if (defined(__APPLE__) && defined(__MACH__))
281
- #include <mach-o/getsect.h>
282
- static inline mrb_bool
283
- mrb_ro_data_p(const char *p)
284
- {
285
- return (const char*)get_etext() < p && p < (const char*)get_edata();
286
- }
287
- #else
288
- extern char _etext[];
289
- #ifdef MRB_NO_INIT_ARRAY_START
290
- extern char _edata[];
376
+ #if defined(MRB_USE_ETEXT_EDATA) && !defined(MRB_USE_LINK_TIME_RO_DATA_P)
377
+ # ifdef __GNUC__
378
+ # warning MRB_USE_ETEXT_EDATA is deprecated. Define MRB_USE_LINK_TIME_RO_DATA_P instead.
379
+ # endif
380
+ # define MRB_USE_LINK_TIME_RO_DATA_P
381
+ #endif
291
382
 
292
- static inline mrb_bool
293
- mrb_ro_data_p(const char *p)
294
- {
295
- return _etext < p && p < _edata;
296
- }
297
- #else
383
+ #if defined(MRB_USE_CUSTOM_RO_DATA_P)
384
+ /* If you define `MRB_USE_CUSTOM_RO_DATA_P`, you must implement `mrb_ro_data_p()`. */
385
+ mrb_bool mrb_ro_data_p(const char *p);
386
+ #elif defined(MRB_USE_LINK_TIME_RO_DATA_P)
387
+ extern char __ehdr_start[];
298
388
  extern char __init_array_start[];
299
389
 
300
390
  static inline mrb_bool
301
391
  mrb_ro_data_p(const char *p)
302
392
  {
303
- return _etext < p && p < (char*)&__init_array_start;
393
+ return __ehdr_start < p && p < __init_array_start;
304
394
  }
305
- #endif
306
- #endif
307
395
  #else
308
396
  # define mrb_ro_data_p(p) FALSE
309
397
  #endif
@@ -1,5 +1,5 @@
1
- /*
2
- ** mruby/variable.h - mruby variables
1
+ /**
2
+ ** @file mruby/variable.h - mruby variables
3
3
  **
4
4
  ** See Copyright Notice in mruby.h
5
5
  */
@@ -97,18 +97,15 @@ MRB_API void mrb_gv_set(mrb_state *mrb, mrb_sym sym, mrb_value val);
97
97
  *
98
98
  * Example:
99
99
  *
100
- * !!!ruby
101
100
  * # Ruby style
102
101
  * $value = nil
103
102
  *
104
- * !!!c
105
103
  * // C style
106
104
  * mrb_sym sym = mrb_intern_lit(mrb, "$value");
107
105
  * mrb_gv_remove(mrb, sym);
108
106
  *
109
107
  * @param mrb The mruby state reference
110
108
  * @param sym The name of the global variable
111
- * @param val The value of the global variable
112
109
  */
113
110
  MRB_API void mrb_gv_remove(mrb_state *mrb, mrb_sym sym);
114
111
 
@@ -117,6 +114,7 @@ MRB_API void mrb_mod_cv_set(mrb_state *mrb, struct RClass * c, mrb_sym sym, mrb_
117
114
  MRB_API void mrb_cv_set(mrb_state *mrb, mrb_value mod, mrb_sym sym, mrb_value v);
118
115
  MRB_API mrb_bool mrb_cv_defined(mrb_state *mrb, mrb_value mod, mrb_sym sym);
119
116
  mrb_value mrb_obj_iv_inspect(mrb_state*, struct RObject*);
117
+ void mrb_obj_iv_set_force(mrb_state *mrb, struct RObject *obj, mrb_sym sym, mrb_value v);
120
118
  mrb_value mrb_mod_constants(mrb_state *mrb, mrb_value mod);
121
119
  mrb_value mrb_f_global_variables(mrb_state *mrb, mrb_value self);
122
120
  mrb_value mrb_obj_instance_variables(mrb_state*, mrb_value);
@@ -1,5 +1,5 @@
1
- /*
2
- ** mruby/version.h - mruby version definition
1
+ /**
2
+ ** @file mruby/version.h - mruby version definition
3
3
  **
4
4
  ** See Copyright Notice in mruby.h
5
5
  */
@@ -42,12 +42,12 @@ MRB_BEGIN_DECL
42
42
  /*
43
43
  * Minor release version number.
44
44
  */
45
- #define MRUBY_RELEASE_MINOR 0
45
+ #define MRUBY_RELEASE_MINOR 1
46
46
 
47
47
  /*
48
48
  * Tiny release version number.
49
49
  */
50
- #define MRUBY_RELEASE_TEENY 1
50
+ #define MRUBY_RELEASE_TEENY 0
51
51
 
52
52
  /*
53
53
  * The mruby version.
@@ -67,17 +67,31 @@ MRB_BEGIN_DECL
67
67
  /*
68
68
  * Release month.
69
69
  */
70
- #define MRUBY_RELEASE_MONTH 4
70
+ #define MRUBY_RELEASE_MONTH 11
71
71
 
72
72
  /*
73
73
  * Release day.
74
74
  */
75
- #define MRUBY_RELEASE_DAY 4
75
+ #define MRUBY_RELEASE_DAY 19
76
76
 
77
77
  /*
78
78
  * Release date as a string.
79
79
  */
80
- #define MRUBY_RELEASE_DATE MRB_STRINGIZE(MRUBY_RELEASE_YEAR) "-" MRB_STRINGIZE(MRUBY_RELEASE_MONTH) "-" MRB_STRINGIZE(MRUBY_RELEASE_DAY)
80
+ #define MRUBY_RELEASE_DATE \
81
+ MRUBY_RELEASE_YEAR_STR "-" \
82
+ MRUBY_RELEASE_MONTH_STR "-" \
83
+ MRUBY_RELEASE_DAY_STR
84
+ #define MRUBY_RELEASE_YEAR_STR MRB_STRINGIZE(MRUBY_RELEASE_YEAR)
85
+ #if MRUBY_RELEASE_MONTH < 10
86
+ #define MRUBY_RELEASE_MONTH_STR "0" MRB_STRINGIZE(MRUBY_RELEASE_MONTH)
87
+ #else
88
+ #define MRUBY_RELEASE_MONTH_STR MRB_STRINGIZE(MRUBY_RELEASE_MONTH)
89
+ #endif
90
+ #if MRUBY_RELEASE_DAY < 10
91
+ #define MRUBY_RELEASE_DAY_STR "0" MRB_STRINGIZE(MRUBY_RELEASE_DAY)
92
+ #else
93
+ #define MRUBY_RELEASE_DAY_STR MRB_STRINGIZE(MRUBY_RELEASE_DAY)
94
+ #endif
81
95
 
82
96
  /*
83
97
  * The year mruby was first created.
@@ -92,9 +106,9 @@ MRB_BEGIN_DECL
92
106
  /*
93
107
  * mruby's version, and release date.
94
108
  */
95
- #define MRUBY_DESCRIPTION \
96
- "mruby " MRUBY_VERSION \
97
- " (" MRUBY_RELEASE_DATE ") " \
109
+ #define MRUBY_DESCRIPTION \
110
+ "mruby " MRUBY_VERSION \
111
+ " (" MRUBY_RELEASE_DATE ")" \
98
112
 
99
113
  /*
100
114
  * mruby's copyright information.