script_core 0.2.5 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1576) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CMakeLists.txt +1 -1
  4. data/Gemfile +3 -3
  5. data/README.md +8 -1
  6. data/ext/enterprise_script_service/Rakefile +1 -1
  7. data/ext/enterprise_script_service/flags.rb +2 -2
  8. data/ext/enterprise_script_service/libseccomp/.travis.yml +24 -12
  9. data/ext/enterprise_script_service/libseccomp/CHANGELOG +32 -0
  10. data/ext/enterprise_script_service/libseccomp/CONTRIBUTING.md +37 -26
  11. data/ext/enterprise_script_service/libseccomp/CREDITS +11 -0
  12. data/ext/enterprise_script_service/libseccomp/README.md +21 -1
  13. data/ext/enterprise_script_service/libseccomp/configure.ac +13 -8
  14. data/ext/enterprise_script_service/libseccomp/doc/Makefile.am +6 -0
  15. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_api_get.3 +12 -2
  16. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_arch_add.3 +38 -6
  17. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_attr_set.3 +53 -2
  18. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_export_bpf.3 +20 -2
  19. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_init.3 +9 -2
  20. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_load.3 +32 -2
  21. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_merge.3 +16 -2
  22. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_alloc.3 +113 -0
  23. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_fd.3 +1 -0
  24. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_free.3 +1 -0
  25. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_id_valid.3 +1 -0
  26. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_receive.3 +1 -0
  27. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_respond.3 +1 -0
  28. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_rule_add.3 +64 -3
  29. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_syscall_priority.3 +18 -3
  30. data/ext/enterprise_script_service/libseccomp/include/seccomp-syscalls.h +19 -0
  31. data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +116 -0
  32. data/ext/enterprise_script_service/libseccomp/src/.gitignore +2 -0
  33. data/ext/enterprise_script_service/libseccomp/src/Makefile.am +31 -17
  34. data/ext/enterprise_script_service/libseccomp/src/api.c +254 -58
  35. data/ext/enterprise_script_service/libseccomp/src/arch-aarch64.h +1 -9
  36. data/ext/enterprise_script_service/libseccomp/src/arch-arm.c +47 -2
  37. data/ext/enterprise_script_service/libseccomp/src/arch-arm.h +1 -9
  38. data/ext/enterprise_script_service/libseccomp/src/arch-gperf-generate +40 -0
  39. data/ext/enterprise_script_service/libseccomp/src/arch-mips.c +41 -4
  40. data/ext/enterprise_script_service/libseccomp/src/arch-mips.h +2 -10
  41. data/ext/enterprise_script_service/libseccomp/src/arch-mips64.c +41 -4
  42. data/ext/enterprise_script_service/libseccomp/src/arch-mips64.h +3 -11
  43. data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.c +41 -4
  44. data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.h +2 -10
  45. data/ext/enterprise_script_service/libseccomp/src/arch-parisc.h +1 -10
  46. data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.c +3 -3
  47. data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.h +29 -0
  48. data/ext/enterprise_script_service/libseccomp/src/arch-ppc.h +1 -9
  49. data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.c +606 -8
  50. data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.h +2 -10
  51. data/ext/enterprise_script_service/libseccomp/src/arch-riscv64.c +31 -0
  52. data/ext/enterprise_script_service/libseccomp/src/arch-riscv64.h +22 -0
  53. data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +171 -12
  54. data/ext/enterprise_script_service/libseccomp/src/arch-s390.h +1 -17
  55. data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +166 -10
  56. data/ext/enterprise_script_service/libseccomp/src/arch-s390x.h +1 -20
  57. data/ext/enterprise_script_service/libseccomp/src/arch-syscall-dump.c +8 -1
  58. data/ext/enterprise_script_service/libseccomp/src/arch-syscall-validate +359 -143
  59. data/ext/enterprise_script_service/libseccomp/src/arch-x32.c +36 -2
  60. data/ext/enterprise_script_service/libseccomp/src/arch-x32.h +2 -10
  61. data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +172 -10
  62. data/ext/enterprise_script_service/libseccomp/src/arch-x86.h +1 -14
  63. data/ext/enterprise_script_service/libseccomp/src/arch-x86_64.h +1 -9
  64. data/ext/enterprise_script_service/libseccomp/src/arch.c +11 -3
  65. data/ext/enterprise_script_service/libseccomp/src/arch.h +7 -0
  66. data/ext/enterprise_script_service/libseccomp/src/db.c +268 -57
  67. data/ext/enterprise_script_service/libseccomp/src/db.h +16 -2
  68. data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +503 -148
  69. data/ext/enterprise_script_service/libseccomp/src/gen_bpf.h +2 -1
  70. data/ext/enterprise_script_service/libseccomp/src/gen_pfc.c +165 -37
  71. data/ext/enterprise_script_service/libseccomp/src/python/libseccomp.pxd +37 -1
  72. data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +295 -5
  73. data/ext/enterprise_script_service/libseccomp/src/syscalls.c +56 -0
  74. data/ext/enterprise_script_service/libseccomp/src/syscalls.csv +470 -0
  75. data/ext/enterprise_script_service/libseccomp/src/syscalls.h +62 -0
  76. data/ext/enterprise_script_service/libseccomp/src/syscalls.perf.template +82 -0
  77. data/ext/enterprise_script_service/libseccomp/src/system.c +196 -16
  78. data/ext/enterprise_script_service/libseccomp/src/system.h +68 -13
  79. data/ext/enterprise_script_service/libseccomp/tests/.gitignore +10 -2
  80. data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.tests +1 -1
  81. data/ext/enterprise_script_service/libseccomp/tests/11-basic-basic_errors.c +5 -5
  82. data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.c +35 -1
  83. data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.py +10 -1
  84. data/ext/enterprise_script_service/libseccomp/tests/15-basic-resolver.c +4 -3
  85. data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.c +12 -0
  86. data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.py +1 -0
  87. data/ext/enterprise_script_service/libseccomp/tests/{18-sim-basic_whitelist.c → 18-sim-basic_allowlist.c} +0 -0
  88. data/ext/enterprise_script_service/libseccomp/tests/{18-sim-basic_whitelist.py → 18-sim-basic_allowlist.py} +0 -0
  89. data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_allowlist.tests +32 -0
  90. data/ext/enterprise_script_service/libseccomp/tests/23-sim-arch_all_le_basic.c +3 -0
  91. data/ext/enterprise_script_service/libseccomp/tests/23-sim-arch_all_le_basic.py +1 -0
  92. data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.c +3 -0
  93. data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.py +1 -0
  94. data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.tests +33 -17
  95. data/ext/enterprise_script_service/libseccomp/tests/{34-sim-basic_blacklist.c → 34-sim-basic_denylist.c} +0 -0
  96. data/ext/enterprise_script_service/libseccomp/tests/{34-sim-basic_blacklist.py → 34-sim-basic_denylist.py} +0 -0
  97. data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_denylist.tests +32 -0
  98. data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.c +3 -0
  99. data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.py +1 -0
  100. data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.tests +25 -25
  101. data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.c +24 -3
  102. data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.py +16 -1
  103. data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.c +3 -3
  104. data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.c +112 -0
  105. data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.py +60 -0
  106. data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.tests +11 -0
  107. data/ext/enterprise_script_service/libseccomp/tests/52-basic-load.c +48 -0
  108. data/ext/enterprise_script_service/libseccomp/tests/52-basic-load.py +38 -0
  109. data/ext/enterprise_script_service/libseccomp/tests/52-basic-load.tests +11 -0
  110. data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.c +156 -0
  111. data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.py +95 -0
  112. data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.tests +65 -0
  113. data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.c +128 -0
  114. data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.py +95 -0
  115. data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.tests +11 -0
  116. data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.c +134 -0
  117. data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.pfc +182 -0
  118. data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.sh +46 -0
  119. data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.tests +11 -0
  120. data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.c +90 -0
  121. data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.py +65 -0
  122. data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.tests +11 -0
  123. data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.c +64 -0
  124. data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.py +46 -0
  125. data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.tests +11 -0
  126. data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.c +116 -0
  127. data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.py +61 -0
  128. data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.tests +11 -0
  129. data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +34 -10
  130. data/ext/enterprise_script_service/libseccomp/tests/regression +10 -3
  131. data/ext/enterprise_script_service/libseccomp/tests/util.c +3 -3
  132. data/ext/enterprise_script_service/libseccomp/tools/Makefile.am +0 -3
  133. data/ext/enterprise_script_service/libseccomp/tools/check-syntax +1 -1
  134. data/ext/enterprise_script_service/libseccomp/tools/scmp_arch_detect.c +3 -0
  135. data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_disasm.c +4 -2
  136. data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +4 -0
  137. data/ext/enterprise_script_service/libseccomp/tools/util.c +14 -12
  138. data/ext/enterprise_script_service/libseccomp/tools/util.h +7 -0
  139. data/ext/enterprise_script_service/mruby/.github/workflows/build.yml +149 -0
  140. data/ext/enterprise_script_service/mruby/.github/workflows/codeql-analysis.yml +55 -0
  141. data/ext/enterprise_script_service/mruby/.github/workflows/lint.yml +23 -0
  142. data/ext/enterprise_script_service/mruby/.github/workflows/oss-fuzz.yml +27 -0
  143. data/ext/enterprise_script_service/mruby/.github/workflows/spell-checker.yml +17 -0
  144. data/ext/enterprise_script_service/mruby/.gitignore +3 -0
  145. data/ext/enterprise_script_service/mruby/.gitlab-ci.yml +3 -3
  146. data/ext/enterprise_script_service/mruby/.markdownlint.yml +16 -0
  147. data/ext/enterprise_script_service/mruby/.travis.yml +7 -10
  148. data/ext/enterprise_script_service/mruby/.yamllint +8 -0
  149. data/ext/enterprise_script_service/mruby/AUTHORS +4 -0
  150. data/ext/enterprise_script_service/mruby/CODEOWNERS +1 -0
  151. data/ext/enterprise_script_service/mruby/CONTRIBUTING.md +6 -13
  152. data/ext/enterprise_script_service/mruby/Doxyfile +4 -4
  153. data/ext/enterprise_script_service/mruby/LICENSE +1 -1
  154. data/ext/enterprise_script_service/mruby/Makefile +1 -1
  155. data/ext/enterprise_script_service/mruby/README.md +5 -11
  156. data/ext/enterprise_script_service/mruby/Rakefile +18 -108
  157. data/ext/enterprise_script_service/mruby/TODO.md +17 -0
  158. data/ext/enterprise_script_service/mruby/appveyor.yml +29 -26
  159. data/ext/enterprise_script_service/mruby/benchmark/bm_ao_render.rb +1 -1
  160. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_ArduinoDue.rb → build_config/ArduinoDue.rb} +4 -21
  161. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_IntelEdison.rb → build_config/IntelEdison.rb} +4 -4
  162. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_IntelGalileo.rb → build_config/IntelGalileo.rb} +3 -20
  163. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_RX630.rb → build_config/RX630.rb} +4 -21
  164. data/ext/enterprise_script_service/mruby/build_config/android_arm64-v8a.rb +11 -0
  165. data/ext/enterprise_script_service/mruby/build_config/android_armeabi.rb +11 -0
  166. 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
  167. data/ext/enterprise_script_service/mruby/build_config/bench.rb +11 -0
  168. data/ext/enterprise_script_service/mruby/build_config/boxing.rb +21 -0
  169. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_chipKITMax32.rb → build_config/chipKITMax32.rb} +4 -21
  170. data/ext/enterprise_script_service/mruby/{appveyor_config.rb → build_config/ci/gcc-clang.rb} +11 -8
  171. data/ext/enterprise_script_service/mruby/build_config/ci/msvc.rb +20 -0
  172. data/ext/enterprise_script_service/mruby/build_config/clang-asan.rb +11 -0
  173. data/ext/enterprise_script_service/mruby/build_config/cross-32bit.rb +14 -0
  174. data/ext/enterprise_script_service/mruby/build_config/default.rb +80 -0
  175. data/ext/enterprise_script_service/mruby/build_config/dreamcast_shelf.rb +94 -0
  176. data/ext/enterprise_script_service/mruby/build_config/gameboyadvance.rb +73 -0
  177. data/ext/enterprise_script_service/mruby/build_config/host-cxx.rb +12 -0
  178. data/ext/enterprise_script_service/mruby/build_config/host-debug.rb +20 -0
  179. data/ext/enterprise_script_service/mruby/build_config/host-gprof.rb +14 -0
  180. data/ext/enterprise_script_service/mruby/build_config/host-m32.rb +15 -0
  181. data/ext/enterprise_script_service/mruby/build_config/host-shared.rb +36 -0
  182. data/ext/enterprise_script_service/mruby/build_config/mrbc.rb +11 -0
  183. data/ext/enterprise_script_service/mruby/build_config/no-float.rb +17 -0
  184. data/ext/enterprise_script_service/mruby/build_config.rb +9 -152
  185. data/ext/enterprise_script_service/mruby/doc/guides/compile.md +142 -49
  186. data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +5 -4
  187. data/ext/enterprise_script_service/mruby/doc/guides/gc-arena-howto.md +1 -1
  188. data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +53 -30
  189. data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +31 -14
  190. data/ext/enterprise_script_service/mruby/doc/guides/symbol.md +83 -0
  191. data/ext/enterprise_script_service/mruby/doc/limitations.md +35 -36
  192. data/ext/enterprise_script_service/mruby/doc/mruby3.md +163 -0
  193. data/ext/enterprise_script_service/mruby/doc/opcode.md +102 -103
  194. data/ext/enterprise_script_service/mruby/examples/mrbgems/c_and_ruby_extension_example/mrblib/example.rb +1 -1
  195. data/ext/enterprise_script_service/mruby/examples/mrbgems/c_and_ruby_extension_example/src/example.c +5 -1
  196. data/ext/enterprise_script_service/mruby/examples/mrbgems/c_extension_example/src/example.c +5 -1
  197. data/ext/enterprise_script_service/mruby/examples/mrbgems/ruby_extension_example/mrblib/example.rb +1 -1
  198. data/ext/enterprise_script_service/mruby/include/mrbconf.h +88 -66
  199. data/ext/enterprise_script_service/mruby/include/mruby/array.h +27 -6
  200. data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +80 -46
  201. data/ext/enterprise_script_service/mruby/include/mruby/boxing_no.h +8 -8
  202. data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +76 -55
  203. data/ext/enterprise_script_service/mruby/include/mruby/class.h +10 -8
  204. data/ext/enterprise_script_service/mruby/include/mruby/common.h +14 -1
  205. data/ext/enterprise_script_service/mruby/include/mruby/compile.h +20 -6
  206. data/ext/enterprise_script_service/mruby/include/mruby/debug.h +2 -2
  207. data/ext/enterprise_script_service/mruby/include/mruby/dump.h +18 -52
  208. data/ext/enterprise_script_service/mruby/include/mruby/endian.h +44 -0
  209. data/ext/enterprise_script_service/mruby/include/mruby/error.h +39 -5
  210. data/ext/enterprise_script_service/mruby/include/mruby/gc.h +1 -0
  211. data/ext/enterprise_script_service/mruby/include/mruby/hash.h +33 -13
  212. data/ext/enterprise_script_service/mruby/include/mruby/irep.h +74 -14
  213. data/ext/enterprise_script_service/mruby/include/mruby/istruct.h +4 -1
  214. data/ext/enterprise_script_service/mruby/include/mruby/khash.h +19 -9
  215. data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +37 -63
  216. data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +1 -27
  217. data/ext/enterprise_script_service/mruby/include/mruby/ops.h +29 -24
  218. data/ext/enterprise_script_service/mruby/include/mruby/presym/disable.h +70 -0
  219. data/ext/enterprise_script_service/mruby/include/mruby/presym/enable.h +37 -0
  220. data/ext/enterprise_script_service/mruby/include/mruby/presym/scanning.h +73 -0
  221. data/ext/enterprise_script_service/mruby/include/mruby/presym.h +40 -0
  222. data/ext/enterprise_script_service/mruby/include/mruby/proc.h +93 -21
  223. data/ext/enterprise_script_service/mruby/include/mruby/string.h +12 -16
  224. data/ext/enterprise_script_service/mruby/include/mruby/throw.h +14 -3
  225. data/ext/enterprise_script_service/mruby/include/mruby/value.h +60 -59
  226. data/ext/enterprise_script_service/mruby/include/mruby/variable.h +1 -0
  227. data/ext/enterprise_script_service/mruby/include/mruby/version.h +25 -6
  228. data/ext/enterprise_script_service/mruby/include/mruby.h +160 -104
  229. data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +71 -78
  230. data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +12 -10
  231. data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +198 -72
  232. data/ext/enterprise_script_service/mruby/lib/{mruby-core-ext.rb → mruby/core_ext.rb} +10 -3
  233. data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +84 -32
  234. data/ext/enterprise_script_service/mruby/lib/mruby/lockfile.rb +1 -1
  235. data/ext/enterprise_script_service/mruby/lib/mruby/presym.rb +132 -0
  236. data/ext/enterprise_script_service/mruby/lib/mruby/source.rb +3 -1
  237. data/ext/enterprise_script_service/mruby/mrbgems/default-no-fpu.gembox +3 -0
  238. data/ext/enterprise_script_service/mruby/mrbgems/default-no-stdio.gembox +4 -0
  239. data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +9 -81
  240. data/ext/enterprise_script_service/mruby/mrbgems/full-core.gembox +1 -4
  241. data/ext/enterprise_script_service/mruby/mrbgems/math.gembox +10 -0
  242. data/ext/enterprise_script_service/mruby/mrbgems/metaprog.gembox +15 -0
  243. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +1 -32
  244. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +10 -12
  245. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/test/array.rb +0 -13
  246. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mrbgem.rake +30 -18
  247. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mruby-config +18 -8
  248. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/mrdb.rb +3 -6
  249. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +10 -10
  250. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +14 -9
  251. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +3 -2
  252. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +4 -4
  253. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +2 -6
  254. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +6 -2
  255. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +23 -5
  256. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/mrbgem.rake +11 -2
  257. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +46 -35
  258. data/ext/enterprise_script_service/mruby/mrbgems/{mruby-compiler → mruby-bin-mrbc}/bintest/mrbc.rb +0 -0
  259. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/mrbgem.rake +3 -4
  260. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +41 -28
  261. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +25 -4
  262. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -2
  263. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +26 -6
  264. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +1 -1
  265. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +6 -2
  266. data/ext/enterprise_script_service/mruby/mrbgems/mruby-catch/mrbgem.rake +5 -0
  267. data/ext/enterprise_script_service/mruby/mrbgems/mruby-catch/mrblib/catch.rb +27 -0
  268. data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/src/class.c +7 -1
  269. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +495 -436
  270. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/keywords +5 -0
  271. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/lex.def +49 -44
  272. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +637 -220
  273. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/y.tab.c +13734 -0
  274. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/mrbgem.rake +20 -23
  275. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +2 -2
  276. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +9 -9
  277. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/test/complex.rb +4 -4
  278. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +1 -0
  279. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +2 -2
  280. data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/mrbgem.rake +2 -2
  281. data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/src/exception.c +3 -3
  282. data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +19 -238
  283. data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/test/eval.rb +21 -0
  284. data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +19 -15
  285. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +31 -5
  286. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +7 -0
  287. data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +5 -6
  288. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/README.md +18 -16
  289. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/include/mruby/ext/io.h +39 -7
  290. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrbgem.rake +2 -8
  291. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file.rb +9 -4
  292. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file_constants.rb +0 -16
  293. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +9 -14
  294. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +107 -59
  295. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +22 -38
  296. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +417 -203
  297. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +20 -12
  298. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +33 -2
  299. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +58 -50
  300. data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +13 -14
  301. data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +13 -12
  302. data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/test/math.rb +5 -4
  303. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +56 -73
  304. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +13 -4
  305. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/README.md +4 -3
  306. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +80 -78
  307. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +4 -4
  308. data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +14 -13
  309. data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +8 -16
  310. data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +18 -13
  311. data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/mrbgem.rake +10 -0
  312. data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/src/memsize.c +231 -0
  313. data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/test/memsize.rb +63 -0
  314. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/README.md +15 -18
  315. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +120 -67
  316. data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +1 -30
  317. data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +65 -26
  318. data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +34 -21
  319. data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.c +1 -1
  320. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +98 -43
  321. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +2 -2
  322. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +39 -6
  323. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +21 -43
  324. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/test/range.rb +27 -3
  325. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +12 -20
  326. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +216 -38
  327. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/test/rational.rb +6 -6
  328. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/README.md +6 -4
  329. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/src/mrb_sleep.c +5 -5
  330. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/README.md +3 -2
  331. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/mrbgem.rake +1 -1
  332. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +47 -45
  333. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/sockettest.c +3 -2
  334. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +161 -93
  335. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +9 -25
  336. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +23 -1
  337. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +17 -14
  338. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +1 -1
  339. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +23 -36
  340. data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +7 -6
  341. data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +1 -1
  342. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/README.md +0 -1
  343. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +5 -5
  344. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +17 -44
  345. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/vformat.c +4 -4
  346. data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +37 -41
  347. data/ext/enterprise_script_service/mruby/mrbgems/stdlib-ext.gembox +18 -0
  348. data/ext/enterprise_script_service/mruby/mrbgems/stdlib-io.gembox +12 -0
  349. data/ext/enterprise_script_service/mruby/mrbgems/stdlib.gembox +54 -0
  350. data/ext/enterprise_script_service/mruby/mrblib/00class.rb +10 -0
  351. data/ext/enterprise_script_service/mruby/mrblib/10error.rb +4 -0
  352. data/ext/enterprise_script_service/mruby/mrblib/array.rb +17 -9
  353. data/ext/enterprise_script_service/mruby/mrblib/enum.rb +1 -1
  354. data/ext/enterprise_script_service/mruby/mrblib/hash.rb +3 -23
  355. data/ext/enterprise_script_service/mruby/mrblib/init_mrblib.c +0 -11
  356. data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +36 -11
  357. data/ext/enterprise_script_service/mruby/mrblib/range.rb +25 -3
  358. data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_proto_fuzzer.cpp +2 -2
  359. data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.h +1 -1
  360. data/ext/enterprise_script_service/mruby/src/array.c +67 -90
  361. data/ext/enterprise_script_service/mruby/src/backtrace.c +18 -19
  362. data/ext/enterprise_script_service/mruby/src/class.c +819 -211
  363. data/ext/enterprise_script_service/mruby/src/codedump.c +226 -197
  364. data/ext/enterprise_script_service/mruby/src/debug.c +14 -11
  365. data/ext/enterprise_script_service/mruby/src/dump.c +470 -207
  366. data/ext/enterprise_script_service/mruby/src/enum.c +1 -1
  367. data/ext/enterprise_script_service/mruby/src/error.c +94 -20
  368. data/ext/enterprise_script_service/mruby/src/etc.c +56 -39
  369. data/ext/enterprise_script_service/mruby/src/fmt_fp.c +103 -27
  370. data/ext/enterprise_script_service/mruby/src/gc.c +86 -349
  371. data/ext/enterprise_script_service/mruby/src/hash.c +1058 -723
  372. data/ext/enterprise_script_service/mruby/src/kernel.c +78 -226
  373. data/ext/enterprise_script_service/mruby/src/load.c +215 -159
  374. data/ext/enterprise_script_service/mruby/src/numeric.c +400 -382
  375. data/ext/enterprise_script_service/mruby/src/object.c +115 -90
  376. data/ext/enterprise_script_service/mruby/src/print.c +31 -6
  377. data/ext/enterprise_script_service/mruby/src/proc.c +56 -45
  378. data/ext/enterprise_script_service/mruby/src/range.c +49 -33
  379. data/ext/enterprise_script_service/mruby/src/state.c +58 -42
  380. data/ext/enterprise_script_service/mruby/src/string.c +151 -156
  381. data/ext/enterprise_script_service/mruby/src/symbol.c +132 -66
  382. data/ext/enterprise_script_service/mruby/src/value_array.h +1 -0
  383. data/ext/enterprise_script_service/mruby/src/variable.c +158 -158
  384. data/ext/enterprise_script_service/mruby/src/vm.c +655 -645
  385. data/ext/enterprise_script_service/mruby/tasks/benchmark.rake +6 -6
  386. data/ext/enterprise_script_service/mruby/tasks/bin.rake +23 -0
  387. data/ext/enterprise_script_service/mruby/tasks/core.rake +12 -0
  388. data/ext/enterprise_script_service/mruby/tasks/doc.rake +50 -38
  389. data/ext/enterprise_script_service/mruby/tasks/gitlab.rake +64 -61
  390. data/ext/enterprise_script_service/mruby/tasks/libmruby.rake +10 -1
  391. data/ext/enterprise_script_service/mruby/tasks/mrbgems.rake +13 -1
  392. data/ext/enterprise_script_service/mruby/tasks/mrblib.rake +40 -0
  393. data/ext/enterprise_script_service/mruby/tasks/presym.rake +44 -0
  394. data/ext/enterprise_script_service/mruby/tasks/test.rake +68 -0
  395. data/ext/enterprise_script_service/mruby/tasks/toolchains/android.rake +46 -1
  396. data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +8 -7
  397. data/ext/enterprise_script_service/mruby/tasks/toolchains/openwrt.rake +13 -17
  398. data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +21 -25
  399. data/ext/enterprise_script_service/mruby/test/assert.rb +5 -4
  400. data/ext/enterprise_script_service/mruby/test/bintest.rb +5 -5
  401. data/ext/enterprise_script_service/mruby/test/t/argumenterror.rb +16 -0
  402. data/ext/enterprise_script_service/mruby/test/t/array.rb +7 -3
  403. data/ext/enterprise_script_service/mruby/test/t/bs_literal.rb +1 -1
  404. data/ext/enterprise_script_service/mruby/test/t/ensure.rb +8 -26
  405. data/ext/enterprise_script_service/mruby/test/t/exception.rb +2 -2
  406. data/ext/enterprise_script_service/mruby/test/t/float.rb +18 -8
  407. data/ext/enterprise_script_service/mruby/test/t/hash.rb +903 -281
  408. data/ext/enterprise_script_service/mruby/test/t/integer.rb +10 -38
  409. data/ext/enterprise_script_service/mruby/test/t/kernel.rb +16 -25
  410. data/ext/enterprise_script_service/mruby/test/t/literals.rb +50 -0
  411. data/ext/enterprise_script_service/mruby/test/t/module.rb +2 -2
  412. data/ext/enterprise_script_service/mruby/test/t/numeric.rb +1 -1
  413. data/ext/enterprise_script_service/mruby/test/t/range.rb +83 -1
  414. data/ext/enterprise_script_service/mruby/test/t/string.rb +4 -0
  415. data/ext/enterprise_script_service/mruby/test/t/superclass.rb +10 -10
  416. data/ext/enterprise_script_service/mruby/test/t/syntax.rb +24 -0
  417. data/ext/enterprise_script_service/mruby/test/t/vformat.rb +3 -3
  418. data/ext/enterprise_script_service/mruby-mpdecimal/mrbgem.rake +2 -1
  419. data/ext/enterprise_script_service/mruby_config.rb +2 -5
  420. data/ext/enterprise_script_service/mruby_engine.cpp +1 -1
  421. data/ext/enterprise_script_service/msgpack/.github/depends/boost.sh +56 -0
  422. data/ext/enterprise_script_service/msgpack/.github/workflows/coverage.yml +62 -0
  423. data/ext/enterprise_script_service/msgpack/.github/workflows/gha.yml +304 -0
  424. data/ext/enterprise_script_service/msgpack/CHANGELOG.md +11 -0
  425. data/ext/enterprise_script_service/msgpack/CMakeLists.txt +82 -39
  426. data/ext/enterprise_script_service/msgpack/Files.cmake +22 -12
  427. data/ext/enterprise_script_service/msgpack/QUICKSTART-C.md +26 -29
  428. data/ext/enterprise_script_service/msgpack/README.md +3 -2
  429. data/ext/enterprise_script_service/msgpack/appveyor.yml +6 -2
  430. data/ext/enterprise_script_service/msgpack/ci/build_cmake.sh +3 -1
  431. data/ext/enterprise_script_service/msgpack/cmake/CodeCoverage.cmake +55 -0
  432. data/ext/enterprise_script_service/msgpack/codecov.yml +36 -0
  433. data/ext/enterprise_script_service/msgpack/example/CMakeLists.txt +9 -5
  434. data/ext/enterprise_script_service/msgpack/example/boost/CMakeLists.txt +1 -1
  435. data/ext/enterprise_script_service/msgpack/example/c/CMakeLists.txt +17 -6
  436. data/ext/enterprise_script_service/msgpack/example/c/boundary.c +296 -0
  437. data/ext/enterprise_script_service/msgpack/example/c/jsonconv.c +419 -0
  438. data/ext/enterprise_script_service/msgpack/example/c/simple_c.c +1 -1
  439. data/ext/enterprise_script_service/msgpack/example/cpp03/CMakeLists.txt +3 -3
  440. data/ext/enterprise_script_service/msgpack/example/cpp11/CMakeLists.txt +2 -2
  441. data/ext/enterprise_script_service/msgpack/example/x3/CMakeLists.txt +2 -2
  442. data/ext/enterprise_script_service/msgpack/external/boost/predef/.gitattributes +96 -0
  443. data/ext/enterprise_script_service/msgpack/external/boost/predef/.gitignore +3 -0
  444. data/ext/enterprise_script_service/msgpack/external/boost/predef/.project +17 -0
  445. data/ext/enterprise_script_service/msgpack/external/boost/predef/.pydevproject +5 -0
  446. data/ext/enterprise_script_service/msgpack/external/boost/predef/.travis.yml +109 -0
  447. data/ext/enterprise_script_service/msgpack/external/boost/predef/appveyor.yml +149 -0
  448. data/ext/enterprise_script_service/msgpack/external/boost/predef/build.jam +6 -0
  449. data/ext/enterprise_script_service/msgpack/external/boost/predef/check/predef.jam +17 -0
  450. data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/.gitignore +1 -0
  451. data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/build.jam +100 -0
  452. data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/hardware_simd.qbk +89 -0
  453. data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/history.qbk +93 -0
  454. data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/predef.qbk +734 -0
  455. data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/todo.qbk +12 -0
  456. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/detail/endian.hpp +11 -0
  457. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/alpha.h +59 -0
  458. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/arm.h +80 -0
  459. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/blackfin.h +46 -0
  460. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/convex.h +65 -0
  461. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/ia64.h +49 -0
  462. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/m68k.h +82 -0
  463. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/mips.h +73 -0
  464. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/parisc.h +64 -0
  465. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/ppc.h +72 -0
  466. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/ptx.h +44 -0
  467. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/pyramid.h +42 -0
  468. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/rs6k.h +56 -0
  469. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/sparc.h +54 -0
  470. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/superh.h +67 -0
  471. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/sys370.h +43 -0
  472. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/sys390.h +43 -0
  473. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/x86/32.h +87 -0
  474. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/x86/64.h +50 -0
  475. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/x86.h +38 -0
  476. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/z.h +42 -0
  477. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture.h +33 -0
  478. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/borland.h +63 -0
  479. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/clang.h +56 -0
  480. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/comeau.h +61 -0
  481. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/compaq.h +66 -0
  482. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/diab.h +56 -0
  483. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/digitalmars.h +56 -0
  484. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/dignus.h +56 -0
  485. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/edg.h +56 -0
  486. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/ekopath.h +57 -0
  487. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/gcc.h +68 -0
  488. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/gcc_xml.h +53 -0
  489. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/greenhills.h +66 -0
  490. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/hp_acc.h +61 -0
  491. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/iar.h +56 -0
  492. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/ibm.h +72 -0
  493. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/intel.h +79 -0
  494. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/kai.h +56 -0
  495. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/llvm.h +57 -0
  496. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/metaware.h +53 -0
  497. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/metrowerks.h +77 -0
  498. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/microtec.h +53 -0
  499. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/mpw.h +63 -0
  500. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/nvcc.h +60 -0
  501. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/palm.h +56 -0
  502. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/pgi.h +60 -0
  503. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/sgi_mipspro.h +66 -0
  504. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/sunpro.h +76 -0
  505. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/tendra.h +53 -0
  506. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/visualc.h +105 -0
  507. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/watcom.h +56 -0
  508. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler.h +44 -0
  509. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/_cassert.h +17 -0
  510. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/_exception.h +15 -0
  511. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/comp_detected.h +10 -0
  512. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/endian_compat.h +26 -0
  513. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/os_detected.h +10 -0
  514. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/platform_detected.h +10 -0
  515. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/test.h +17 -0
  516. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/test_def.h +71 -0
  517. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/arm/versions.h +32 -0
  518. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/arm.h +59 -0
  519. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/ppc/versions.h +51 -0
  520. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/ppc.h +69 -0
  521. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/x86/versions.h +129 -0
  522. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/x86.h +123 -0
  523. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/x86_amd/versions.h +51 -0
  524. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/x86_amd.h +87 -0
  525. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd.h +119 -0
  526. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware.h +16 -0
  527. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/cuda.h +52 -0
  528. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/objc.h +42 -0
  529. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/stdc.h +53 -0
  530. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/stdcpp.h +121 -0
  531. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language.h +18 -0
  532. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/_prefix.h +13 -0
  533. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/cloudabi.h +53 -0
  534. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/gnu.h +61 -0
  535. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/uc.h +47 -0
  536. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/vms.h +47 -0
  537. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/zos.h +56 -0
  538. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c.h +21 -0
  539. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/_prefix.h +23 -0
  540. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/cxx.h +46 -0
  541. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/dinkumware.h +52 -0
  542. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/libcomo.h +47 -0
  543. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/modena.h +45 -0
  544. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/msl.h +53 -0
  545. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/roguewave.h +56 -0
  546. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/sgi.h +51 -0
  547. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/stdcpp3.h +53 -0
  548. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/stlport.h +59 -0
  549. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/vacpp.h +44 -0
  550. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std.h +25 -0
  551. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library.h +16 -0
  552. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/make.h +97 -0
  553. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/aix.h +66 -0
  554. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/amigaos.h +46 -0
  555. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/android.h +45 -0
  556. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/beos.h +45 -0
  557. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/bsdi.h +48 -0
  558. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/dragonfly.h +50 -0
  559. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/free.h +67 -0
  560. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/net.h +84 -0
  561. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/open.h +251 -0
  562. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd.h +103 -0
  563. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/cygwin.h +45 -0
  564. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/haiku.h +46 -0
  565. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/hpux.h +47 -0
  566. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/ios.h +51 -0
  567. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/irix.h +46 -0
  568. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/linux.h +46 -0
  569. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/macos.h +65 -0
  570. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/os400.h +45 -0
  571. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/qnxnto.h +59 -0
  572. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/solaris.h +46 -0
  573. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/unix.h +76 -0
  574. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/vms.h +52 -0
  575. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/windows.h +51 -0
  576. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os.h +33 -0
  577. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/other/endian.h +203 -0
  578. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/other/workaround.h +87 -0
  579. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/other.h +16 -0
  580. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/cloudabi.h +43 -0
  581. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/ios.h +58 -0
  582. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/mingw.h +69 -0
  583. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/mingw32.h +63 -0
  584. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/mingw64.h +63 -0
  585. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_desktop.h +51 -0
  586. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_phone.h +48 -0
  587. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_runtime.h +53 -0
  588. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_server.h +47 -0
  589. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_store.h +50 -0
  590. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_system.h +47 -0
  591. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_uwp.h +60 -0
  592. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform.h +28 -0
  593. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/version.h +15 -0
  594. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/version_number.h +72 -0
  595. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef.h +24 -0
  596. data/ext/enterprise_script_service/msgpack/external/boost/predef/index.html +14 -0
  597. data/ext/enterprise_script_service/msgpack/external/boost/predef/meta/libraries.json +14 -0
  598. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/.gitignore +3 -0
  599. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/build.jam +80 -0
  600. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/check_value.cpp +26 -0
  601. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_c.c +7 -0
  602. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_cpp.cpp +7 -0
  603. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_objc.m +7 -0
  604. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_objcpp.mm +7 -0
  605. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/macos_endian.c +21 -0
  606. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/macos_vs_bsd.c +19 -0
  607. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/make.cpp +94 -0
  608. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/platform_windows.cpp +177 -0
  609. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/predef_info.h +46 -0
  610. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/tested_at.cpp +62 -0
  611. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/tested_at_outdated.cpp +18 -0
  612. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/version.cpp +83 -0
  613. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/workaround.cpp +62 -0
  614. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/workaround_strict_config.cpp +17 -0
  615. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/build.jam +9 -0
  616. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef.jam +202 -0
  617. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check.h +98 -0
  618. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_c.c +7 -0
  619. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_cpp.cpp +7 -0
  620. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_objc.m +7 -0
  621. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_objcpp.mm +7 -0
  622. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc.h +19 -0
  623. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_c.c +7 -0
  624. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_cpp.cpp +7 -0
  625. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_objc.m +7 -0
  626. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_objcpp.mm +7 -0
  627. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/ci/build_log.py +428 -0
  628. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/ci/common.py +878 -0
  629. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/ci/library_test.py +198 -0
  630. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/.gitattributes +96 -0
  631. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/.travis.yml +39 -0
  632. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/appveyor.yml +36 -0
  633. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/AppendixA-AnIntroductiontoPreprocessorMetaprogramming.html +2494 -0
  634. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/acknowledgements.html +58 -0
  635. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/bibliography.html +58 -0
  636. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/contents.html +38 -0
  637. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/arrays.html +55 -0
  638. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/lists.html +42 -0
  639. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/sequences.html +60 -0
  640. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/tuples.html +42 -0
  641. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data.html +27 -0
  642. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/array_arithmetic.c +196 -0
  643. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/catch_builtin.cpp +51 -0
  644. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/delay.c +95 -0
  645. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/duffs_device.c +61 -0
  646. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/is_integral.cpp +49 -0
  647. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/linear_fib.c +91 -0
  648. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples.html +27 -0
  649. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/add.html +31 -0
  650. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/dec.html +30 -0
  651. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/div.html +31 -0
  652. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/inc.html +30 -0
  653. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/mod.html +31 -0
  654. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/mul.html +31 -0
  655. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/sub.html +31 -0
  656. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic.html +36 -0
  657. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/data.html +30 -0
  658. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/elem.html +30 -0
  659. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/enum.html +24 -0
  660. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/insert.html +31 -0
  661. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/pop_back.html +31 -0
  662. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/pop_front.html +31 -0
  663. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/push_back.html +30 -0
  664. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/push_front.html +30 -0
  665. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/remove.html +31 -0
  666. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/replace.html +31 -0
  667. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/reverse.html +30 -0
  668. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/size.html +30 -0
  669. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/to_list.html +24 -0
  670. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/to_seq.html +24 -0
  671. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/to_tuple.html +24 -0
  672. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array.html +43 -0
  673. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/assert_msg.html +31 -0
  674. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/cat.html +30 -0
  675. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comma.html +31 -0
  676. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comma_if.html +31 -0
  677. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/equal.html +31 -0
  678. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/greater.html +31 -0
  679. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/greater_equal.html +31 -0
  680. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/less.html +31 -0
  681. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/less_equal.html +31 -0
  682. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/not_equal.html +31 -0
  683. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison.html +35 -0
  684. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/config/limits.html +44 -0
  685. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/config/variadics.html +32 -0
  686. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/deduce_d.html +30 -0
  687. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/expr_if.html +30 -0
  688. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/expr_iif.html +30 -0
  689. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/if.html +30 -0
  690. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/iif.html +30 -0
  691. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/while.html +31 -0
  692. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control.html +35 -0
  693. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/debug/assert.html +31 -0
  694. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/debug/line.html +30 -0
  695. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/debug.html +31 -0
  696. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/dec.html +31 -0
  697. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/empty.html +31 -0
  698. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum.html +31 -0
  699. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum_params.html +31 -0
  700. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum_shifted.html +31 -0
  701. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum_shifted_params.html +31 -0
  702. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/epwad.html +31 -0
  703. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/epwd.html +31 -0
  704. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/expand.html +31 -0
  705. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/expr_if.html +31 -0
  706. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/apply.html +30 -0
  707. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/empty.html +30 -0
  708. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/expand.html +30 -0
  709. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/identity.html +32 -0
  710. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/intercept.html +30 -0
  711. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/overload.html +28 -0
  712. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities.html +34 -0
  713. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/for.html +31 -0
  714. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/identity.html +31 -0
  715. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/if.html +31 -0
  716. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/inc.html +31 -0
  717. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iterate.html +31 -0
  718. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration/iterate.html +43 -0
  719. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration/local.html +30 -0
  720. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration/self.html +30 -0
  721. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration.html +32 -0
  722. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/library.html +26 -0
  723. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/limits.html +31 -0
  724. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/adt.html +35 -0
  725. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/append.html +31 -0
  726. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/at.html +31 -0
  727. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/cat.html +31 -0
  728. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/enum.html +31 -0
  729. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/filter.html +31 -0
  730. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/first_n.html +31 -0
  731. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/fold_left.html +34 -0
  732. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/fold_right.html +34 -0
  733. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/for_each.html +31 -0
  734. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/for_each_i.html +31 -0
  735. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/for_each_product.html +31 -0
  736. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/rest_n.html +31 -0
  737. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/reverse.html +31 -0
  738. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/size.html +31 -0
  739. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/to_array.html +29 -0
  740. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/to_seq.html +25 -0
  741. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/to_tuple.html +31 -0
  742. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/transform.html +31 -0
  743. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list.html +47 -0
  744. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/and.html +30 -0
  745. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitand.html +30 -0
  746. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitnor.html +30 -0
  747. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitor.html +30 -0
  748. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitxor.html +30 -0
  749. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bool.html +30 -0
  750. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/compl.html +30 -0
  751. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/nor.html +30 -0
  752. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/not.html +30 -0
  753. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/or.html +30 -0
  754. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/xor.html +30 -0
  755. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical.html +40 -0
  756. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/max.html +31 -0
  757. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/min.html +31 -0
  758. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/preprocessor.html +26 -0
  759. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/comma.html +30 -0
  760. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/comma_if.html +30 -0
  761. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/is_begin_parens.html +26 -0
  762. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/paren.html +31 -0
  763. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/paren_if.html +31 -0
  764. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/remove_parens.html +26 -0
  765. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation.html +33 -0
  766. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat.html +31 -0
  767. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_2nd.html +31 -0
  768. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_3rd.html +31 -0
  769. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_from_to.html +31 -0
  770. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_from_to_2nd.html +31 -0
  771. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_from_to_3rd.html +31 -0
  772. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/deduce_r.html +30 -0
  773. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/deduce_z.html +30 -0
  774. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum.html +31 -0
  775. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_binary_params.html +31 -0
  776. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_params.html +31 -0
  777. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_shifted.html +31 -0
  778. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_shifted_params.html +31 -0
  779. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_trailing.html +31 -0
  780. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_trailing_params.html +31 -0
  781. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/epwad.html +30 -0
  782. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/epwd.html +30 -0
  783. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/esbp.html +31 -0
  784. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/etbp.html +31 -0
  785. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/for.html +31 -0
  786. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/repeat.html +34 -0
  787. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/repeat_from_to.html +36 -0
  788. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition.html +44 -0
  789. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/selection/max.html +31 -0
  790. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/selection/min.html +31 -0
  791. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/selection.html +31 -0
  792. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/cat.html +38 -0
  793. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/elem.html +35 -0
  794. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/enum.html +35 -0
  795. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/filter.html +37 -0
  796. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/first_n.html +36 -0
  797. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/fold_left.html +38 -0
  798. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/fold_right.html +38 -0
  799. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/for_each.html +38 -0
  800. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/for_each_i.html +38 -0
  801. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/for_each_product.html +38 -0
  802. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/insert.html +35 -0
  803. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/pop_back.html +36 -0
  804. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/pop_front.html +36 -0
  805. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/push_back.html +35 -0
  806. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/push_front.html +35 -0
  807. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/remove.html +35 -0
  808. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/replace.html +35 -0
  809. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/rest_n.html +36 -0
  810. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/reverse.html +37 -0
  811. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/seq.html +39 -0
  812. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/size.html +35 -0
  813. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/subseq.html +35 -0
  814. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/to_array.html +36 -0
  815. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/to_list.html +30 -0
  816. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/to_tuple.html +36 -0
  817. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/transform.html +37 -0
  818. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/variadic_seq_to_seq.html +34 -0
  819. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq.html +86 -0
  820. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/slot/counter.html +31 -0
  821. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/slot/slot.html +31 -0
  822. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/slot.html +30 -0
  823. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/stringize.html +30 -0
  824. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/eat.html +25 -0
  825. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/elem.html +25 -0
  826. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/enum.html +25 -0
  827. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/insert.html +27 -0
  828. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/pop_back.html +28 -0
  829. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/pop_front.html +28 -0
  830. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/push_back.html +26 -0
  831. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/push_front.html +26 -0
  832. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/rem.html +27 -0
  833. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/remove.html +27 -0
  834. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/replace.html +28 -0
  835. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/reverse.html +25 -0
  836. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/size.html +25 -0
  837. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/to_array.html +25 -0
  838. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/to_list.html +25 -0
  839. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/to_seq.html +31 -0
  840. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple.html +59 -0
  841. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/elem.html +29 -0
  842. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/size.html +25 -0
  843. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_array.html +25 -0
  844. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_list.html +25 -0
  845. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_seq.html +30 -0
  846. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_tuple.html +31 -0
  847. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic.html +33 -0
  848. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/while.html +31 -0
  849. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/wstringize.html +30 -0
  850. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers.html +249 -0
  851. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/index.html +23 -0
  852. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/miscellanea.html +24 -0
  853. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/add.html +68 -0
  854. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/add_d.html +90 -0
  855. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/and.html +64 -0
  856. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/apply.html +64 -0
  857. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_data.html +49 -0
  858. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_elem.html +51 -0
  859. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_enum.html +37 -0
  860. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_insert.html +71 -0
  861. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_insert_d.html +63 -0
  862. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_back.html +59 -0
  863. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_back_z.html +51 -0
  864. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_front.html +51 -0
  865. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_front_z.html +51 -0
  866. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_push_back.html +49 -0
  867. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_push_front.html +49 -0
  868. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_remove.html +60 -0
  869. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_remove_d.html +51 -0
  870. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_replace.html +64 -0
  871. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_replace_d.html +55 -0
  872. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_reverse.html +45 -0
  873. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_size.html +45 -0
  874. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_to_list.html +41 -0
  875. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_to_seq.html +37 -0
  876. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_to_tuple.html +39 -0
  877. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/assert.html +114 -0
  878. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/assert_msg.html +66 -0
  879. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/assign_slot.html +61 -0
  880. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitand.html +65 -0
  881. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitnor.html +65 -0
  882. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitor.html +65 -0
  883. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitxor.html +66 -0
  884. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bool.html +54 -0
  885. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/cat.html +57 -0
  886. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/comma.html +43 -0
  887. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/comma_if.html +60 -0
  888. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/compl.html +58 -0
  889. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/config_extended_line_info.html +54 -0
  890. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/counter.html +58 -0
  891. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/dec.html +54 -0
  892. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/deduce_d.html +82 -0
  893. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/deduce_r.html +48 -0
  894. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/deduce_z.html +48 -0
  895. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/div.html +63 -0
  896. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/div_d.html +85 -0
  897. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/empty.html +47 -0
  898. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum.html +80 -0
  899. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_binary_params.html +76 -0
  900. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_binary_params_z.html +93 -0
  901. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params.html +69 -0
  902. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params_with_a_default.html +83 -0
  903. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params_with_defaults.html +84 -0
  904. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params_z.html +82 -0
  905. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted.html +82 -0
  906. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted_params.html +73 -0
  907. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted_params_z.html +79 -0
  908. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted_z.html +93 -0
  909. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing.html +83 -0
  910. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing_params.html +66 -0
  911. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing_params_z.html +81 -0
  912. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing_z.html +96 -0
  913. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_z.html +96 -0
  914. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/equal.html +64 -0
  915. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/equal_d.html +69 -0
  916. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/esbp.html +65 -0
  917. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/esbpz.html +67 -0
  918. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/etbp.html +83 -0
  919. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/etbpz.html +67 -0
  920. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/expand.html +67 -0
  921. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/expr_if.html +70 -0
  922. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/expr_iif.html +67 -0
  923. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/filename_x.html +52 -0
  924. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/for.html +105 -0
  925. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/for_r.html +148 -0
  926. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/for_r_macros.html +44 -0
  927. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_finish.html +42 -0
  928. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_flags.html +42 -0
  929. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_iteration.html +73 -0
  930. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_start.html +42 -0
  931. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater.html +65 -0
  932. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater_d.html +69 -0
  933. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater_equal.html +65 -0
  934. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater_equal_d.html +69 -0
  935. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/identity.html +57 -0
  936. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/identity_n.html +58 -0
  937. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/if.html +63 -0
  938. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iif.html +66 -0
  939. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/inc.html +54 -0
  940. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/include_self.html +101 -0
  941. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/indirect_self.html +45 -0
  942. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/intercept.html +51 -0
  943. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/is_begin_parens.html +47 -0
  944. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/is_iterating.html +38 -0
  945. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/is_selfish.html +38 -0
  946. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iterate.html +83 -0
  947. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration.html +55 -0
  948. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_depth.html +73 -0
  949. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_finish.html +57 -0
  950. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_flags.html +68 -0
  951. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_limits.html +59 -0
  952. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_params_x.html +77 -0
  953. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_start.html +57 -0
  954. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less.html +65 -0
  955. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less_d.html +70 -0
  956. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less_equal.html +65 -0
  957. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less_equal_d.html +70 -0
  958. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_dim.html +35 -0
  959. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_for.html +34 -0
  960. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_iteration.html +34 -0
  961. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_iteration_dim.html +34 -0
  962. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_mag.html +34 -0
  963. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_repeat.html +39 -0
  964. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_seq.html +41 -0
  965. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_slot_count.html +34 -0
  966. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_slot_sig.html +34 -0
  967. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_tuple.html +33 -0
  968. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_variadic.html +24 -0
  969. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_while.html +34 -0
  970. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/line.html +112 -0
  971. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_append.html +69 -0
  972. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_append_d.html +96 -0
  973. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_at.html +61 -0
  974. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_at_d.html +63 -0
  975. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_cat.html +58 -0
  976. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_cat_d.html +67 -0
  977. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_cons.html +87 -0
  978. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_enum.html +62 -0
  979. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_enum_r.html +69 -0
  980. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_filter.html +76 -0
  981. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_filter_d.html +86 -0
  982. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_first.html +62 -0
  983. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_first_n.html +62 -0
  984. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_first_n_d.html +71 -0
  985. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left.html +75 -0
  986. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_2nd.html +75 -0
  987. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_2nd_d.html +86 -0
  988. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_d.html +81 -0
  989. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_d_old.html +86 -0
  990. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right.html +79 -0
  991. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_2nd.html +79 -0
  992. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_2nd_d.html +86 -0
  993. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_d.html +81 -0
  994. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_d_old.html +90 -0
  995. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each.html +75 -0
  996. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_i.html +75 -0
  997. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_i_r.html +82 -0
  998. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_product.html +86 -0
  999. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_product_r.html +118 -0
  1000. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_r.html +81 -0
  1001. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_is_cons.html +51 -0
  1002. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_is_nil.html +51 -0
  1003. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_nil.html +68 -0
  1004. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_rest.html +62 -0
  1005. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_rest_n.html +62 -0
  1006. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_rest_n_d.html +71 -0
  1007. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_reverse.html +55 -0
  1008. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_reverse_d.html +63 -0
  1009. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_size.html +55 -0
  1010. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_size_d.html +67 -0
  1011. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_array.html +47 -0
  1012. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_array_d.html +34 -0
  1013. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_seq.html +44 -0
  1014. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_seq_r.html +32 -0
  1015. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_tuple.html +55 -0
  1016. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_tuple_r.html +62 -0
  1017. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_transform.html +78 -0
  1018. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_transform_d.html +86 -0
  1019. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/local_iterate.html +62 -0
  1020. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/local_limits.html +80 -0
  1021. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/local_macro.html +64 -0
  1022. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/lparen.html +52 -0
  1023. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/lparen_if.html +61 -0
  1024. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/max.html +64 -0
  1025. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/max_d.html +70 -0
  1026. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/min.html +64 -0
  1027. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/min_d.html +70 -0
  1028. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mod.html +63 -0
  1029. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mod_d.html +75 -0
  1030. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mul.html +68 -0
  1031. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mul_d.html +91 -0
  1032. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/nil.html +41 -0
  1033. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/nor.html +64 -0
  1034. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/not.html +59 -0
  1035. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/not_equal.html +64 -0
  1036. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/not_equal_d.html +69 -0
  1037. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/or.html +64 -0
  1038. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/overload.html +58 -0
  1039. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_finish.html +46 -0
  1040. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_flags.html +46 -0
  1041. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_iteration.html +101 -0
  1042. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_start.html +46 -0
  1043. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/remove_parens.html +44 -0
  1044. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat.html +80 -0
  1045. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_1st.html +82 -0
  1046. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_2nd.html +82 -0
  1047. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_3rd.html +82 -0
  1048. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to.html +102 -0
  1049. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_1st.html +91 -0
  1050. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_2nd.html +91 -0
  1051. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_3rd.html +91 -0
  1052. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_d.html +83 -0
  1053. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_d_z.html +84 -0
  1054. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_z.html +105 -0
  1055. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_z.html +92 -0
  1056. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_z_macros.html +45 -0
  1057. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/rparen.html +53 -0
  1058. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/rparen_if.html +61 -0
  1059. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_cat.html +64 -0
  1060. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_cat_s.html +60 -0
  1061. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_elem.html +59 -0
  1062. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_enum.html +66 -0
  1063. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_filter.html +93 -0
  1064. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_filter_s.html +79 -0
  1065. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_first_n.html +67 -0
  1066. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_left.html +90 -0
  1067. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_left_s.html +96 -0
  1068. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_right.html +92 -0
  1069. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_right_s.html +97 -0
  1070. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each.html +90 -0
  1071. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_i.html +91 -0
  1072. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_i_r.html +78 -0
  1073. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_product.html +100 -0
  1074. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_product_r.html +81 -0
  1075. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_r.html +77 -0
  1076. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_head.html +63 -0
  1077. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_insert.html +70 -0
  1078. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_nil.html +81 -0
  1079. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_pop_back.html +68 -0
  1080. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_pop_front.html +68 -0
  1081. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_push_back.html +76 -0
  1082. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_push_front.html +78 -0
  1083. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_remove.html +66 -0
  1084. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_replace.html +71 -0
  1085. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_rest_n.html +55 -0
  1086. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_reverse.html +68 -0
  1087. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_reverse_s.html +55 -0
  1088. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_size.html +55 -0
  1089. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_subseq.html +69 -0
  1090. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_tail.html +63 -0
  1091. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_to_array.html +55 -0
  1092. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_to_list.html +34 -0
  1093. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_to_tuple.html +55 -0
  1094. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_transform.html +93 -0
  1095. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_transform_s.html +79 -0
  1096. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/slot.html +60 -0
  1097. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/stringize.html +50 -0
  1098. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/sub.html +63 -0
  1099. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/sub_d.html +85 -0
  1100. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_eat.html +58 -0
  1101. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_elem.html +65 -0
  1102. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_enum.html +55 -0
  1103. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_insert.html +54 -0
  1104. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_insert_d.html +46 -0
  1105. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_back.html +48 -0
  1106. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_back_z.html +40 -0
  1107. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_front.html +47 -0
  1108. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_front_z.html +40 -0
  1109. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_push_back.html +39 -0
  1110. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_push_front.html +39 -0
  1111. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_rem.html +60 -0
  1112. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_rem_ctor.html +61 -0
  1113. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_remove.html +50 -0
  1114. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_remove_d.html +41 -0
  1115. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_replace.html +51 -0
  1116. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_replace_d.html +42 -0
  1117. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_reverse.html +61 -0
  1118. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_size.html +32 -0
  1119. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_to_array.html +50 -0
  1120. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_to_list.html +60 -0
  1121. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_to_seq.html +51 -0
  1122. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/update_counter.html +34 -0
  1123. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/value.html +37 -0
  1124. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_elem.html +42 -0
  1125. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_seq_to_seq.html +35 -0
  1126. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_size.html +33 -0
  1127. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_array.html +32 -0
  1128. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_list.html +31 -0
  1129. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_seq.html +32 -0
  1130. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_tuple.html +32 -0
  1131. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadics.html +30 -0
  1132. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/while.html +116 -0
  1133. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/while_d.html +117 -0
  1134. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/while_d_macros.html +89 -0
  1135. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/wstringize.html +49 -0
  1136. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/xor.html +64 -0
  1137. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref.html +319 -0
  1138. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/styles.css +87 -0
  1139. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/syntax.html +307 -0
  1140. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/terms/evaluated.html +27 -0
  1141. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/terms/named_external.html +25 -0
  1142. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/terms.html +23 -0
  1143. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/title.html +25 -0
  1144. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/top.html +32 -0
  1145. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/evaluated_slots.html +157 -0
  1146. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/file_iteration.html +1044 -0
  1147. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/incompatible.html +140 -0
  1148. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/local_iteration.html +156 -0
  1149. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/motivation.html +119 -0
  1150. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/problems.html +135 -0
  1151. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/reentrancy.html +298 -0
  1152. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/techniques.html +350 -0
  1153. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/variadic_macros.html +262 -0
  1154. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics.html +27 -0
  1155. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/add.hpp +51 -0
  1156. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/dec.hpp +289 -0
  1157. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/detail/div_base.hpp +61 -0
  1158. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/div.hpp +39 -0
  1159. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/inc.hpp +288 -0
  1160. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/mod.hpp +39 -0
  1161. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/mul.hpp +53 -0
  1162. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/sub.hpp +50 -0
  1163. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic.hpp +25 -0
  1164. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/data.hpp +28 -0
  1165. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/detail/get_data.hpp +55 -0
  1166. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/elem.hpp +29 -0
  1167. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/enum.hpp +33 -0
  1168. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/insert.hpp +55 -0
  1169. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/pop_back.hpp +37 -0
  1170. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/pop_front.hpp +38 -0
  1171. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/push_back.hpp +35 -0
  1172. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/push_front.hpp +35 -0
  1173. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/remove.hpp +54 -0
  1174. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/replace.hpp +49 -0
  1175. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/reverse.hpp +29 -0
  1176. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/size.hpp +28 -0
  1177. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/to_list.hpp +47 -0
  1178. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/to_seq.hpp +46 -0
  1179. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/to_tuple.hpp +33 -0
  1180. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array.hpp +32 -0
  1181. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/assert_msg.hpp +17 -0
  1182. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/cat.hpp +35 -0
  1183. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comma.hpp +17 -0
  1184. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comma_if.hpp +17 -0
  1185. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/equal.hpp +34 -0
  1186. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/greater.hpp +38 -0
  1187. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/greater_equal.hpp +38 -0
  1188. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/less.hpp +46 -0
  1189. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/less_equal.hpp +39 -0
  1190. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/not_equal.hpp +814 -0
  1191. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison.hpp +24 -0
  1192. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/config/config.hpp +106 -0
  1193. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/config/limits.hpp +30 -0
  1194. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/deduce_d.hpp +22 -0
  1195. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/dmc/while.hpp +536 -0
  1196. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/edg/while.hpp +534 -0
  1197. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/msvc/while.hpp +277 -0
  1198. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/while.hpp +536 -0
  1199. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/expr_if.hpp +30 -0
  1200. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/expr_iif.hpp +31 -0
  1201. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/if.hpp +30 -0
  1202. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/iif.hpp +34 -0
  1203. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/while.hpp +312 -0
  1204. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control.hpp +22 -0
  1205. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug/assert.hpp +44 -0
  1206. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug/error.hpp +33 -0
  1207. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug/line.hpp +35 -0
  1208. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug.hpp +18 -0
  1209. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/dec.hpp +17 -0
  1210. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/auto_rec.hpp +293 -0
  1211. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/check.hpp +48 -0
  1212. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/dmc/auto_rec.hpp +286 -0
  1213. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/is_binary.hpp +30 -0
  1214. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/is_nullary.hpp +30 -0
  1215. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/is_unary.hpp +30 -0
  1216. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/null.hpp +17 -0
  1217. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/split.hpp +35 -0
  1218. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/empty.hpp +17 -0
  1219. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum.hpp +17 -0
  1220. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_params.hpp +17 -0
  1221. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_params_with_a_default.hpp +17 -0
  1222. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_params_with_defaults.hpp +17 -0
  1223. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_shifted.hpp +17 -0
  1224. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_shifted_params.hpp +17 -0
  1225. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/expand.hpp +17 -0
  1226. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/expr_if.hpp +17 -0
  1227. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/apply.hpp +34 -0
  1228. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/detail/is_empty.hpp +55 -0
  1229. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/empty.hpp +23 -0
  1230. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/expand.hpp +28 -0
  1231. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/identity.hpp +27 -0
  1232. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/intercept.hpp +277 -0
  1233. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_1.hpp +23 -0
  1234. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_empty.hpp +56 -0
  1235. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_empty_or_1.hpp +31 -0
  1236. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_empty_variadic.hpp +57 -0
  1237. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/overload.hpp +25 -0
  1238. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities.hpp +23 -0
  1239. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/for.hpp +17 -0
  1240. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/identity.hpp +17 -0
  1241. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/if.hpp +17 -0
  1242. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/inc.hpp +17 -0
  1243. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iterate.hpp +17 -0
  1244. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -0
  1245. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp +99 -0
  1246. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp +99 -0
  1247. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp +99 -0
  1248. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp +99 -0
  1249. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp +99 -0
  1250. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp +99 -0
  1251. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp +99 -0
  1252. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp +99 -0
  1253. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp +99 -0
  1254. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/finish.hpp +99 -0
  1255. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward1.hpp +1342 -0
  1256. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward2.hpp +1338 -0
  1257. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward3.hpp +1338 -0
  1258. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward4.hpp +1338 -0
  1259. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward5.hpp +1338 -0
  1260. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp +1296 -0
  1261. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp +1296 -0
  1262. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp +1296 -0
  1263. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp +1296 -0
  1264. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp +1296 -0
  1265. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/local.hpp +812 -0
  1266. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/rlocal.hpp +782 -0
  1267. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/self.hpp +21 -0
  1268. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/start.hpp +99 -0
  1269. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/iterate.hpp +82 -0
  1270. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/local.hpp +26 -0
  1271. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/self.hpp +19 -0
  1272. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration.hpp +19 -0
  1273. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/library.hpp +37 -0
  1274. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/limits.hpp +17 -0
  1275. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/adt.hpp +73 -0
  1276. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/append.hpp +40 -0
  1277. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/at.hpp +39 -0
  1278. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/cat.hpp +42 -0
  1279. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/dmc/fold_left.hpp +279 -0
  1280. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/edg/fold_left.hpp +536 -0
  1281. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/edg/fold_right.hpp +794 -0
  1282. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/fold_left.hpp +279 -0
  1283. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/fold_right.hpp +277 -0
  1284. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/enum.hpp +41 -0
  1285. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/filter.hpp +54 -0
  1286. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/first_n.hpp +58 -0
  1287. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/fold_left.hpp +303 -0
  1288. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/fold_right.hpp +40 -0
  1289. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/for_each.hpp +49 -0
  1290. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/for_each_i.hpp +65 -0
  1291. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/for_each_product.hpp +141 -0
  1292. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/rest_n.hpp +55 -0
  1293. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/reverse.hpp +40 -0
  1294. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/size.hpp +58 -0
  1295. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/to_array.hpp +155 -0
  1296. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/to_seq.hpp +32 -0
  1297. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/to_tuple.hpp +61 -0
  1298. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/transform.hpp +49 -0
  1299. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list.hpp +37 -0
  1300. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/and.hpp +30 -0
  1301. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitand.hpp +38 -0
  1302. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitnor.hpp +38 -0
  1303. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitor.hpp +38 -0
  1304. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitxor.hpp +38 -0
  1305. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bool.hpp +288 -0
  1306. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/compl.hpp +36 -0
  1307. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/nor.hpp +30 -0
  1308. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/not.hpp +30 -0
  1309. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/or.hpp +30 -0
  1310. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/xor.hpp +30 -0
  1311. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical.hpp +29 -0
  1312. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/max.hpp +17 -0
  1313. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/min.hpp +17 -0
  1314. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/comma.hpp +21 -0
  1315. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/comma_if.hpp +31 -0
  1316. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp +48 -0
  1317. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/is_begin_parens.hpp +51 -0
  1318. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/paren.hpp +23 -0
  1319. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/paren_if.hpp +38 -0
  1320. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/remove_parens.hpp +39 -0
  1321. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation.hpp +22 -0
  1322. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat.hpp +17 -0
  1323. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_2nd.hpp +17 -0
  1324. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_3rd.hpp +17 -0
  1325. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_from_to.hpp +17 -0
  1326. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_from_to_2nd.hpp +17 -0
  1327. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_from_to_3rd.hpp +17 -0
  1328. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/deduce_r.hpp +22 -0
  1329. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/deduce_z.hpp +22 -0
  1330. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/dmc/for.hpp +536 -0
  1331. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/edg/for.hpp +534 -0
  1332. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/for.hpp +536 -0
  1333. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/msvc/for.hpp +277 -0
  1334. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum.hpp +66 -0
  1335. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_binary_params.hpp +54 -0
  1336. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_params.hpp +41 -0
  1337. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp +25 -0
  1338. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp +24 -0
  1339. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_shifted.hpp +68 -0
  1340. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp +51 -0
  1341. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_shifted_params.hpp +44 -0
  1342. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_trailing.hpp +63 -0
  1343. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp +53 -0
  1344. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_trailing_params.hpp +38 -0
  1345. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/for.hpp +324 -0
  1346. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/repeat.hpp +825 -0
  1347. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/repeat_from_to.hpp +87 -0
  1348. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition.hpp +32 -0
  1349. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/selection/max.hpp +39 -0
  1350. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/selection/min.hpp +39 -0
  1351. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/selection.hpp +18 -0
  1352. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/cat.hpp +49 -0
  1353. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/binary_transform.hpp +47 -0
  1354. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/is_empty.hpp +49 -0
  1355. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/split.hpp +284 -0
  1356. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/to_list_msvc.hpp +55 -0
  1357. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/elem.hpp +304 -0
  1358. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/enum.hpp +288 -0
  1359. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/filter.hpp +54 -0
  1360. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/first_n.hpp +30 -0
  1361. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/fold_left.hpp +1070 -0
  1362. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/fold_right.hpp +288 -0
  1363. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/for_each.hpp +107 -0
  1364. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/for_each_i.hpp +109 -0
  1365. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/for_each_product.hpp +126 -0
  1366. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/insert.hpp +28 -0
  1367. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/pop_back.hpp +29 -0
  1368. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/pop_front.hpp +27 -0
  1369. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/push_back.hpp +19 -0
  1370. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/push_front.hpp +19 -0
  1371. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/remove.hpp +29 -0
  1372. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/replace.hpp +45 -0
  1373. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/rest_n.hpp +46 -0
  1374. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/reverse.hpp +39 -0
  1375. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/seq.hpp +44 -0
  1376. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/size.hpp +548 -0
  1377. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/subseq.hpp +28 -0
  1378. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/to_array.hpp +28 -0
  1379. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/to_list.hpp +41 -0
  1380. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/to_tuple.hpp +27 -0
  1381. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/transform.hpp +48 -0
  1382. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp +28 -0
  1383. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq.hpp +44 -0
  1384. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/counter.hpp +25 -0
  1385. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/counter.hpp +269 -0
  1386. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/def.hpp +49 -0
  1387. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/shared.hpp +247 -0
  1388. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot1.hpp +267 -0
  1389. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot2.hpp +267 -0
  1390. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot3.hpp +267 -0
  1391. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot4.hpp +267 -0
  1392. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot5.hpp +267 -0
  1393. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/slot.hpp +32 -0
  1394. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot.hpp +17 -0
  1395. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/stringize.hpp +33 -0
  1396. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/detail/is_single_return.hpp +28 -0
  1397. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/eat.hpp +115 -0
  1398. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/elem.hpp +201 -0
  1399. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/enum.hpp +22 -0
  1400. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/insert.hpp +37 -0
  1401. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/pop_back.hpp +64 -0
  1402. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/pop_front.hpp +65 -0
  1403. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/push_back.hpp +31 -0
  1404. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/push_front.hpp +32 -0
  1405. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/rem.hpp +149 -0
  1406. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/remove.hpp +64 -0
  1407. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/replace.hpp +37 -0
  1408. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/reverse.hpp +117 -0
  1409. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/size.hpp +28 -0
  1410. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/to_array.hpp +39 -0
  1411. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/to_list.hpp +118 -0
  1412. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/to_seq.hpp +119 -0
  1413. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple.hpp +35 -0
  1414. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/detail/is_single_return.hpp +28 -0
  1415. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/elem.hpp +94 -0
  1416. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/size.hpp +30 -0
  1417. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_array.hpp +32 -0
  1418. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_list.hpp +25 -0
  1419. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_seq.hpp +25 -0
  1420. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_tuple.hpp +24 -0
  1421. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic.hpp +23 -0
  1422. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/while.hpp +17 -0
  1423. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/wstringize.hpp +29 -0
  1424. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor.hpp +19 -0
  1425. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/index.html +18 -0
  1426. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/meta/libraries.json +15 -0
  1427. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/Jamfile.v2 +252 -0
  1428. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/arithmetic.c +12 -0
  1429. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/arithmetic.cpp +12 -0
  1430. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/arithmetic.cxx +82 -0
  1431. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/array.c +14 -0
  1432. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/array.cpp +14 -0
  1433. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/array.cxx +192 -0
  1434. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/comparison.c +13 -0
  1435. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/comparison.cpp +12 -0
  1436. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/comparison.cxx +45 -0
  1437. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/config_info.cpp +93 -0
  1438. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/control.c +12 -0
  1439. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/control.cpp +12 -0
  1440. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/control.cxx +40 -0
  1441. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/debug.c +12 -0
  1442. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/debug.cpp +12 -0
  1443. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/debug.cxx +21 -0
  1444. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/facilities.c +12 -0
  1445. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/facilities.cpp +12 -0
  1446. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/facilities.cxx +55 -0
  1447. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty.c +12 -0
  1448. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty.cpp +12 -0
  1449. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty.cxx +145 -0
  1450. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure.c +12 -0
  1451. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure.cpp +12 -0
  1452. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure.cxx +25 -0
  1453. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure2.c +12 -0
  1454. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure2.cpp +12 -0
  1455. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure2.cxx +25 -0
  1456. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/iteration.cpp +33 -0
  1457. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/iteration.h +62 -0
  1458. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/list.c +14 -0
  1459. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/list.cpp +14 -0
  1460. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/list.cxx +91 -0
  1461. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/logical.c +12 -0
  1462. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/logical.cpp +12 -0
  1463. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/logical.cxx +59 -0
  1464. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/punctuation.c +14 -0
  1465. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/punctuation.cpp +14 -0
  1466. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/punctuation.cxx +54 -0
  1467. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/repetition.cpp +50 -0
  1468. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/selection.c +12 -0
  1469. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/selection.cpp +12 -0
  1470. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/selection.cxx +21 -0
  1471. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/seq.c +14 -0
  1472. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/seq.cpp +14 -0
  1473. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/seq.cxx +222 -0
  1474. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/slot.c +12 -0
  1475. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/slot.cpp +12 -0
  1476. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/slot.cxx +53 -0
  1477. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/test.h +37 -0
  1478. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple.c +14 -0
  1479. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple.cpp +14 -0
  1480. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple.cxx +266 -0
  1481. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple_elem_bug_test.cxx +38 -0
  1482. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/variadic.c +12 -0
  1483. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/variadic.cpp +12 -0
  1484. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/variadic.cxx +56 -0
  1485. data/ext/enterprise_script_service/msgpack/include/msgpack/pack.h +24 -1
  1486. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/array_ref.hpp +5 -4
  1487. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/boost/optional.hpp +4 -4
  1488. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp +8 -8
  1489. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/map.hpp +4 -4
  1490. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector.hpp +4 -4
  1491. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_char.hpp +8 -8
  1492. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +8 -8
  1493. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/wstring.hpp +4 -4
  1494. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/unpack.hpp +6 -6
  1495. data/ext/enterprise_script_service/msgpack/include/msgpack/version_master.h +2 -2
  1496. data/ext/enterprise_script_service/msgpack/include/msgpack/zbuffer.h +4 -4
  1497. data/ext/enterprise_script_service/msgpack/make_file_list.sh +38 -11
  1498. data/ext/enterprise_script_service/msgpack/src/vrefbuffer.c +6 -0
  1499. data/ext/enterprise_script_service/msgpack/test/CMakeLists.txt +86 -64
  1500. data/ext/enterprise_script_service/msgpack/test/array_ref.cpp +4 -0
  1501. data/ext/enterprise_script_service/msgpack/test/boost_fusion.cpp +4 -0
  1502. data/ext/enterprise_script_service/msgpack/test/boost_optional.cpp +4 -0
  1503. data/ext/enterprise_script_service/msgpack/test/boost_string_ref.cpp +4 -1
  1504. data/ext/enterprise_script_service/msgpack/test/boost_string_view.cpp +4 -0
  1505. data/ext/enterprise_script_service/msgpack/test/boost_variant.cpp +4 -0
  1506. data/ext/enterprise_script_service/msgpack/test/buffer.cpp +4 -47
  1507. data/ext/enterprise_script_service/msgpack/test/buffer_c.cpp +148 -0
  1508. data/ext/enterprise_script_service/msgpack/test/carray.cpp +4 -0
  1509. data/ext/enterprise_script_service/msgpack/test/cases.cpp +8 -4
  1510. data/ext/enterprise_script_service/msgpack/test/convert.cpp +8 -4
  1511. data/ext/enterprise_script_service/msgpack/test/fixint.cpp +4 -0
  1512. data/ext/enterprise_script_service/msgpack/test/fixint_c.cpp +4 -0
  1513. data/ext/enterprise_script_service/msgpack/test/fuzz_unpack_pack_fuzzer_cpp11.cpp +4 -0
  1514. data/ext/enterprise_script_service/msgpack/test/iterator_cpp11.cpp +4 -0
  1515. data/ext/enterprise_script_service/msgpack/test/json.cpp +4 -0
  1516. data/ext/enterprise_script_service/msgpack/test/limit.cpp +8 -4
  1517. data/ext/enterprise_script_service/msgpack/test/msgpack_basic.cpp +4 -0
  1518. data/ext/enterprise_script_service/msgpack/test/msgpack_c.cpp +159 -0
  1519. data/ext/enterprise_script_service/msgpack/test/msgpack_container.cpp +4 -0
  1520. data/ext/enterprise_script_service/msgpack/test/msgpack_cpp11.cpp +32 -27
  1521. data/ext/enterprise_script_service/msgpack/test/msgpack_cpp17.cpp +4 -0
  1522. data/ext/enterprise_script_service/msgpack/test/msgpack_stream.cpp +4 -0
  1523. data/ext/enterprise_script_service/msgpack/test/msgpack_tuple.cpp +4 -1
  1524. data/ext/enterprise_script_service/msgpack/test/msgpack_vref.cpp +4 -0
  1525. data/ext/enterprise_script_service/msgpack/test/msgpack_x3_parse.cpp +4 -0
  1526. data/ext/enterprise_script_service/msgpack/test/object.cpp +4 -1
  1527. data/ext/enterprise_script_service/msgpack/test/object_with_zone.cpp +12 -8
  1528. data/ext/enterprise_script_service/msgpack/test/pack_unpack.cpp +30 -26
  1529. data/ext/enterprise_script_service/msgpack/test/pack_unpack_c.cpp +4 -0
  1530. data/ext/enterprise_script_service/msgpack/test/raw.cpp +4 -0
  1531. data/ext/enterprise_script_service/msgpack/test/reference.cpp +4 -0
  1532. data/ext/enterprise_script_service/msgpack/test/reference_cpp11.cpp +4 -0
  1533. data/ext/enterprise_script_service/msgpack/test/reference_wrapper_cpp11.cpp +4 -0
  1534. data/ext/enterprise_script_service/msgpack/test/shared_ptr_cpp11.cpp +4 -0
  1535. data/ext/enterprise_script_service/msgpack/test/size_equal_only.cpp +4 -0
  1536. data/ext/enterprise_script_service/msgpack/test/streaming.cpp +8 -4
  1537. data/ext/enterprise_script_service/msgpack/test/streaming_c.cpp +4 -0
  1538. data/ext/enterprise_script_service/msgpack/test/unique_ptr_cpp11.cpp +4 -0
  1539. data/ext/enterprise_script_service/msgpack/test/user_class.cpp +16 -12
  1540. data/ext/enterprise_script_service/msgpack/test/version.cpp +4 -0
  1541. data/ext/enterprise_script_service/msgpack/test/visitor.cpp +4 -0
  1542. data/ext/enterprise_script_service/msgpack/test/zone.cpp +4 -0
  1543. data/ext/enterprise_script_service/timer.cpp +8 -28
  1544. data/ext/enterprise_script_service/timer.hpp +3 -2
  1545. data/lib/script_core/version.rb +1 -1
  1546. data/script_core.gemspec +1 -1
  1547. data/spec/dummy/db/schema.rb +3 -3
  1548. data/spec/script_core_spec.rb +13 -0
  1549. data/tests/timer_test.cpp +13 -5
  1550. metadata +1166 -48
  1551. data/.ruby-version +0 -1
  1552. data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +0 -559
  1553. data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +0 -570
  1554. data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +0 -562
  1555. data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +0 -562
  1556. data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +0 -562
  1557. data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +0 -542
  1558. data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +0 -559
  1559. data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +0 -559
  1560. data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +0 -626
  1561. data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +0 -626
  1562. data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +0 -558
  1563. data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +0 -692
  1564. data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +0 -559
  1565. data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.tests +0 -32
  1566. data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.tests +0 -32
  1567. data/ext/enterprise_script_service/mruby/TODO +0 -8
  1568. data/ext/enterprise_script_service/mruby/benchmark/build_config_boxing.rb +0 -28
  1569. data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_arm64-v8a.rb +0 -26
  1570. data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_armeabi.rb +0 -26
  1571. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/kernel.c +0 -30
  1572. data/ext/enterprise_script_service/mruby/mrblib/mrblib.rake +0 -18
  1573. data/ext/enterprise_script_service/mruby/src/crc.c +0 -39
  1574. data/ext/enterprise_script_service/mruby/src/mruby_core.rake +0 -19
  1575. data/ext/enterprise_script_service/mruby/travis_config.rb +0 -54
  1576. data/ext/enterprise_script_service/msgpack/.travis.yml +0 -258
@@ -6,7 +6,9 @@
6
6
 
7
7
  #include <stddef.h>
8
8
  #include <stdarg.h>
9
+ #ifndef MRB_NO_FLOAT
9
10
  #include <math.h>
11
+ #endif
10
12
  #include <mruby.h>
11
13
  #include <mruby/array.h>
12
14
  #include <mruby/class.h>
@@ -21,8 +23,10 @@
21
23
  #include <mruby/opcode.h>
22
24
  #include "value_array.h"
23
25
  #include <mruby/throw.h>
26
+ #include <mruby/dump.h>
27
+ #include <mruby/presym.h>
24
28
 
25
- #ifdef MRB_DISABLE_STDIO
29
+ #ifdef MRB_NO_STDIO
26
30
  #if defined(__cplusplus)
27
31
  extern "C" {
28
32
  #endif
@@ -35,14 +39,6 @@ void abort(void);
35
39
  #define STACK_INIT_SIZE 128
36
40
  #define CALLINFO_INIT_SIZE 32
37
41
 
38
- #ifndef ENSURE_STACK_INIT_SIZE
39
- #define ENSURE_STACK_INIT_SIZE 16
40
- #endif
41
-
42
- #ifndef RESCUE_STACK_INIT_SIZE
43
- #define RESCUE_STACK_INIT_SIZE 16
44
- #endif
45
-
46
42
  /* Define amount of linear stack growth. */
47
43
  #ifndef MRB_STACK_GROWTH
48
44
  #define MRB_STACK_GROWTH 128
@@ -53,11 +49,6 @@ void abort(void);
53
49
  #define MRB_FUNCALL_DEPTH_MAX 512
54
50
  #endif
55
51
 
56
- /* Maximum depth of ecall() recursion. */
57
- #ifndef MRB_ECALL_DEPTH_MAX
58
- #define MRB_ECALL_DEPTH_MAX 512
59
- #endif
60
-
61
52
  /* Maximum stack depth. Should be set lower on memory constrained systems.
62
53
  The value below allows about 60000 recursive calls in the simplest case. */
63
54
  #ifndef MRB_STACK_MAX
@@ -100,26 +91,20 @@ void mrb_method_missing(mrb_state *mrb, mrb_sym name, mrb_value self, mrb_value
100
91
  static inline void
101
92
  stack_clear(mrb_value *from, size_t count)
102
93
  {
103
- #ifndef MRB_NAN_BOXING
104
- const mrb_value mrb_value_zero = { { 0 } };
105
-
106
- while (count-- > 0) {
107
- *from++ = mrb_value_zero;
108
- }
109
- #else
94
+ #ifdef MRB_NAN_BOXING
110
95
  while (count-- > 0) {
111
96
  SET_NIL_VALUE(*from);
112
97
  from++;
113
98
  }
99
+ #else
100
+ memset(from, 0, sizeof(mrb_value)*count);
114
101
  #endif
115
102
  }
116
103
 
117
104
  static inline void
118
105
  stack_copy(mrb_value *dst, const mrb_value *src, size_t size)
119
106
  {
120
- while (size-- > 0) {
121
- *dst++ = *src++;
122
- }
107
+ memcpy(dst, src, sizeof(mrb_value)*size);
123
108
  }
124
109
 
125
110
  static void
@@ -130,14 +115,13 @@ stack_init(mrb_state *mrb)
130
115
  /* mrb_assert(mrb->stack == NULL); */
131
116
  c->stbase = (mrb_value *)mrb_calloc(mrb, STACK_INIT_SIZE, sizeof(mrb_value));
132
117
  c->stend = c->stbase + STACK_INIT_SIZE;
133
- c->stack = c->stbase;
134
118
 
135
119
  /* mrb_assert(ci == NULL); */
136
120
  c->cibase = (mrb_callinfo *)mrb_calloc(mrb, CALLINFO_INIT_SIZE, sizeof(mrb_callinfo));
137
121
  c->ciend = c->cibase + CALLINFO_INIT_SIZE;
138
122
  c->ci = c->cibase;
139
- c->ci->target_class = mrb->object_class;
140
- c->ci->stackent = c->stack;
123
+ c->ci->u.target_class = mrb->object_class;
124
+ c->ci->stack = c->stbase;
141
125
  }
142
126
 
143
127
  static inline void
@@ -147,20 +131,20 @@ envadjust(mrb_state *mrb, mrb_value *oldbase, mrb_value *newbase, size_t oldsize
147
131
 
148
132
  if (newbase == oldbase) return;
149
133
  while (ci <= mrb->c->ci) {
150
- struct REnv *e = ci->env;
134
+ struct REnv *e = mrb_vm_ci_env(ci);
151
135
  mrb_value *st;
152
136
 
153
- if (e && MRB_ENV_STACK_SHARED_P(e) &&
137
+ if (e && MRB_ENV_ONSTACK_P(e) &&
154
138
  (st = e->stack) && oldbase <= st && st < oldbase+oldsize) {
155
139
  ptrdiff_t off = e->stack - oldbase;
156
140
 
157
141
  e->stack = newbase + off;
158
142
  }
159
143
 
160
- if (ci->proc && MRB_PROC_ENV_P(ci->proc) && ci->env != MRB_PROC_ENV(ci->proc)) {
144
+ if (ci->proc && MRB_PROC_ENV_P(ci->proc) && e != MRB_PROC_ENV(ci->proc)) {
161
145
  e = MRB_PROC_ENV(ci->proc);
162
146
 
163
- if (e && MRB_ENV_STACK_SHARED_P(e) &&
147
+ if (e && MRB_ENV_ONSTACK_P(e) &&
164
148
  (st = e->stack) && oldbase <= st && st < oldbase+oldsize) {
165
149
  ptrdiff_t off = e->stack - oldbase;
166
150
 
@@ -168,7 +152,7 @@ envadjust(mrb_state *mrb, mrb_value *oldbase, mrb_value *newbase, size_t oldsize
168
152
  }
169
153
  }
170
154
 
171
- ci->stackent = newbase + (ci->stackent - oldbase);
155
+ ci->stack = newbase + (ci->stack - oldbase);
172
156
  ci++;
173
157
  }
174
158
  }
@@ -182,7 +166,7 @@ stack_extend_alloc(mrb_state *mrb, mrb_int room)
182
166
  mrb_value *newstack;
183
167
  size_t oldsize = mrb->c->stend - mrb->c->stbase;
184
168
  size_t size = oldsize;
185
- size_t off = mrb->c->stack - mrb->c->stbase;
169
+ size_t off = mrb->c->ci->stack ? mrb->c->stend - mrb->c->ci->stack : 0;
186
170
 
187
171
  if (off > size) size = off;
188
172
  #ifdef MRB_STACK_EXTEND_DOUBLING
@@ -200,14 +184,13 @@ stack_extend_alloc(mrb_state *mrb, mrb_int room)
200
184
  size += room;
201
185
  #endif
202
186
 
203
- newstack = (mrb_value *)mrb_realloc(mrb, mrb->c->stbase, sizeof(mrb_value) * size);
187
+ newstack = (mrb_value *)mrb_realloc_simple(mrb, mrb->c->stbase, sizeof(mrb_value) * size);
204
188
  if (newstack == NULL) {
205
189
  mrb_exc_raise(mrb, mrb_obj_value(mrb->stack_err));
206
190
  }
207
191
  stack_clear(&(newstack[oldsize]), size - oldsize);
208
192
  envadjust(mrb, oldbase, newstack, oldsize);
209
193
  mrb->c->stbase = newstack;
210
- mrb->c->stack = mrb->c->stbase + off;
211
194
  mrb->c->stend = mrb->c->stbase + size;
212
195
 
213
196
  /* Raise an exception if the new stack size will be too large,
@@ -220,15 +203,15 @@ stack_extend_alloc(mrb_state *mrb, mrb_int room)
220
203
  MRB_API void
221
204
  mrb_stack_extend(mrb_state *mrb, mrb_int room)
222
205
  {
223
- if (mrb->c->stack + room >= mrb->c->stend) {
206
+ if (!mrb->c->ci->stack || mrb->c->ci->stack + room >= mrb->c->stend) {
224
207
  stack_extend_alloc(mrb, room);
225
208
  }
226
209
  }
227
210
 
228
211
  static inline struct REnv*
229
- uvenv(mrb_state *mrb, int up)
212
+ uvenv(mrb_state *mrb, mrb_int up)
230
213
  {
231
- struct RProc *proc = mrb->c->ci->proc;
214
+ const struct RProc *proc = mrb->c->ci->proc;
232
215
  struct REnv *e;
233
216
 
234
217
  while (up--) {
@@ -243,7 +226,7 @@ uvenv(mrb_state *mrb, int up)
243
226
 
244
227
  while (cb <= ci) {
245
228
  if (ci->proc == proc) {
246
- return ci->env;
229
+ return mrb_vm_ci_env(ci);
247
230
  }
248
231
  ci--;
249
232
  }
@@ -251,8 +234,8 @@ uvenv(mrb_state *mrb, int up)
251
234
  return NULL;
252
235
  }
253
236
 
254
- static inline struct RProc*
255
- top_proc(mrb_state *mrb, struct RProc *proc)
237
+ static inline const struct RProc*
238
+ top_proc(mrb_state *mrb, const struct RProc *proc)
256
239
  {
257
240
  while (proc->upper) {
258
241
  if (MRB_PROC_SCOPE_P(proc) || MRB_PROC_STRICT_P(proc))
@@ -267,14 +250,12 @@ top_proc(mrb_state *mrb, struct RProc *proc)
267
250
  #define CI_ACC_RESUMED -3
268
251
 
269
252
  static inline mrb_callinfo*
270
- cipush(mrb_state *mrb)
253
+ cipush(mrb_state *mrb, mrb_int push_stacks, mrb_int acc,
254
+ struct RClass *target_class, const struct RProc *proc, mrb_sym mid, mrb_int argc)
271
255
  {
272
256
  struct mrb_context *c = mrb->c;
273
- static const mrb_callinfo ci_zero = { 0 };
274
257
  mrb_callinfo *ci = c->ci;
275
258
 
276
- int ridx = ci->ridx;
277
-
278
259
  if (ci + 1 == c->ciend) {
279
260
  ptrdiff_t size = ci - c->cibase;
280
261
 
@@ -283,9 +264,12 @@ cipush(mrb_state *mrb)
283
264
  c->ciend = c->cibase + size * 2;
284
265
  }
285
266
  ci = ++c->ci;
286
- *ci = ci_zero;
287
- ci->epos = mrb->c->eidx;
288
- ci->ridx = ridx;
267
+ ci->mid = mid;
268
+ mrb_vm_ci_proc_set(ci, proc);
269
+ ci->stack = ci[-1].stack + push_stacks;
270
+ ci->argc = (int16_t)argc;
271
+ ci->acc = (int16_t)acc;
272
+ ci->u.target_class = target_class;
289
273
 
290
274
  return ci;
291
275
  }
@@ -295,86 +279,35 @@ mrb_env_unshare(mrb_state *mrb, struct REnv *e)
295
279
  {
296
280
  if (e == NULL) return;
297
281
  else {
298
- size_t len = (size_t)MRB_ENV_STACK_LEN(e);
282
+ size_t len = (size_t)MRB_ENV_LEN(e);
299
283
  mrb_value *p;
300
284
 
301
- if (!MRB_ENV_STACK_SHARED_P(e)) return;
285
+ if (!MRB_ENV_ONSTACK_P(e)) return;
302
286
  if (e->cxt != mrb->c) return;
303
- if (e == mrb->c->cibase->env) return; /* for mirb */
287
+ if (e == mrb_vm_ci_env(mrb->c->cibase)) return; /* for mirb */
304
288
  p = (mrb_value *)mrb_malloc(mrb, sizeof(mrb_value)*len);
305
289
  if (len > 0) {
306
290
  stack_copy(p, e->stack, len);
307
291
  }
308
292
  e->stack = p;
309
- MRB_ENV_UNSHARE_STACK(e);
293
+ MRB_ENV_CLOSE(e);
310
294
  mrb_write_barrier(mrb, (struct RBasic *)e);
311
295
  }
312
296
  }
313
297
 
314
- static inline void
298
+ static inline mrb_callinfo*
315
299
  cipop(mrb_state *mrb)
316
300
  {
317
301
  struct mrb_context *c = mrb->c;
318
- struct REnv *env = c->ci->env;
302
+ struct REnv *env = mrb_vm_ci_env(c->ci);
319
303
 
320
304
  c->ci--;
321
305
  if (env) mrb_env_unshare(mrb, env);
306
+ return c->ci;
322
307
  }
323
308
 
324
309
  void mrb_exc_set(mrb_state *mrb, mrb_value exc);
325
-
326
- static void
327
- ecall(mrb_state *mrb)
328
- {
329
- struct RProc *p;
330
- struct mrb_context *c = mrb->c;
331
- mrb_callinfo *ci = c->ci;
332
- struct RObject *exc;
333
- struct REnv *env;
334
- ptrdiff_t cioff;
335
- int ai = mrb_gc_arena_save(mrb);
336
- uint16_t i = --c->eidx;
337
- int nregs;
338
-
339
- if (i<0) return;
340
- /* restrict total call depth of ecall() */
341
- if (++mrb->ecall_nest > MRB_ECALL_DEPTH_MAX) {
342
- mrb_exc_raise(mrb, mrb_obj_value(mrb->stack_err));
343
- }
344
- p = c->ensure[i];
345
- if (!p) return;
346
- mrb_assert(!MRB_PROC_CFUNC_P(p));
347
- c->ensure[i] = NULL;
348
- nregs = p->upper->body.irep->nregs;
349
- if (ci->proc && !MRB_PROC_CFUNC_P(ci->proc) &&
350
- ci->proc->body.irep->nregs > nregs) {
351
- nregs = ci->proc->body.irep->nregs;
352
- }
353
- cioff = ci - c->cibase;
354
- ci = cipush(mrb);
355
- ci->stackent = mrb->c->stack;
356
- ci->mid = ci[-1].mid;
357
- ci->acc = CI_ACC_SKIP;
358
- ci->argc = 0;
359
- ci->proc = p;
360
- ci->target_class = MRB_PROC_TARGET_CLASS(p);
361
- env = MRB_PROC_ENV(p);
362
- mrb_assert(env);
363
- c->stack += nregs;
364
- exc = mrb->exc; mrb->exc = 0;
365
- if (exc) {
366
- mrb_gc_protect(mrb, mrb_obj_value(exc));
367
- }
368
- if (mrb->c->fib) {
369
- mrb_gc_protect(mrb, mrb_obj_value(mrb->c->fib));
370
- }
371
- mrb_run(mrb, p, env->stack[0]);
372
- mrb->c = c;
373
- c->ci = c->cibase + cioff;
374
- if (!mrb->exc) mrb->exc = exc;
375
- mrb_gc_arena_restore(mrb, ai);
376
- mrb->ecall_nest--;
377
- }
310
+ static mrb_value mrb_run(mrb_state *mrb, const struct RProc* proc, mrb_value self);
378
311
 
379
312
  #ifndef MRB_FUNCALL_ARGC_MAX
380
313
  #define MRB_FUNCALL_ARGC_MAX 16
@@ -400,11 +333,30 @@ mrb_funcall(mrb_state *mrb, mrb_value self, const char *name, mrb_int argc, ...)
400
333
  return mrb_funcall_argv(mrb, self, mid, argc, argv);
401
334
  }
402
335
 
403
- static int
336
+ MRB_API mrb_value
337
+ mrb_funcall_id(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc, ...)
338
+ {
339
+ mrb_value argv[MRB_FUNCALL_ARGC_MAX];
340
+ va_list ap;
341
+ mrb_int i;
342
+
343
+ if (argc > MRB_FUNCALL_ARGC_MAX) {
344
+ mrb_raise(mrb, E_ARGUMENT_ERROR, "Too long arguments. (limit=" MRB_STRINGIZE(MRB_FUNCALL_ARGC_MAX) ")");
345
+ }
346
+
347
+ va_start(ap, argc);
348
+ for (i = 0; i < argc; i++) {
349
+ argv[i] = va_arg(ap, mrb_value);
350
+ }
351
+ va_end(ap);
352
+ return mrb_funcall_argv(mrb, self, mid, argc, argv);
353
+ }
354
+
355
+ static mrb_int
404
356
  ci_nregs(mrb_callinfo *ci)
405
357
  {
406
- struct RProc *p;
407
- int n = 0;
358
+ const struct RProc *p;
359
+ mrb_int n = 0;
408
360
 
409
361
  if (!ci) return 3;
410
362
  p = ci->proc;
@@ -428,6 +380,7 @@ MRB_API mrb_value
428
380
  mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc, const mrb_value *argv, mrb_value blk)
429
381
  {
430
382
  mrb_value val;
383
+ int ai = mrb_gc_arena_save(mrb);
431
384
 
432
385
  if (!mrb->jmp) {
433
386
  struct mrb_jmpbuf c_jmp;
@@ -441,7 +394,6 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc
441
394
  }
442
395
  MRB_CATCH(&c_jmp) { /* error */
443
396
  while (nth_ci < (mrb->c->ci - mrb->c->cibase)) {
444
- mrb->c->stack = mrb->c->ci->stackent;
445
397
  cipop(mrb);
446
398
  }
447
399
  mrb->jmp = 0;
@@ -454,10 +406,10 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc
454
406
  mrb_method_t m;
455
407
  struct RClass *c;
456
408
  mrb_callinfo *ci;
457
- int n = ci_nregs(mrb->c->ci);
409
+ mrb_int n = ci_nregs(mrb->c->ci);
458
410
  ptrdiff_t voff = -1;
459
411
 
460
- if (!mrb->c->stack) {
412
+ if (!mrb->c->stbase) {
461
413
  stack_init(mrb);
462
414
  }
463
415
  if (argc < 0) {
@@ -466,7 +418,7 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc
466
418
  c = mrb_class(mrb, self);
467
419
  m = mrb_method_search_vm(mrb, &c, mid);
468
420
  if (MRB_METHOD_UNDEF_P(m)) {
469
- mrb_sym missing = mrb_intern_lit(mrb, "method_missing");
421
+ mrb_sym missing = MRB_SYM(method_missing);
470
422
  mrb_value args = mrb_ary_new_from_values(mrb, argc, argv);
471
423
  m = mrb_method_search_vm(mrb, &c, missing);
472
424
  if (MRB_METHOD_UNDEF_P(m)) {
@@ -474,18 +426,13 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc
474
426
  }
475
427
  mrb_ary_unshift(mrb, args, mrb_symbol_value(mid));
476
428
  mrb_stack_extend(mrb, n+2);
477
- mrb->c->stack[n+1] = args;
429
+ mrb->c->ci->stack[n+1] = args;
478
430
  argc = -1;
479
431
  }
480
432
  if (mrb->c->ci - mrb->c->cibase > MRB_FUNCALL_DEPTH_MAX) {
481
433
  mrb_exc_raise(mrb, mrb_obj_value(mrb->stack_err));
482
434
  }
483
- ci = cipush(mrb);
484
- ci->mid = mid;
485
- ci->stackent = mrb->c->stack;
486
- ci->argc = (int)argc;
487
- ci->target_class = c;
488
- mrb->c->stack = mrb->c->stack + n;
435
+ ci = cipush(mrb, n, 0, c, NULL, mid, argc);
489
436
  if (argc < 0) argc = 1;
490
437
  if (mrb->c->stbase <= argv && argv < mrb->c->stend) {
491
438
  voff = argv - mrb->c->stbase;
@@ -493,7 +440,7 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc
493
440
  if (argc >= CALL_MAXARGS) {
494
441
  mrb_value args = mrb_ary_new_from_values(mrb, argc, argv);
495
442
 
496
- mrb->c->stack[1] = args;
443
+ mrb->c->ci->stack[1] = args;
497
444
  ci->argc = -1;
498
445
  argc = 1;
499
446
  }
@@ -501,7 +448,7 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc
501
448
  if (MRB_METHOD_PROC_P(m)) {
502
449
  struct RProc *p = MRB_METHOD_PROC(m);
503
450
 
504
- ci->proc = p;
451
+ mrb_vm_ci_proc_set(ci, p);
505
452
  if (!MRB_PROC_CFUNC_P(p)) {
506
453
  mrb_stack_extend(mrb, p->body.irep->nregs + argc);
507
454
  }
@@ -509,26 +456,23 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc
509
456
  if (voff >= 0) {
510
457
  argv = mrb->c->stbase + voff;
511
458
  }
512
- mrb->c->stack[0] = self;
459
+ mrb->c->ci->stack[0] = self;
513
460
  if (ci->argc > 0) {
514
- stack_copy(mrb->c->stack+1, argv, argc);
461
+ stack_copy(mrb->c->ci->stack+1, argv, argc);
515
462
  }
516
- mrb->c->stack[argc+1] = blk;
463
+ mrb->c->ci->stack[argc+1] = blk;
517
464
 
518
465
  if (MRB_METHOD_CFUNC_P(m)) {
519
- int ai = mrb_gc_arena_save(mrb);
520
-
521
466
  ci->acc = CI_ACC_DIRECT;
522
467
  val = MRB_METHOD_CFUNC(m)(mrb, self);
523
- mrb->c->stack = mrb->c->ci->stackent;
524
468
  cipop(mrb);
525
- mrb_gc_arena_restore(mrb, ai);
526
469
  }
527
470
  else {
528
471
  ci->acc = CI_ACC_SKIP;
529
472
  val = mrb_run(mrb, MRB_METHOD_PROC(m), self);
530
473
  }
531
474
  }
475
+ mrb_gc_arena_restore(mrb, ai);
532
476
  mrb_gc_protect(mrb, val);
533
477
  return val;
534
478
  }
@@ -543,10 +487,10 @@ mrb_value
543
487
  mrb_exec_irep(mrb_state *mrb, mrb_value self, struct RProc *p)
544
488
  {
545
489
  mrb_callinfo *ci = mrb->c->ci;
546
- int keep, nregs;
490
+ mrb_int keep, nregs;
547
491
 
548
- mrb->c->stack[0] = self;
549
- ci->proc = p;
492
+ mrb->c->ci->stack[0] = self;
493
+ mrb_vm_ci_proc_set(ci, p);
550
494
  if (MRB_PROC_CFUNC_P(p)) {
551
495
  return MRB_PROC_CFUNC(p)(mrb, self);
552
496
  }
@@ -558,14 +502,10 @@ mrb_exec_irep(mrb_state *mrb, mrb_value self, struct RProc *p)
558
502
  }
559
503
  else {
560
504
  mrb_stack_extend(mrb, nregs);
561
- stack_clear(mrb->c->stack+keep, nregs-keep);
505
+ stack_clear(mrb->c->ci->stack+keep, nregs-keep);
562
506
  }
563
507
 
564
- ci = cipush(mrb);
565
- ci->target_class = 0;
566
- ci->pc = p->body.irep->iseq;
567
- ci->stackent = mrb->c->stack;
568
- ci->acc = 0;
508
+ cipush(mrb, 0, 0, NULL, NULL, 0, 0);
569
509
 
570
510
  return self;
571
511
  }
@@ -593,7 +533,8 @@ mrb_value
593
533
  mrb_f_send(mrb_state *mrb, mrb_value self)
594
534
  {
595
535
  mrb_sym name;
596
- mrb_value block, *argv, *regs;
536
+ mrb_value block, *regs;
537
+ const mrb_value *argv;
597
538
  mrb_int argc, i, len;
598
539
  mrb_method_t m;
599
540
  struct RClass *c;
@@ -613,8 +554,8 @@ mrb_f_send(mrb_state *mrb, mrb_value self)
613
554
  }
614
555
 
615
556
  ci->mid = name;
616
- ci->target_class = c;
617
- regs = mrb->c->stack+1;
557
+ ci->u.target_class = c;
558
+ regs = mrb->c->ci->stack+1;
618
559
  /* remove first symbol from arguments */
619
560
  if (ci->argc >= 0) {
620
561
  for (i=0,len=ci->argc; i<len; i++) {
@@ -623,12 +564,12 @@ mrb_f_send(mrb_state *mrb, mrb_value self)
623
564
  ci->argc--;
624
565
  }
625
566
  else { /* variable length arguments */
626
- mrb_ary_shift(mrb, regs[0]);
567
+ regs[0] = mrb_ary_subseq(mrb, regs[0], 1, RARRAY_LEN(regs[0]) - 1);
627
568
  }
628
569
 
629
570
  if (MRB_METHOD_CFUNC_P(m)) {
630
571
  if (MRB_METHOD_PROC_P(m)) {
631
- ci->proc = MRB_METHOD_PROC(m);
572
+ mrb_vm_ci_proc_set(ci, MRB_METHOD_PROC(m));
632
573
  }
633
574
  return MRB_METHOD_CFUNC(m)(mrb, self);
634
575
  }
@@ -647,32 +588,27 @@ eval_under(mrb_state *mrb, mrb_value self, mrb_value blk, struct RClass *c)
647
588
  }
648
589
  ci = mrb->c->ci;
649
590
  if (ci->acc == CI_ACC_DIRECT) {
650
- ci->target_class = c;
651
- return mrb_yield_cont(mrb, blk, self, 1, &self);
591
+ return mrb_yield_with_class(mrb, blk, 1, &self, self, c);
652
592
  }
653
- ci->target_class = c;
593
+ ci->u.target_class = c;
654
594
  p = mrb_proc_ptr(blk);
655
- ci->proc = p;
595
+ mrb_vm_ci_proc_set(ci, p);
656
596
  ci->argc = 1;
657
597
  ci->mid = ci[-1].mid;
658
598
  if (MRB_PROC_CFUNC_P(p)) {
659
599
  mrb_stack_extend(mrb, 3);
660
- mrb->c->stack[0] = self;
661
- mrb->c->stack[1] = self;
662
- mrb->c->stack[2] = mrb_nil_value();
600
+ mrb->c->ci->stack[0] = self;
601
+ mrb->c->ci->stack[1] = self;
602
+ mrb->c->ci->stack[2] = mrb_nil_value();
663
603
  return MRB_PROC_CFUNC(p)(mrb, self);
664
604
  }
665
605
  nregs = p->body.irep->nregs;
666
606
  if (nregs < 3) nregs = 3;
667
607
  mrb_stack_extend(mrb, nregs);
668
- mrb->c->stack[0] = self;
669
- mrb->c->stack[1] = self;
670
- stack_clear(mrb->c->stack+2, nregs-2);
671
- ci = cipush(mrb);
672
- ci->target_class = 0;
673
- ci->pc = p->body.irep->iseq;
674
- ci->stackent = mrb->c->stack;
675
- ci->acc = 0;
608
+ mrb->c->ci->stack[0] = self;
609
+ mrb->c->ci->stack[1] = self;
610
+ stack_clear(mrb->c->ci->stack+2, nregs-2);
611
+ ci = cipush(mrb, 0, 0, NULL, NULL, 0, 0);
676
612
 
677
613
  return self;
678
614
  }
@@ -723,26 +659,11 @@ mrb_value
723
659
  mrb_obj_instance_eval(mrb_state *mrb, mrb_value self)
724
660
  {
725
661
  mrb_value a, b;
726
- mrb_value cv;
727
- struct RClass *c;
728
662
 
729
663
  if (mrb_get_args(mrb, "|S&", &a, &b) == 1) {
730
664
  mrb_raise(mrb, E_NOTIMP_ERROR, "instance_eval with string not implemented");
731
665
  }
732
- switch (mrb_type(self)) {
733
- case MRB_TT_SYMBOL:
734
- case MRB_TT_FIXNUM:
735
- #ifndef MRB_WITHOUT_FLOAT
736
- case MRB_TT_FLOAT:
737
- #endif
738
- c = 0;
739
- break;
740
- default:
741
- cv = mrb_singleton_class(mrb, self);
742
- c = mrb_class_ptr(cv);
743
- break;
744
- }
745
- return eval_under(mrb, self, b, c);
666
+ return eval_under(mrb, self, b, mrb_singleton_class_ptr(mrb, self));
746
667
  }
747
668
 
748
669
  MRB_API mrb_value
@@ -752,7 +673,7 @@ mrb_yield_with_class(mrb_state *mrb, mrb_value b, mrb_int argc, const mrb_value
752
673
  mrb_sym mid = mrb->c->ci->mid;
753
674
  mrb_callinfo *ci;
754
675
  mrb_value val;
755
- int n;
676
+ mrb_int n;
756
677
 
757
678
  if (mrb_nil_p(b)) {
758
679
  mrb_raise(mrb, E_ARGUMENT_ERROR, "no block given");
@@ -763,26 +684,28 @@ mrb_yield_with_class(mrb_state *mrb, mrb_value b, mrb_int argc, const mrb_value
763
684
  mrb_exc_raise(mrb, mrb_obj_value(mrb->stack_err));
764
685
  }
765
686
  p = mrb_proc_ptr(b);
766
- ci = cipush(mrb);
767
- ci->mid = mid;
768
- ci->proc = p;
769
- ci->stackent = mrb->c->stack;
770
- ci->argc = (int)argc;
771
- ci->target_class = c;
772
- ci->acc = CI_ACC_SKIP;
773
- n = MRB_PROC_CFUNC_P(p) ? (int)(argc+2) : p->body.irep->nregs;
774
- mrb->c->stack = mrb->c->stack + n;
687
+ ci = cipush(mrb, n, CI_ACC_SKIP, c, p, mid, 0 /* dummy */);
688
+ if (argc >= CALL_MAXARGS) {
689
+ ci->argc = -1;
690
+ n = 3;
691
+ }
692
+ else {
693
+ ci->argc = (int)argc;
694
+ n = argc + 2;
695
+ }
775
696
  mrb_stack_extend(mrb, n);
776
-
777
- mrb->c->stack[0] = self;
778
- if (argc > 0) {
779
- stack_copy(mrb->c->stack+1, argv, argc);
697
+ mrb->c->ci->stack[0] = self;
698
+ if (ci->argc < 0) {
699
+ mrb->c->ci->stack[1] = mrb_ary_new_from_values(mrb, argc, argv);
700
+ argc = 1;
701
+ }
702
+ else if (argc > 0) {
703
+ stack_copy(mrb->c->ci->stack+1, argv, argc);
780
704
  }
781
- mrb->c->stack[argc+1] = mrb_nil_value();
705
+ mrb->c->ci->stack[argc+1] = mrb_nil_value();
782
706
 
783
707
  if (MRB_PROC_CFUNC_P(p)) {
784
708
  val = MRB_PROC_CFUNC(p)(mrb, self);
785
- mrb->c->stack = mrb->c->ci->stackent;
786
709
  cipop(mrb);
787
710
  }
788
711
  else {
@@ -824,24 +747,63 @@ mrb_yield_cont(mrb_state *mrb, mrb_value b, mrb_value self, mrb_int argc, const
824
747
  ci = mrb->c->ci;
825
748
 
826
749
  mrb_stack_extend(mrb, 3);
827
- mrb->c->stack[1] = mrb_ary_new_from_values(mrb, argc, argv);
828
- mrb->c->stack[2] = mrb_nil_value();
750
+ mrb->c->ci->stack[1] = mrb_ary_new_from_values(mrb, argc, argv);
751
+ mrb->c->ci->stack[2] = mrb_nil_value();
829
752
  ci->argc = -1;
830
753
  return mrb_exec_irep(mrb, self, p);
831
754
  }
832
755
 
833
756
  static struct RBreak*
834
- break_new(mrb_state *mrb, struct RProc *p, mrb_value val)
757
+ break_new(mrb_state *mrb, uint32_t tag, const struct RProc *p, mrb_value val)
835
758
  {
836
759
  struct RBreak *brk;
837
760
 
838
761
  brk = (struct RBreak*)mrb_obj_alloc(mrb, MRB_TT_BREAK, NULL);
839
762
  mrb_break_proc_set(brk, p);
840
763
  mrb_break_value_set(brk, val);
764
+ mrb_break_tag_set(brk, tag);
841
765
 
842
766
  return brk;
843
767
  }
844
768
 
769
+ #define MRB_CATCH_FILTER_RESCUE (UINT32_C(1) << MRB_CATCH_RESCUE)
770
+ #define MRB_CATCH_FILTER_ENSURE (UINT32_C(1) << MRB_CATCH_ENSURE)
771
+ #define MRB_CATCH_FILTER_ALL (MRB_CATCH_FILTER_RESCUE | MRB_CATCH_FILTER_ENSURE)
772
+
773
+ static const struct mrb_irep_catch_handler *
774
+ catch_handler_find(mrb_state *mrb, mrb_callinfo *ci, const mrb_code *pc, uint32_t filter)
775
+ {
776
+ const mrb_irep *irep;
777
+ ptrdiff_t xpc;
778
+ size_t cnt;
779
+ const struct mrb_irep_catch_handler *e;
780
+
781
+ /* The comparison operators use `>` and `<=` because pc already points to the next instruction */
782
+ #define catch_cover_p(pc, beg, end) ((pc) > (ptrdiff_t)(beg) && (pc) <= (ptrdiff_t)(end))
783
+
784
+ if (ci->proc == NULL || MRB_PROC_CFUNC_P(ci->proc)) return NULL;
785
+ irep = ci->proc->body.irep;
786
+ if (irep->clen < 1) return NULL;
787
+ xpc = pc - irep->iseq;
788
+ /* If it retry at the top level, pc will be 0, so check with -1 as the start position */
789
+ mrb_assert(catch_cover_p(xpc, -1, irep->ilen));
790
+ if (!catch_cover_p(xpc, -1, irep->ilen)) return NULL;
791
+
792
+ /* Currently uses a simple linear search to avoid processing complexity. */
793
+ cnt = irep->clen;
794
+ e = mrb_irep_catch_handler_table(irep) + cnt - 1;
795
+ for (; cnt > 0; cnt --, e --) {
796
+ if (((UINT32_C(1) << e->type) & filter) &&
797
+ catch_cover_p(xpc, mrb_irep_catch_handler_unpack(e->begin), mrb_irep_catch_handler_unpack(e->end))) {
798
+ return e;
799
+ }
800
+ }
801
+
802
+ #undef catch_cover_p
803
+
804
+ return NULL;
805
+ }
806
+
845
807
  typedef enum {
846
808
  LOCALJUMP_ERROR_RETURN = 0,
847
809
  LOCALJUMP_ERROR_BREAK = 1,
@@ -872,7 +834,7 @@ argnum_error(mrb_state *mrb, mrb_int num)
872
834
  mrb_int argc = mrb->c->ci->argc;
873
835
 
874
836
  if (argc < 0) {
875
- mrb_value args = mrb->c->stack[1];
837
+ mrb_value args = mrb->c->ci->stack[1];
876
838
  if (mrb_array_p(args)) {
877
839
  argc = RARRAY_LEN(args);
878
840
  }
@@ -888,9 +850,71 @@ argnum_error(mrb_state *mrb, mrb_int num)
888
850
  mrb_exc_set(mrb, exc);
889
851
  }
890
852
 
891
- #define ERR_PC_SET(mrb) mrb->c->ci->err = pc0;
892
- #define ERR_PC_CLR(mrb) mrb->c->ci->err = 0;
893
- #ifdef MRB_ENABLE_DEBUG_HOOK
853
+ static mrb_bool
854
+ break_tag_p(struct RBreak *brk, uint32_t tag)
855
+ {
856
+ return (brk != NULL && brk->tt == MRB_TT_BREAK) ? TRUE : FALSE;
857
+ }
858
+
859
+ static void
860
+ prepare_tagged_break(mrb_state *mrb, uint32_t tag, const struct RProc *proc, mrb_value val)
861
+ {
862
+ if (break_tag_p((struct RBreak*)mrb->exc, tag)) {
863
+ mrb_break_tag_set((struct RBreak*)mrb->exc, tag);
864
+ }
865
+ else {
866
+ mrb->exc = (struct RObject*)break_new(mrb, tag, proc, val);
867
+ }
868
+ }
869
+
870
+ #define THROW_TAGGED_BREAK(mrb, tag, proc, val) \
871
+ do { \
872
+ prepare_tagged_break(mrb, tag, proc, val); \
873
+ goto L_CATCH_TAGGED_BREAK; \
874
+ } while (0)
875
+
876
+ #define UNWIND_ENSURE(mrb, ci, pc, tag, proc, val) \
877
+ do { \
878
+ ch = catch_handler_find(mrb, ci, pc, MRB_CATCH_FILTER_ENSURE); \
879
+ if (ch) { \
880
+ THROW_TAGGED_BREAK(mrb, tag, proc, val); \
881
+ } \
882
+ } while (0)
883
+
884
+ /*
885
+ * CHECKPOINT_RESTORE(tag) {
886
+ * This part is executed when jumping by the same "tag" of RBreak (it is not executed the first time).
887
+ * Write the code required (initialization of variables, etc.) for the subsequent processing.
888
+ * }
889
+ * CHECKPOINT_MAIN(tag) {
890
+ * This part is always executed.
891
+ * }
892
+ * CHECKPOINT_END(tag);
893
+ *
894
+ * ...
895
+ *
896
+ * // Jump to CHECKPOINT_RESTORE with the same "tag".
897
+ * goto CHECKPOINT_LABEL_MAKE(tag);
898
+ */
899
+
900
+ #define CHECKPOINT_LABEL_MAKE(tag) L_CHECKPOINT_ ## tag
901
+
902
+ #define CHECKPOINT_RESTORE(tag) \
903
+ do { \
904
+ if (FALSE) { \
905
+ CHECKPOINT_LABEL_MAKE(tag): \
906
+ do {
907
+
908
+ #define CHECKPOINT_MAIN(tag) \
909
+ } while (0); \
910
+ } \
911
+ do {
912
+
913
+ #define CHECKPOINT_END(tag) \
914
+ } while (0); \
915
+ } while (0)
916
+
917
+ #ifdef MRB_USE_DEBUG_HOOK
894
918
  #define CODE_FETCH_HOOK(mrb, irep, pc, regs) if ((mrb)->code_fetch_hook) (mrb)->code_fetch_hook((mrb), (irep), (pc), (regs));
895
919
  #else
896
920
  #define CODE_FETCH_HOOK(mrb, irep, pc, regs)
@@ -902,24 +926,24 @@ argnum_error(mrb_state *mrb, mrb_int num)
902
926
  #define BYTECODE_DECODER(x) (x)
903
927
  #endif
904
928
 
905
- #ifndef MRB_DISABLE_DIRECT_THREADING
929
+ #ifndef MRB_NO_DIRECT_THREADING
906
930
  #if defined __GNUC__ || defined __clang__ || defined __INTEL_COMPILER
907
931
  #define DIRECT_THREADED
908
932
  #endif
909
- #endif /* ifndef MRB_DISABLE_DIRECT_THREADING */
933
+ #endif /* ifndef MRB_NO_DIRECT_THREADING */
910
934
 
911
935
  #ifndef DIRECT_THREADED
912
936
 
913
937
  #define INIT_DISPATCH for (;;) { insn = BYTECODE_DECODER(*pc); CODE_FETCH_HOOK(mrb, irep, pc, regs); switch (insn) {
914
- #define CASE(insn,ops) case insn: pc0=pc++; FETCH_ ## ops ();; L_ ## insn ## _BODY:
915
- #define NEXT break
938
+ #define CASE(insn,ops) case insn: pc++; FETCH_ ## ops (); mrb->c->ci->pc = pc;
939
+ #define NEXT goto L_END_DISPATCH
916
940
  #define JUMP NEXT
917
- #define END_DISPATCH }}
941
+ #define END_DISPATCH L_END_DISPATCH:;}}
918
942
 
919
943
  #else
920
944
 
921
945
  #define INIT_DISPATCH JUMP; return mrb_nil_value();
922
- #define CASE(insn,ops) L_ ## insn: pc0=pc++; FETCH_ ## ops (); L_ ## insn ## _BODY:
946
+ #define CASE(insn,ops) L_ ## insn: pc++; FETCH_ ## ops (); mrb->c->ci->pc = pc;
923
947
  #define NEXT insn=BYTECODE_DECODER(*pc); CODE_FETCH_HOOK(mrb, irep, pc, regs); goto *optable[insn]
924
948
  #define JUMP NEXT
925
949
 
@@ -928,22 +952,22 @@ argnum_error(mrb_state *mrb, mrb_int num)
928
952
  #endif
929
953
 
930
954
  MRB_API mrb_value
931
- mrb_vm_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int stack_keep)
955
+ mrb_vm_run(mrb_state *mrb, const struct RProc *proc, mrb_value self, mrb_int stack_keep)
932
956
  {
933
- mrb_irep *irep = proc->body.irep;
957
+ const mrb_irep *irep = proc->body.irep;
934
958
  mrb_value result;
935
959
  struct mrb_context *c = mrb->c;
936
960
  ptrdiff_t cioff = c->ci - c->cibase;
937
- unsigned int nregs = irep->nregs;
961
+ mrb_int nregs = irep->nregs;
938
962
 
939
- if (!c->stack) {
963
+ if (!c->stbase) {
940
964
  stack_init(mrb);
941
965
  }
942
966
  if (stack_keep > nregs)
943
967
  nregs = stack_keep;
944
968
  mrb_stack_extend(mrb, nregs);
945
- stack_clear(c->stack + stack_keep, nregs - stack_keep);
946
- c->stack[0] = self;
969
+ stack_clear(c->ci->stack + stack_keep, nregs - stack_keep);
970
+ c->ci->stack[0] = self;
947
971
  result = mrb_vm_exec(mrb, proc, irep->iseq);
948
972
  if (mrb->c != c) {
949
973
  if (mrb->c->fib) {
@@ -960,8 +984,8 @@ mrb_vm_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int stac
960
984
  static mrb_bool
961
985
  check_target_class(mrb_state *mrb)
962
986
  {
963
- if (!mrb->c->ci->target_class) {
964
- mrb_value exc = mrb_exc_new_str_lit(mrb, E_TYPE_ERROR, "no target class or module");
987
+ if (!mrb_vm_ci_target_class(mrb->c->ci)) {
988
+ mrb_value exc = mrb_exc_new_lit(mrb, E_TYPE_ERROR, "no target class or module");
965
989
  mrb_exc_set(mrb, exc);
966
990
  return FALSE;
967
991
  }
@@ -971,21 +995,21 @@ check_target_class(mrb_state *mrb)
971
995
  void mrb_hash_check_kdict(mrb_state *mrb, mrb_value self);
972
996
 
973
997
  MRB_API mrb_value
974
- mrb_vm_exec(mrb_state *mrb, struct RProc *proc, const mrb_code *pc)
998
+ mrb_vm_exec(mrb_state *mrb, const struct RProc *proc, const mrb_code *pc)
975
999
  {
976
1000
  /* mrb_assert(MRB_PROC_CFUNC_P(proc)) */
977
- const mrb_code *pc0 = pc;
978
- mrb_irep *irep = proc->body.irep;
979
- mrb_value *pool = irep->pool;
980
- mrb_sym *syms = irep->syms;
1001
+ const mrb_irep *irep = proc->body.irep;
1002
+ const mrb_pool_value *pool = irep->pool;
1003
+ const mrb_sym *syms = irep->syms;
981
1004
  mrb_code insn;
982
1005
  int ai = mrb_gc_arena_save(mrb);
983
1006
  struct mrb_jmpbuf *prev_jmp = mrb->jmp;
984
1007
  struct mrb_jmpbuf c_jmp;
985
1008
  uint32_t a;
986
1009
  uint16_t b;
987
- uint8_t c;
1010
+ uint16_t c;
988
1011
  mrb_sym mid;
1012
+ const struct mrb_irep_catch_handler *ch;
989
1013
 
990
1014
  #ifdef DIRECT_THREADED
991
1015
  static void *optable[] = {
@@ -1008,9 +1032,9 @@ RETRY_TRY_BLOCK:
1008
1032
  goto L_RAISE;
1009
1033
  }
1010
1034
  mrb->jmp = &c_jmp;
1011
- mrb->c->ci->proc = proc;
1035
+ mrb_vm_ci_proc_set(mrb->c->ci, proc);
1012
1036
 
1013
- #define regs (mrb->c->stack)
1037
+ #define regs (mrb->c->ci->stack)
1014
1038
  INIT_DISPATCH {
1015
1039
  CASE(OP_NOP, Z) {
1016
1040
  /* do nothing */
@@ -1022,28 +1046,48 @@ RETRY_TRY_BLOCK:
1022
1046
  NEXT;
1023
1047
  }
1024
1048
 
1049
+ CASE(OP_LOADL16, BS) {
1050
+ goto op_loadl;
1051
+ }
1025
1052
  CASE(OP_LOADL, BB) {
1026
- #ifdef MRB_WORD_BOXING
1027
- mrb_value val = pool[b];
1028
- #ifndef MRB_WITHOUT_FLOAT
1029
- if (mrb_float_p(val)) {
1030
- val = mrb_float_value(mrb, mrb_float(val));
1031
- }
1032
- #endif
1033
- regs[a] = val;
1053
+ op_loadl:
1054
+ switch (pool[b].tt) { /* number */
1055
+ case IREP_TT_INT32:
1056
+ regs[a] = mrb_int_value(mrb, (mrb_int)pool[b].u.i32);
1057
+ break;
1058
+ case IREP_TT_INT64:
1059
+ #if defined(MRB_INT64)
1060
+ regs[a] = mrb_int_value(mrb, (mrb_int)pool[b].u.i64);
1061
+ break;
1034
1062
  #else
1035
- regs[a] = pool[b];
1063
+ #if defined(MRB_64BIT)
1064
+ if (INT32_MIN <= pool[b].u.i64 && pool[b].u.i64 <= INT32_MAX) {
1065
+ regs[a] = mrb_int_value(mrb, (mrb_int)pool[b].u.i64);
1066
+ break;
1067
+ }
1068
+ #endif
1069
+ goto L_INT_OVERFLOW;
1036
1070
  #endif
1071
+ #ifndef MRB_NO_FLOAT
1072
+ case IREP_TT_FLOAT:
1073
+ regs[a] = mrb_float_value(mrb, pool[b].u.f);
1074
+ break;
1075
+ #endif
1076
+ default:
1077
+ /* should not happen (tt:string) */
1078
+ regs[a] = mrb_nil_value();
1079
+ break;
1080
+ }
1037
1081
  NEXT;
1038
1082
  }
1039
1083
 
1040
1084
  CASE(OP_LOADI, BB) {
1041
- SET_INT_VALUE(regs[a], b);
1085
+ SET_FIXNUM_VALUE(regs[a], b);
1042
1086
  NEXT;
1043
1087
  }
1044
1088
 
1045
1089
  CASE(OP_LOADINEG, BB) {
1046
- SET_INT_VALUE(regs[a], -b);
1090
+ SET_FIXNUM_VALUE(regs[a], -b);
1047
1091
  NEXT;
1048
1092
  }
1049
1093
 
@@ -1057,7 +1101,17 @@ RETRY_TRY_BLOCK:
1057
1101
  CASE(OP_LOADI_6,B) goto L_LOADI;
1058
1102
  CASE(OP_LOADI_7, B) {
1059
1103
  L_LOADI:
1060
- SET_INT_VALUE(regs[a], (mrb_int)insn - (mrb_int)OP_LOADI_0);
1104
+ SET_FIXNUM_VALUE(regs[a], (mrb_int)insn - (mrb_int)OP_LOADI_0);
1105
+ NEXT;
1106
+ }
1107
+
1108
+ CASE(OP_LOADI16, BS) {
1109
+ SET_FIXNUM_VALUE(regs[a], (mrb_int)(int16_t)b);
1110
+ NEXT;
1111
+ }
1112
+
1113
+ CASE(OP_LOADI32, BSS) {
1114
+ SET_INT_VALUE(mrb, regs[a], (int32_t)(((uint32_t)b<<16)+c));
1061
1115
  NEXT;
1062
1116
  }
1063
1117
 
@@ -1066,6 +1120,11 @@ RETRY_TRY_BLOCK:
1066
1120
  NEXT;
1067
1121
  }
1068
1122
 
1123
+ CASE(OP_LOADSYM16, BS) {
1124
+ SET_SYM_VALUE(regs[a], syms[b]);
1125
+ NEXT;
1126
+ }
1127
+
1069
1128
  CASE(OP_LOADNIL, B) {
1070
1129
  SET_NIL_VALUE(regs[a]);
1071
1130
  NEXT;
@@ -1098,13 +1157,13 @@ RETRY_TRY_BLOCK:
1098
1157
  }
1099
1158
 
1100
1159
  CASE(OP_GETSV, BB) {
1101
- mrb_value val = mrb_vm_special_get(mrb, b);
1160
+ mrb_value val = mrb_vm_special_get(mrb, syms[b]);
1102
1161
  regs[a] = val;
1103
1162
  NEXT;
1104
1163
  }
1105
1164
 
1106
1165
  CASE(OP_SETSV, BB) {
1107
- mrb_vm_special_set(mrb, b, regs[a]);
1166
+ mrb_vm_special_set(mrb, syms[b], regs[a]);
1108
1167
  NEXT;
1109
1168
  }
1110
1169
 
@@ -1120,9 +1179,7 @@ RETRY_TRY_BLOCK:
1120
1179
 
1121
1180
  CASE(OP_GETCV, BB) {
1122
1181
  mrb_value val;
1123
- ERR_PC_SET(mrb);
1124
1182
  val = mrb_vm_cv_get(mrb, syms[b]);
1125
- ERR_PC_CLR(mrb);
1126
1183
  regs[a] = val;
1127
1184
  NEXT;
1128
1185
  }
@@ -1136,9 +1193,7 @@ RETRY_TRY_BLOCK:
1136
1193
  mrb_value val;
1137
1194
  mrb_sym sym = syms[b];
1138
1195
 
1139
- ERR_PC_SET(mrb);
1140
1196
  val = mrb_vm_const_get(mrb, sym);
1141
- ERR_PC_CLR(mrb);
1142
1197
  regs[a] = val;
1143
1198
  NEXT;
1144
1199
  }
@@ -1151,9 +1206,7 @@ RETRY_TRY_BLOCK:
1151
1206
  CASE(OP_GETMCNST, BB) {
1152
1207
  mrb_value val;
1153
1208
 
1154
- ERR_PC_SET(mrb);
1155
1209
  val = mrb_const_get(mrb, regs[a], syms[b]);
1156
- ERR_PC_CLR(mrb);
1157
1210
  regs[a] = val;
1158
1211
  NEXT;
1159
1212
  }
@@ -1167,7 +1220,7 @@ RETRY_TRY_BLOCK:
1167
1220
  mrb_value *regs_a = regs + a;
1168
1221
  struct REnv *e = uvenv(mrb, c);
1169
1222
 
1170
- if (e && b < MRB_ENV_STACK_LEN(e)) {
1223
+ if (e && b < MRB_ENV_LEN(e)) {
1171
1224
  *regs_a = e->stack[b];
1172
1225
  }
1173
1226
  else {
@@ -1182,7 +1235,7 @@ RETRY_TRY_BLOCK:
1182
1235
  if (e) {
1183
1236
  mrb_value *regs_a = regs + a;
1184
1237
 
1185
- if (b < MRB_ENV_STACK_LEN(e)) {
1238
+ if (b < MRB_ENV_LEN(e)) {
1186
1239
  e->stack[b] = *regs_a;
1187
1240
  mrb_write_barrier(mrb, (struct RBasic*)e);
1188
1241
  }
@@ -1191,57 +1244,75 @@ RETRY_TRY_BLOCK:
1191
1244
  }
1192
1245
 
1193
1246
  CASE(OP_JMP, S) {
1194
- pc = irep->iseq+a;
1247
+ pc += (int16_t)a;
1195
1248
  JUMP;
1196
1249
  }
1197
1250
  CASE(OP_JMPIF, BS) {
1198
1251
  if (mrb_test(regs[a])) {
1199
- pc = irep->iseq+b;
1252
+ pc += (int16_t)b;
1200
1253
  JUMP;
1201
1254
  }
1202
1255
  NEXT;
1203
1256
  }
1204
1257
  CASE(OP_JMPNOT, BS) {
1205
1258
  if (!mrb_test(regs[a])) {
1206
- pc = irep->iseq+b;
1259
+ pc += (int16_t)b;
1207
1260
  JUMP;
1208
1261
  }
1209
1262
  NEXT;
1210
1263
  }
1211
1264
  CASE(OP_JMPNIL, BS) {
1212
1265
  if (mrb_nil_p(regs[a])) {
1213
- pc = irep->iseq+b;
1266
+ pc += (int16_t)b;
1214
1267
  JUMP;
1215
1268
  }
1216
1269
  NEXT;
1217
1270
  }
1218
1271
 
1219
- CASE(OP_ONERR, S) {
1220
- /* check rescue stack */
1221
- if (mrb->c->ci->ridx == UINT16_MAX-1) {
1222
- mrb_value exc = mrb_exc_new_str_lit(mrb, E_RUNTIME_ERROR, "too many nested rescues");
1223
- mrb_exc_set(mrb, exc);
1224
- goto L_RAISE;
1272
+ CASE(OP_JMPUW, S) {
1273
+ a = (uint32_t)((pc - irep->iseq) + (int16_t)a);
1274
+ CHECKPOINT_RESTORE(RBREAK_TAG_JUMP) {
1275
+ struct RBreak *brk = (struct RBreak*)mrb->exc;
1276
+ mrb_value target = mrb_break_value_get(brk);
1277
+ mrb_assert(mrb_integer_p(target));
1278
+ a = (uint32_t)mrb_integer(target);
1279
+ mrb_assert(a >= 0 && a < irep->ilen);
1225
1280
  }
1226
- /* expand rescue stack */
1227
- if (mrb->c->rsize <= mrb->c->ci->ridx) {
1228
- if (mrb->c->rsize == 0) mrb->c->rsize = RESCUE_STACK_INIT_SIZE;
1229
- else {
1230
- mrb->c->rsize *= 2;
1231
- if (mrb->c->rsize <= mrb->c->ci->ridx) {
1232
- mrb->c->rsize = UINT16_MAX;
1281
+ CHECKPOINT_MAIN(RBREAK_TAG_JUMP) {
1282
+ ch = catch_handler_find(mrb, mrb->c->ci, pc, MRB_CATCH_FILTER_ENSURE);
1283
+ if (ch) {
1284
+ /* avoiding a jump from a catch handler into the same handler */
1285
+ if (a < mrb_irep_catch_handler_unpack(ch->begin) || a >= mrb_irep_catch_handler_unpack(ch->end)) {
1286
+ THROW_TAGGED_BREAK(mrb, RBREAK_TAG_JUMP, proc, mrb_fixnum_value(a));
1233
1287
  }
1234
1288
  }
1235
- mrb->c->rescue = (uint16_t*)mrb_realloc(mrb, mrb->c->rescue, sizeof(uint16_t)*mrb->c->rsize);
1236
1289
  }
1237
- /* push rescue stack */
1238
- mrb->c->rescue[mrb->c->ci->ridx++] = a;
1239
- NEXT;
1290
+ CHECKPOINT_END(RBREAK_TAG_JUMP);
1291
+
1292
+ mrb->exc = NULL; /* clear break object */
1293
+ pc = irep->iseq + a;
1294
+ JUMP;
1240
1295
  }
1241
1296
 
1242
1297
  CASE(OP_EXCEPT, B) {
1243
- mrb_value exc = mrb_obj_value(mrb->exc);
1244
- mrb->exc = 0;
1298
+ mrb_value exc;
1299
+
1300
+ if (mrb->exc == NULL) {
1301
+ exc = mrb_nil_value();
1302
+ }
1303
+ else {
1304
+ switch (mrb->exc->tt) {
1305
+ case MRB_TT_BREAK:
1306
+ case MRB_TT_EXCEPTION:
1307
+ exc = mrb_obj_value(mrb->exc);
1308
+ break;
1309
+ default:
1310
+ mrb_assert(!"bad mrb_type");
1311
+ exc = mrb_nil_value();
1312
+ break;
1313
+ }
1314
+ mrb->exc = NULL;
1315
+ }
1245
1316
  regs[a] = exc;
1246
1317
  NEXT;
1247
1318
  }
@@ -1258,7 +1329,7 @@ RETRY_TRY_BLOCK:
1258
1329
  {
1259
1330
  mrb_value exc;
1260
1331
 
1261
- exc = mrb_exc_new_str_lit(mrb, E_TYPE_ERROR,
1332
+ exc = mrb_exc_new_lit(mrb, E_TYPE_ERROR,
1262
1333
  "class or module required for rescue clause");
1263
1334
  mrb_exc_set(mrb, exc);
1264
1335
  goto L_RAISE;
@@ -1269,82 +1340,19 @@ RETRY_TRY_BLOCK:
1269
1340
  NEXT;
1270
1341
  }
1271
1342
 
1272
- CASE(OP_POPERR, B) {
1273
- mrb->c->ci->ridx -= a;
1274
- NEXT;
1275
- }
1276
-
1277
- CASE(OP_RAISE, B) {
1278
- mrb_exc_set(mrb, regs[a]);
1279
- goto L_RAISE;
1280
- }
1281
-
1282
- CASE(OP_EPUSH, B) {
1283
- struct RProc *p;
1284
-
1285
- p = mrb_closure_new(mrb, irep->reps[a]);
1286
- /* check ensure stack */
1287
- if (mrb->c->eidx == UINT16_MAX-1) {
1288
- mrb_value exc = mrb_exc_new_str_lit(mrb, E_RUNTIME_ERROR, "too many nested ensures");
1289
- mrb_exc_set(mrb, exc);
1290
- goto L_RAISE;
1343
+ CASE(OP_RAISEIF, B) {
1344
+ mrb_value exc = regs[a];
1345
+ if (mrb_break_p(exc)) {
1346
+ mrb->exc = mrb_obj_ptr(exc);
1347
+ goto L_BREAK;
1291
1348
  }
1292
- /* expand ensure stack */
1293
- if (mrb->c->esize <= mrb->c->eidx+1) {
1294
- if (mrb->c->esize == 0) mrb->c->esize = ENSURE_STACK_INIT_SIZE;
1295
- else {
1296
- mrb->c->esize *= 2;
1297
- if (mrb->c->esize <= mrb->c->eidx) {
1298
- mrb->c->esize = UINT16_MAX;
1299
- }
1300
- }
1301
- mrb->c->ensure = (struct RProc**)mrb_realloc(mrb, mrb->c->ensure, sizeof(struct RProc*)*mrb->c->esize);
1349
+ mrb_exc_set(mrb, exc);
1350
+ if (mrb->exc) {
1351
+ goto L_RAISE;
1302
1352
  }
1303
- /* push ensure stack */
1304
- mrb->c->ensure[mrb->c->eidx++] = p;
1305
- mrb->c->ensure[mrb->c->eidx] = NULL;
1306
- mrb_gc_arena_restore(mrb, ai);
1307
1353
  NEXT;
1308
1354
  }
1309
1355
 
1310
- CASE(OP_EPOP, B) {
1311
- mrb_callinfo *ci = mrb->c->ci;
1312
- unsigned int n, epos = ci->epos;
1313
- mrb_value self = regs[0];
1314
- struct RClass *target_class = ci->target_class;
1315
-
1316
- if (mrb->c->eidx <= epos) {
1317
- NEXT;
1318
- }
1319
-
1320
- if (a > (int)mrb->c->eidx - epos)
1321
- a = mrb->c->eidx - epos;
1322
- for (n=0; n<a; n++) {
1323
- int nregs = irep->nregs;
1324
-
1325
- proc = mrb->c->ensure[epos+n];
1326
- mrb->c->ensure[epos+n] = NULL;
1327
- if (proc == NULL) continue;
1328
- irep = proc->body.irep;
1329
- ci = cipush(mrb);
1330
- ci->mid = ci[-1].mid;
1331
- ci->argc = 0;
1332
- ci->proc = proc;
1333
- ci->stackent = mrb->c->stack;
1334
- ci->target_class = target_class;
1335
- ci->pc = pc;
1336
- ci->acc = nregs;
1337
- mrb->c->stack += ci->acc;
1338
- mrb_stack_extend(mrb, irep->nregs);
1339
- regs[0] = self;
1340
- pc = irep->iseq;
1341
- }
1342
- pool = irep->pool;
1343
- syms = irep->syms;
1344
- mrb->c->eidx = epos;
1345
- JUMP;
1346
- }
1347
-
1348
1356
  CASE(OP_SENDV, BB) {
1349
1357
  c = CALL_MAXARGS;
1350
1358
  goto L_SEND;
@@ -1376,8 +1384,8 @@ RETRY_TRY_BLOCK:
1376
1384
  mid = syms[b];
1377
1385
  L_SENDB_SYM:
1378
1386
  {
1379
- int argc = (c == CALL_MAXARGS) ? -1 : c;
1380
- int bidx = (argc < 0) ? a+2 : a+c+1;
1387
+ mrb_int argc = (c == CALL_MAXARGS) ? -1 : c;
1388
+ mrb_int bidx = (argc < 0) ? a+2 : a+c+1;
1381
1389
  mrb_method_t m;
1382
1390
  struct RClass *cls;
1383
1391
  mrb_callinfo *ci = mrb->c->ci;
@@ -1388,19 +1396,18 @@ RETRY_TRY_BLOCK:
1388
1396
  recv = regs[a];
1389
1397
  blk = regs[bidx];
1390
1398
  if (!mrb_nil_p(blk) && !mrb_proc_p(blk)) {
1391
- blk = mrb_convert_type(mrb, blk, MRB_TT_PROC, "Proc", "to_proc");
1392
- /* The stack might have been reallocated during mrb_convert_type(),
1399
+ blk = mrb_type_convert(mrb, blk, MRB_TT_PROC, MRB_SYM(to_proc));
1400
+ /* The stack might have been reallocated during mrb_type_convert(),
1393
1401
  see #3622 */
1394
1402
  regs[bidx] = blk;
1395
1403
  }
1396
1404
  cls = mrb_class(mrb, recv);
1397
1405
  m = mrb_method_search_vm(mrb, &cls, mid);
1398
1406
  if (MRB_METHOD_UNDEF_P(m)) {
1399
- mrb_sym missing = mrb_intern_lit(mrb, "method_missing");
1407
+ mrb_sym missing = MRB_SYM(method_missing);
1400
1408
  m = mrb_method_search_vm(mrb, &cls, missing);
1401
1409
  if (MRB_METHOD_UNDEF_P(m) || (missing == mrb->c->ci->mid && mrb_obj_eq(mrb, regs[0], recv))) {
1402
1410
  mrb_value args = (argc < 0) ? regs[a+1] : mrb_ary_new_from_values(mrb, c, regs+a+1);
1403
- ERR_PC_SET(mrb);
1404
1411
  mrb_method_missing(mrb, mid, recv, args);
1405
1412
  }
1406
1413
  if (argc >= 0) {
@@ -1416,23 +1423,13 @@ RETRY_TRY_BLOCK:
1416
1423
  }
1417
1424
 
1418
1425
  /* push callinfo */
1419
- ci = cipush(mrb);
1420
- ci->mid = mid;
1421
- ci->stackent = mrb->c->stack;
1422
- ci->target_class = cls;
1423
- ci->argc = argc;
1424
-
1425
- ci->pc = pc;
1426
- ci->acc = a;
1427
-
1428
- /* prepare stack */
1429
- mrb->c->stack += a;
1426
+ ci = cipush(mrb, a, a, cls, NULL, mid, argc);
1430
1427
 
1431
1428
  if (MRB_METHOD_CFUNC_P(m)) {
1432
1429
  if (MRB_METHOD_PROC_P(m)) {
1433
1430
  struct RProc *p = MRB_METHOD_PROC(m);
1434
1431
 
1435
- ci->proc = p;
1432
+ mrb_vm_ci_proc_set(ci, p);
1436
1433
  recv = p->body.func(mrb, recv);
1437
1434
  }
1438
1435
  else if (MRB_METHOD_NOARG_P(m) &&
@@ -1449,11 +1446,11 @@ RETRY_TRY_BLOCK:
1449
1446
  ci = mrb->c->ci;
1450
1447
  if (mrb_proc_p(blk)) {
1451
1448
  struct RProc *p = mrb_proc_ptr(blk);
1452
- if (p && !MRB_PROC_STRICT_P(p) && MRB_PROC_ENV(p) == ci[-1].env) {
1449
+ if (p && !MRB_PROC_STRICT_P(p) && MRB_PROC_ENV(p) == mrb_vm_ci_env(&ci[-1])) {
1453
1450
  p->flags |= MRB_PROC_ORPHAN;
1454
1451
  }
1455
1452
  }
1456
- if (!ci->target_class) { /* return from context modifying method (resume/yield) */
1453
+ if (!ci->u.target_class) { /* return from context modifying method (resume/yield) */
1457
1454
  if (ci->acc == CI_ACC_RESUMED) {
1458
1455
  mrb->jmp = prev_jmp;
1459
1456
  return recv;
@@ -1466,16 +1463,15 @@ RETRY_TRY_BLOCK:
1466
1463
  syms = irep->syms;
1467
1464
  }
1468
1465
  }
1469
- mrb->c->stack[0] = recv;
1466
+ mrb->c->ci->stack[0] = recv;
1470
1467
  /* pop stackpos */
1471
- mrb->c->stack = ci->stackent;
1468
+ ci = cipop(mrb);
1472
1469
  pc = ci->pc;
1473
- cipop(mrb);
1474
1470
  JUMP;
1475
1471
  }
1476
1472
  else {
1477
1473
  /* setup environment for calling method */
1478
- proc = ci->proc = MRB_METHOD_PROC(m);
1474
+ mrb_vm_ci_proc_set(ci, (proc = MRB_METHOD_PROC(m)));
1479
1475
  irep = proc->body.irep;
1480
1476
  pool = irep->pool;
1481
1477
  syms = irep->syms;
@@ -1487,22 +1483,15 @@ RETRY_TRY_BLOCK:
1487
1483
 
1488
1484
  CASE(OP_CALL, Z) {
1489
1485
  mrb_callinfo *ci;
1490
- mrb_value recv = mrb->c->stack[0];
1486
+ mrb_value recv = mrb->c->ci->stack[0];
1491
1487
  struct RProc *m = mrb_proc_ptr(recv);
1492
1488
 
1493
1489
  /* replace callinfo */
1494
1490
  ci = mrb->c->ci;
1495
- ci->target_class = MRB_PROC_TARGET_CLASS(m);
1496
- ci->proc = m;
1491
+ ci->u.target_class = MRB_PROC_TARGET_CLASS(m);
1492
+ mrb_vm_ci_proc_set(ci, m);
1497
1493
  if (MRB_PROC_ENV_P(m)) {
1498
- mrb_sym mid;
1499
- struct REnv *e = MRB_PROC_ENV(m);
1500
-
1501
- mid = e->mid;
1502
- if (mid) ci->mid = mid;
1503
- if (!e->stack) {
1504
- e->stack = mrb->c->stack;
1505
- }
1494
+ ci->mid = MRB_PROC_ENV(m)->mid;
1506
1495
  }
1507
1496
 
1508
1497
  /* prepare stack */
@@ -1512,11 +1501,9 @@ RETRY_TRY_BLOCK:
1512
1501
  mrb_gc_arena_shrink(mrb, ai);
1513
1502
  if (mrb->exc) goto L_RAISE;
1514
1503
  /* pop stackpos */
1515
- ci = mrb->c->ci;
1516
- mrb->c->stack = ci->stackent;
1517
- regs[ci->acc] = recv;
1504
+ ci = cipop(mrb);
1518
1505
  pc = ci->pc;
1519
- cipop(mrb);
1506
+ regs[ci[1].acc] = recv;
1520
1507
  irep = mrb->c->ci->proc->body.irep;
1521
1508
  pool = irep->pool;
1522
1509
  syms = irep->syms;
@@ -1527,10 +1514,10 @@ RETRY_TRY_BLOCK:
1527
1514
  proc = m;
1528
1515
  irep = m->body.irep;
1529
1516
  if (!irep) {
1530
- mrb->c->stack[0] = mrb_nil_value();
1517
+ mrb->c->ci->stack[0] = mrb_nil_value();
1531
1518
  a = 0;
1532
1519
  c = OP_R_NORMAL;
1533
- goto L_OP_RETURN_BODY;
1520
+ goto L_RETURN;
1534
1521
  }
1535
1522
  pool = irep->pool;
1536
1523
  syms = irep->syms;
@@ -1552,13 +1539,13 @@ RETRY_TRY_BLOCK:
1552
1539
  }
1553
1540
 
1554
1541
  CASE(OP_SUPER, BB) {
1555
- int argc = (b == CALL_MAXARGS) ? -1 : b;
1542
+ mrb_int argc = (b == CALL_MAXARGS) ? -1 : b;
1556
1543
  int bidx = (argc < 0) ? a+2 : a+b+1;
1557
1544
  mrb_method_t m;
1558
1545
  struct RClass *cls;
1559
1546
  mrb_callinfo *ci = mrb->c->ci;
1560
1547
  mrb_value recv, blk;
1561
- struct RProc *p = ci->proc;
1548
+ const struct RProc *p = ci->proc;
1562
1549
  mrb_sym mid = ci->mid;
1563
1550
  struct RClass* target_class = MRB_PROC_TARGET_CLASS(p);
1564
1551
 
@@ -1568,37 +1555,40 @@ RETRY_TRY_BLOCK:
1568
1555
  mrb_assert(bidx < irep->nregs);
1569
1556
 
1570
1557
  if (mid == 0 || !target_class) {
1571
- mrb_value exc = mrb_exc_new_str_lit(mrb, E_NOMETHOD_ERROR, "super called outside of method");
1558
+ mrb_value exc = mrb_exc_new_lit(mrb, E_NOMETHOD_ERROR, "super called outside of method");
1572
1559
  mrb_exc_set(mrb, exc);
1573
1560
  goto L_RAISE;
1574
1561
  }
1575
- if (target_class->tt == MRB_TT_MODULE) {
1576
- target_class = ci->target_class;
1562
+ if (target_class->flags & MRB_FL_CLASS_IS_PREPENDED) {
1563
+ target_class = mrb_vm_ci_target_class(ci);
1564
+ }
1565
+ else if (target_class->tt == MRB_TT_MODULE) {
1566
+ target_class = mrb_vm_ci_target_class(ci);
1577
1567
  if (target_class->tt != MRB_TT_ICLASS) {
1578
- mrb_value exc = mrb_exc_new_str_lit(mrb, E_RUNTIME_ERROR, "superclass info lost [mruby limitations]");
1568
+ mrb_value exc = mrb_exc_new_lit(mrb, E_RUNTIME_ERROR, "superclass info lost [mruby limitations]");
1579
1569
  mrb_exc_set(mrb, exc);
1580
1570
  goto L_RAISE;
1581
1571
  }
1582
1572
  }
1583
1573
  recv = regs[0];
1584
1574
  if (!mrb_obj_is_kind_of(mrb, recv, target_class)) {
1585
- mrb_value exc = mrb_exc_new_str_lit(mrb, E_TYPE_ERROR,
1575
+ mrb_value exc = mrb_exc_new_lit(mrb, E_TYPE_ERROR,
1586
1576
  "self has wrong type to call super in this context");
1587
1577
  mrb_exc_set(mrb, exc);
1588
1578
  goto L_RAISE;
1589
1579
  }
1590
1580
  blk = regs[bidx];
1591
1581
  if (!mrb_nil_p(blk) && !mrb_proc_p(blk)) {
1592
- blk = mrb_convert_type(mrb, blk, MRB_TT_PROC, "Proc", "to_proc");
1582
+ blk = mrb_type_convert(mrb, blk, MRB_TT_PROC, MRB_SYM(to_proc));
1593
1583
  /* The stack or ci stack might have been reallocated during
1594
- mrb_convert_type(), see #3622 and #3784 */
1584
+ mrb_type_convert(), see #3622 and #3784 */
1595
1585
  regs[bidx] = blk;
1596
1586
  ci = mrb->c->ci;
1597
1587
  }
1598
1588
  cls = target_class->super;
1599
1589
  m = mrb_method_search_vm(mrb, &cls, mid);
1600
1590
  if (MRB_METHOD_UNDEF_P(m)) {
1601
- mrb_sym missing = mrb_intern_lit(mrb, "method_missing");
1591
+ mrb_sym missing = MRB_SYM(method_missing);
1602
1592
 
1603
1593
  if (mid != missing) {
1604
1594
  cls = mrb_class(mrb, recv);
@@ -1606,7 +1596,6 @@ RETRY_TRY_BLOCK:
1606
1596
  m = mrb_method_search_vm(mrb, &cls, missing);
1607
1597
  if (MRB_METHOD_UNDEF_P(m)) {
1608
1598
  mrb_value args = (argc < 0) ? regs[a+1] : mrb_ary_new_from_values(mrb, b, regs+a+1);
1609
- ERR_PC_SET(mrb);
1610
1599
  mrb_method_missing(mrb, mid, recv, args);
1611
1600
  }
1612
1601
  mid = missing;
@@ -1622,28 +1611,23 @@ RETRY_TRY_BLOCK:
1622
1611
  }
1623
1612
 
1624
1613
  /* push callinfo */
1625
- ci = cipush(mrb);
1626
- ci->mid = mid;
1627
- ci->stackent = mrb->c->stack;
1628
- ci->target_class = cls;
1629
- ci->pc = pc;
1630
- ci->argc = argc;
1614
+ ci = cipush(mrb, a, 0, cls, NULL, mid, argc);
1631
1615
 
1632
1616
  /* prepare stack */
1633
- mrb->c->stack += a;
1634
- mrb->c->stack[0] = recv;
1617
+ mrb->c->ci->stack[0] = recv;
1635
1618
 
1636
1619
  if (MRB_METHOD_CFUNC_P(m)) {
1637
1620
  mrb_value v;
1638
1621
 
1639
1622
  if (MRB_METHOD_PROC_P(m)) {
1640
- ci->proc = MRB_METHOD_PROC(m);
1623
+ mrb_vm_ci_proc_set(ci, MRB_METHOD_PROC(m));
1641
1624
  }
1642
1625
  v = MRB_METHOD_CFUNC(m)(mrb, recv);
1643
1626
  mrb_gc_arena_restore(mrb, ai);
1644
1627
  if (mrb->exc) goto L_RAISE;
1645
1628
  ci = mrb->c->ci;
1646
- if (!ci->target_class) { /* return from context modifying method (resume/yield) */
1629
+ mrb_assert(!mrb_break_p(v));
1630
+ if (!mrb_vm_ci_target_class(ci)) { /* return from context modifying method (resume/yield) */
1647
1631
  if (ci->acc == CI_ACC_RESUMED) {
1648
1632
  mrb->jmp = prev_jmp;
1649
1633
  return v;
@@ -1656,11 +1640,9 @@ RETRY_TRY_BLOCK:
1656
1640
  syms = irep->syms;
1657
1641
  }
1658
1642
  }
1659
- mrb->c->stack[0] = v;
1660
- /* pop stackpos */
1661
- mrb->c->stack = ci->stackent;
1643
+ mrb->c->ci->stack[0] = v;
1644
+ ci = cipop(mrb);
1662
1645
  pc = ci->pc;
1663
- cipop(mrb);
1664
1646
  JUMP;
1665
1647
  }
1666
1648
  else {
@@ -1668,7 +1650,7 @@ RETRY_TRY_BLOCK:
1668
1650
  ci->acc = a;
1669
1651
 
1670
1652
  /* setup environment for calling method */
1671
- proc = ci->proc = MRB_METHOD_PROC(m);
1653
+ mrb_vm_ci_proc_set(ci, (proc = MRB_METHOD_PROC(m)));
1672
1654
  irep = proc->body.irep;
1673
1655
  pool = irep->pool;
1674
1656
  syms = irep->syms;
@@ -1679,18 +1661,18 @@ RETRY_TRY_BLOCK:
1679
1661
  }
1680
1662
 
1681
1663
  CASE(OP_ARGARY, BS) {
1682
- int m1 = (b>>11)&0x3f;
1683
- int r = (b>>10)&0x1;
1684
- int m2 = (b>>5)&0x1f;
1685
- int kd = (b>>4)&0x1;
1686
- int lv = (b>>0)&0xf;
1664
+ mrb_int m1 = (b>>11)&0x3f;
1665
+ mrb_int r = (b>>10)&0x1;
1666
+ mrb_int m2 = (b>>5)&0x1f;
1667
+ mrb_int kd = (b>>4)&0x1;
1668
+ mrb_int lv = (b>>0)&0xf;
1687
1669
  mrb_value *stack;
1688
1670
 
1689
- if (mrb->c->ci->mid == 0 || mrb->c->ci->target_class == NULL) {
1671
+ if (mrb->c->ci->mid == 0 || mrb_vm_ci_target_class(mrb->c->ci) == NULL) {
1690
1672
  mrb_value exc;
1691
1673
 
1692
1674
  L_NOSUPER:
1693
- exc = mrb_exc_new_str_lit(mrb, E_NOMETHOD_ERROR, "super called outside of method");
1675
+ exc = mrb_exc_new_lit(mrb, E_NOMETHOD_ERROR, "super called outside of method");
1694
1676
  mrb_exc_set(mrb, exc);
1695
1677
  goto L_RAISE;
1696
1678
  }
@@ -1698,7 +1680,7 @@ RETRY_TRY_BLOCK:
1698
1680
  else {
1699
1681
  struct REnv *e = uvenv(mrb, lv-1);
1700
1682
  if (!e) goto L_NOSUPER;
1701
- if (MRB_ENV_STACK_LEN(e) <= m1+r+m2+kd+1)
1683
+ if (MRB_ENV_LEN(e) <= m1+r+m2+kd+1)
1702
1684
  goto L_NOSUPER;
1703
1685
  stack = e->stack + 1;
1704
1686
  }
@@ -1708,13 +1690,13 @@ RETRY_TRY_BLOCK:
1708
1690
  else {
1709
1691
  mrb_value *pp = NULL;
1710
1692
  struct RArray *rest;
1711
- int len = 0;
1693
+ mrb_int len = 0;
1712
1694
 
1713
1695
  if (mrb_array_p(stack[m1])) {
1714
1696
  struct RArray *ary = mrb_ary_ptr(stack[m1]);
1715
1697
 
1716
1698
  pp = ARY_PTR(ary);
1717
- len = (int)ARY_LEN(ary);
1699
+ len = ARY_LEN(ary);
1718
1700
  }
1719
1701
  regs[a] = mrb_ary_new_capa(mrb, m1+len+m2+kd);
1720
1702
  rest = mrb_ary_ptr(regs[a]);
@@ -1738,22 +1720,22 @@ RETRY_TRY_BLOCK:
1738
1720
  }
1739
1721
 
1740
1722
  CASE(OP_ENTER, W) {
1741
- int m1 = MRB_ASPEC_REQ(a);
1742
- int o = MRB_ASPEC_OPT(a);
1743
- int r = MRB_ASPEC_REST(a);
1744
- int m2 = MRB_ASPEC_POST(a);
1745
- int kd = (MRB_ASPEC_KEY(a) > 0 || MRB_ASPEC_KDICT(a))? 1 : 0;
1723
+ mrb_int m1 = MRB_ASPEC_REQ(a);
1724
+ mrb_int o = MRB_ASPEC_OPT(a);
1725
+ mrb_int r = MRB_ASPEC_REST(a);
1726
+ mrb_int m2 = MRB_ASPEC_POST(a);
1727
+ mrb_int kd = (MRB_ASPEC_KEY(a) > 0 || MRB_ASPEC_KDICT(a))? 1 : 0;
1746
1728
  /* unused
1747
1729
  int b = MRB_ASPEC_BLOCK(a);
1748
1730
  */
1749
- int argc = mrb->c->ci->argc;
1731
+ mrb_int argc = mrb->c->ci->argc;
1750
1732
  mrb_value *argv = regs+1;
1751
1733
  mrb_value * const argv0 = argv;
1752
- int const len = m1 + o + r + m2;
1753
- int const blk_pos = len + kd + 1;
1734
+ mrb_int const len = m1 + o + r + m2;
1735
+ mrb_int const blk_pos = len + kd + 1;
1754
1736
  mrb_value *blk = &argv[argc < 0 ? 1 : argc];
1755
- mrb_value kdict;
1756
- int kargs = kd;
1737
+ mrb_value kdict = mrb_nil_value();
1738
+ mrb_int kargs = kd;
1757
1739
 
1758
1740
  /* arguments is passed with Array */
1759
1741
  if (argc < 0) {
@@ -1805,7 +1787,7 @@ RETRY_TRY_BLOCK:
1805
1787
 
1806
1788
  /* no rest arguments */
1807
1789
  if (argc-kargs < len) {
1808
- int mlen = m2;
1790
+ mrb_int mlen = m2;
1809
1791
  if (argc < m1+m2) {
1810
1792
  mlen = m1 < argc ? argc - m1 : 0;
1811
1793
  }
@@ -1813,7 +1795,7 @@ RETRY_TRY_BLOCK:
1813
1795
  if (kd) regs[len + 1] = kdict;
1814
1796
 
1815
1797
  /* copy mandatory and optional arguments */
1816
- if (argv0 != argv) {
1798
+ if (argv0 != argv && argv) {
1817
1799
  value_move(&regs[1], argv, argc-mlen); /* m1 + o */
1818
1800
  }
1819
1801
  if (argc < m1) {
@@ -1826,16 +1808,16 @@ RETRY_TRY_BLOCK:
1826
1808
  if (mlen < m2) {
1827
1809
  stack_clear(&regs[len-m2+mlen+1], m2-mlen);
1828
1810
  }
1829
- /* initalize rest arguments with empty Array */
1811
+ /* initialize rest arguments with empty Array */
1830
1812
  if (r) {
1831
1813
  regs[m1+o+1] = mrb_ary_new_capa(mrb, 0);
1832
1814
  }
1833
- /* skip initailizer of passed arguments */
1815
+ /* skip initializer of passed arguments */
1834
1816
  if (o > 0 && argc-kargs > m1+m2)
1835
1817
  pc += (argc - kargs - m1 - m2)*3;
1836
1818
  }
1837
1819
  else {
1838
- int rnum = 0;
1820
+ mrb_int rnum = 0;
1839
1821
  if (argv0 != argv) {
1840
1822
  regs[blk_pos] = *blk; /* move block */
1841
1823
  if (kd) regs[len + 1] = kdict;
@@ -1861,7 +1843,7 @@ RETRY_TRY_BLOCK:
1861
1843
  }
1862
1844
 
1863
1845
  /* format arguments for generated code */
1864
- mrb->c->ci->argc = len + kd;
1846
+ mrb->c->ci->argc = (int16_t)(len + kd);
1865
1847
 
1866
1848
  /* clear local (but non-argument) variables */
1867
1849
  if (irep->nlocals-blk_pos-1 > 0) {
@@ -1921,13 +1903,7 @@ RETRY_TRY_BLOCK:
1921
1903
  c = OP_R_NORMAL;
1922
1904
  L_RETURN:
1923
1905
  {
1924
- mrb_callinfo *ci;
1925
-
1926
- #define ecall_adjust() do {\
1927
- ptrdiff_t cioff = ci - mrb->c->cibase;\
1928
- ecall(mrb);\
1929
- ci = mrb->c->cibase + cioff;\
1930
- } while (0)
1906
+ mrb_callinfo *ci;
1931
1907
 
1932
1908
  ci = mrb->c->ci;
1933
1909
  if (ci->mid) {
@@ -1943,42 +1919,38 @@ RETRY_TRY_BLOCK:
1943
1919
  struct RProc *p = mrb_proc_ptr(blk);
1944
1920
 
1945
1921
  if (!MRB_PROC_STRICT_P(p) &&
1946
- ci > mrb->c->cibase && MRB_PROC_ENV(p) == ci[-1].env) {
1922
+ ci > mrb->c->cibase && MRB_PROC_ENV(p) == mrb_vm_ci_env(&ci[-1])) {
1947
1923
  p->flags |= MRB_PROC_ORPHAN;
1948
1924
  }
1949
1925
  }
1950
1926
  }
1951
1927
 
1952
1928
  if (mrb->exc) {
1953
- mrb_callinfo *ci0;
1954
-
1955
1929
  L_RAISE:
1956
- ci0 = ci = mrb->c->ci;
1930
+ ci = mrb->c->ci;
1957
1931
  if (ci == mrb->c->cibase) {
1958
- if (ci->ridx == 0) goto L_FTOP;
1959
- goto L_RESCUE;
1932
+ ch = catch_handler_find(mrb, ci, pc, MRB_CATCH_FILTER_ALL);
1933
+ if (ch == NULL) goto L_FTOP;
1934
+ goto L_CATCH;
1960
1935
  }
1961
- while (ci[0].ridx == ci[-1].ridx) {
1962
- cipop(mrb);
1963
- mrb->c->stack = ci->stackent;
1964
- if (ci->acc == CI_ACC_SKIP && prev_jmp) {
1936
+ while ((ch = catch_handler_find(mrb, ci, pc, MRB_CATCH_FILTER_ALL)) == NULL) {
1937
+ ci = cipop(mrb);
1938
+ if (ci[1].acc == CI_ACC_SKIP && prev_jmp) {
1965
1939
  mrb->jmp = prev_jmp;
1966
1940
  MRB_THROW(prev_jmp);
1967
1941
  }
1968
- ci = mrb->c->ci;
1942
+ pc = ci[0].pc;
1969
1943
  if (ci == mrb->c->cibase) {
1970
- if (ci->ridx == 0) {
1944
+ ch = catch_handler_find(mrb, ci, pc, MRB_CATCH_FILTER_ALL);
1945
+ if (ch == NULL) {
1971
1946
  L_FTOP: /* fiber top */
1972
1947
  if (mrb->c == mrb->root_c) {
1973
- mrb->c->stack = mrb->c->stbase;
1948
+ mrb->c->ci->stack = mrb->c->stbase;
1974
1949
  goto L_STOP;
1975
1950
  }
1976
1951
  else {
1977
1952
  struct mrb_context *c = mrb->c;
1978
1953
 
1979
- while (c->eidx > ci->epos) {
1980
- ecall_adjust();
1981
- }
1982
1954
  c->status = MRB_FIBER_TERMINATED;
1983
1955
  mrb->c = c->prev;
1984
1956
  c->prev = NULL;
@@ -1987,29 +1959,23 @@ RETRY_TRY_BLOCK:
1987
1959
  }
1988
1960
  break;
1989
1961
  }
1990
- /* call ensure only when we skip this callinfo */
1991
- if (ci[0].ridx == ci[-1].ridx) {
1992
- while (mrb->c->eidx > ci->epos) {
1993
- ecall_adjust();
1994
- }
1995
- }
1996
1962
  }
1997
- L_RESCUE:
1998
- if (ci->ridx == 0) goto L_STOP;
1963
+ L_CATCH:
1964
+ if (ch == NULL) goto L_STOP;
1965
+ if (FALSE) {
1966
+ L_CATCH_TAGGED_BREAK: /* from THROW_TAGGED_BREAK() or UNWIND_ENSURE() */
1967
+ ci = mrb->c->ci;
1968
+ }
1999
1969
  proc = ci->proc;
2000
1970
  irep = proc->body.irep;
2001
1971
  pool = irep->pool;
2002
1972
  syms = irep->syms;
2003
- if (ci < ci0) {
2004
- mrb->c->stack = ci[1].stackent;
2005
- }
2006
1973
  mrb_stack_extend(mrb, irep->nregs);
2007
- pc = irep->iseq+mrb->c->rescue[--ci->ridx];
1974
+ pc = irep->iseq + mrb_irep_catch_handler_unpack(ch->target);
2008
1975
  }
2009
1976
  else {
2010
- int acc;
1977
+ mrb_int acc;
2011
1978
  mrb_value v;
2012
- struct RProc *dst;
2013
1979
 
2014
1980
  ci = mrb->c->ci;
2015
1981
  v = regs[a];
@@ -2018,55 +1984,92 @@ RETRY_TRY_BLOCK:
2018
1984
  case OP_R_RETURN:
2019
1985
  /* Fall through to OP_R_NORMAL otherwise */
2020
1986
  if (ci->acc >=0 && MRB_PROC_ENV_P(proc) && !MRB_PROC_STRICT_P(proc)) {
2021
- mrb_callinfo *cibase = mrb->c->cibase;
1987
+ const struct RProc *dst;
1988
+ mrb_callinfo *cibase;
1989
+ cibase = mrb->c->cibase;
2022
1990
  dst = top_proc(mrb, proc);
2023
1991
 
2024
1992
  if (MRB_PROC_ENV_P(dst)) {
2025
1993
  struct REnv *e = MRB_PROC_ENV(dst);
2026
1994
 
2027
- if (!MRB_ENV_STACK_SHARED_P(e) || (e->cxt && e->cxt != mrb->c)) {
1995
+ if (!MRB_ENV_ONSTACK_P(e) || (e->cxt && e->cxt != mrb->c)) {
2028
1996
  localjump_error(mrb, LOCALJUMP_ERROR_RETURN);
2029
1997
  goto L_RAISE;
2030
1998
  }
2031
1999
  }
2000
+ /* check jump destination */
2032
2001
  while (cibase <= ci && ci->proc != dst) {
2033
- if (ci->acc < 0) {
2002
+ if (ci->acc < 0) { /* jump cross C boudary */
2034
2003
  localjump_error(mrb, LOCALJUMP_ERROR_RETURN);
2035
2004
  goto L_RAISE;
2036
2005
  }
2037
2006
  ci--;
2038
2007
  }
2039
- if (ci <= cibase) {
2008
+ if (ci <= cibase) { /* no jump destination */
2040
2009
  localjump_error(mrb, LOCALJUMP_ERROR_RETURN);
2041
2010
  goto L_RAISE;
2042
2011
  }
2012
+ ci = mrb->c->ci;
2013
+ while (cibase <= ci && ci->proc != dst) {
2014
+ CHECKPOINT_RESTORE(RBREAK_TAG_RETURN_BLOCK) {
2015
+ cibase = mrb->c->cibase;
2016
+ dst = top_proc(mrb, proc);
2017
+ }
2018
+ CHECKPOINT_MAIN(RBREAK_TAG_RETURN_BLOCK) {
2019
+ UNWIND_ENSURE(mrb, ci, pc, RBREAK_TAG_RETURN_BLOCK, proc, v);
2020
+ }
2021
+ CHECKPOINT_END(RBREAK_TAG_RETURN_BLOCK);
2022
+ ci = cipop(mrb);
2023
+ pc = ci->pc;
2024
+ }
2025
+ proc = ci->proc;
2026
+ mrb->exc = NULL; /* clear break object */
2043
2027
  break;
2044
2028
  }
2045
2029
  /* fallthrough */
2046
2030
  case OP_R_NORMAL:
2047
2031
  NORMAL_RETURN:
2048
2032
  if (ci == mrb->c->cibase) {
2049
- struct mrb_context *c = mrb->c;
2033
+ struct mrb_context *c;
2034
+ c = mrb->c;
2050
2035
 
2051
2036
  if (!c->prev) { /* toplevel return */
2052
2037
  regs[irep->nlocals] = v;
2053
- goto L_STOP;
2038
+ goto CHECKPOINT_LABEL_MAKE(RBREAK_TAG_STOP);
2054
2039
  }
2055
- if (c->prev->ci == c->prev->cibase) {
2056
- mrb_value exc = mrb_exc_new_str_lit(mrb, E_FIBER_ERROR, "double resume");
2040
+ if (!c->vmexec && c->prev->ci == c->prev->cibase) {
2041
+ mrb_value exc = mrb_exc_new_lit(mrb, E_FIBER_ERROR, "double resume");
2057
2042
  mrb_exc_set(mrb, exc);
2058
2043
  goto L_RAISE;
2059
2044
  }
2060
- while (c->eidx > 0) {
2061
- ecall(mrb);
2045
+ CHECKPOINT_RESTORE(RBREAK_TAG_RETURN_TOPLEVEL) {
2046
+ c = mrb->c;
2047
+ }
2048
+ CHECKPOINT_MAIN(RBREAK_TAG_RETURN_TOPLEVEL) {
2049
+ UNWIND_ENSURE(mrb, ci, pc, RBREAK_TAG_RETURN_TOPLEVEL, proc, v);
2062
2050
  }
2051
+ CHECKPOINT_END(RBREAK_TAG_RETURN_TOPLEVEL);
2063
2052
  /* automatic yield at the end */
2064
2053
  c->status = MRB_FIBER_TERMINATED;
2065
2054
  mrb->c = c->prev;
2066
- c->prev = NULL;
2067
2055
  mrb->c->status = MRB_FIBER_RUNNING;
2056
+ c->prev = NULL;
2057
+ if (c->vmexec) {
2058
+ mrb_gc_arena_restore(mrb, ai);
2059
+ c->vmexec = FALSE;
2060
+ mrb->jmp = prev_jmp;
2061
+ return v;
2062
+ }
2068
2063
  ci = mrb->c->ci;
2069
2064
  }
2065
+ CHECKPOINT_RESTORE(RBREAK_TAG_RETURN) {
2066
+ /* do nothing */
2067
+ }
2068
+ CHECKPOINT_MAIN(RBREAK_TAG_RETURN) {
2069
+ UNWIND_ENSURE(mrb, ci, pc, RBREAK_TAG_RETURN, proc, v);
2070
+ }
2071
+ CHECKPOINT_END(RBREAK_TAG_RETURN);
2072
+ mrb->exc = NULL; /* clear break object */
2070
2073
  break;
2071
2074
  case OP_R_BREAK:
2072
2075
  if (MRB_PROC_STRICT_P(proc)) goto NORMAL_RETURN;
@@ -2074,12 +2077,12 @@ RETRY_TRY_BLOCK:
2074
2077
  mrb_value exc;
2075
2078
 
2076
2079
  L_BREAK_ERROR:
2077
- exc = mrb_exc_new_str_lit(mrb, E_LOCALJUMP_ERROR,
2080
+ exc = mrb_exc_new_lit(mrb, E_LOCALJUMP_ERROR,
2078
2081
  "break from proc-closure");
2079
2082
  mrb_exc_set(mrb, exc);
2080
2083
  goto L_RAISE;
2081
2084
  }
2082
- if (!MRB_PROC_ENV_P(proc) || !MRB_ENV_STACK_SHARED_P(MRB_PROC_ENV(proc))) {
2085
+ if (!MRB_PROC_ENV_P(proc) || !MRB_ENV_ONSTACK_P(MRB_PROC_ENV(proc))) {
2083
2086
  goto L_BREAK_ERROR;
2084
2087
  }
2085
2088
  else {
@@ -2089,9 +2092,13 @@ RETRY_TRY_BLOCK:
2089
2092
  goto L_BREAK_ERROR;
2090
2093
  }
2091
2094
  }
2092
- while (mrb->c->eidx > mrb->c->ci->epos) {
2093
- ecall_adjust();
2095
+ CHECKPOINT_RESTORE(RBREAK_TAG_BREAK) {
2096
+ /* do nothing */
2094
2097
  }
2098
+ CHECKPOINT_MAIN(RBREAK_TAG_BREAK) {
2099
+ UNWIND_ENSURE(mrb, ci, pc, RBREAK_TAG_BREAK, proc, v);
2100
+ }
2101
+ CHECKPOINT_END(RBREAK_TAG_BREAK);
2095
2102
  /* break from fiber block */
2096
2103
  if (ci == mrb->c->cibase && ci->pc) {
2097
2104
  struct mrb_context *c = mrb->c;
@@ -2101,61 +2108,77 @@ RETRY_TRY_BLOCK:
2101
2108
  ci = mrb->c->ci;
2102
2109
  }
2103
2110
  if (ci->acc < 0) {
2111
+ ci = cipop(mrb);
2104
2112
  mrb_gc_arena_restore(mrb, ai);
2105
2113
  mrb->c->vmexec = FALSE;
2106
- mrb->exc = (struct RObject*)break_new(mrb, proc, v);
2114
+ mrb->exc = (struct RObject*)break_new(mrb, RBREAK_TAG_BREAK, proc, v);
2107
2115
  mrb->jmp = prev_jmp;
2108
2116
  MRB_THROW(prev_jmp);
2109
2117
  }
2110
2118
  if (FALSE) {
2119
+ struct RBreak *brk;
2120
+
2111
2121
  L_BREAK:
2112
- v = mrb_break_value_get((struct RBreak*)mrb->exc);
2113
- proc = mrb_break_proc_get((struct RBreak*)mrb->exc);
2114
- mrb->exc = NULL;
2122
+ brk = (struct RBreak*)mrb->exc;
2123
+ proc = mrb_break_proc_get(brk);
2124
+ v = mrb_break_value_get(brk);
2115
2125
  ci = mrb->c->ci;
2126
+
2127
+ switch (mrb_break_tag_get(brk)) {
2128
+ #define DISPATCH_CHECKPOINTS(n, i) case n: goto CHECKPOINT_LABEL_MAKE(n);
2129
+ RBREAK_TAG_FOREACH(DISPATCH_CHECKPOINTS)
2130
+ #undef DISPATCH_CHECKPOINTS
2131
+ default:
2132
+ mrb_assert(!"wrong break tag");
2133
+ }
2116
2134
  }
2117
- mrb->c->stack = ci->stackent;
2118
- proc = proc->upper;
2119
- while (mrb->c->cibase < ci && ci[-1].proc != proc) {
2135
+ while (mrb->c->cibase < ci && ci[-1].proc != proc->upper) {
2120
2136
  if (ci[-1].acc == CI_ACC_SKIP) {
2121
- while (ci < mrb->c->ci) {
2122
- cipop(mrb);
2123
- }
2124
2137
  goto L_BREAK_ERROR;
2125
2138
  }
2126
- ci--;
2139
+ CHECKPOINT_RESTORE(RBREAK_TAG_BREAK_UPPER) {
2140
+ /* do nothing */
2141
+ }
2142
+ CHECKPOINT_MAIN(RBREAK_TAG_BREAK_UPPER) {
2143
+ UNWIND_ENSURE(mrb, ci, pc, RBREAK_TAG_BREAK_UPPER, proc, v);
2144
+ }
2145
+ CHECKPOINT_END(RBREAK_TAG_BREAK_UPPER);
2146
+ ci = cipop(mrb);
2147
+ pc = ci->pc;
2148
+ }
2149
+ CHECKPOINT_RESTORE(RBREAK_TAG_BREAK_INTARGET) {
2150
+ /* do nothing */
2151
+ }
2152
+ CHECKPOINT_MAIN(RBREAK_TAG_BREAK_INTARGET) {
2153
+ UNWIND_ENSURE(mrb, ci, pc, RBREAK_TAG_BREAK_INTARGET, proc, v);
2127
2154
  }
2155
+ CHECKPOINT_END(RBREAK_TAG_BREAK_INTARGET);
2128
2156
  if (ci == mrb->c->cibase) {
2129
2157
  goto L_BREAK_ERROR;
2130
2158
  }
2159
+ mrb->exc = NULL; /* clear break object */
2131
2160
  break;
2132
2161
  default:
2133
2162
  /* cannot happen */
2134
2163
  break;
2135
2164
  }
2136
- while (ci < mrb->c->ci) {
2137
- cipop(mrb);
2138
- }
2139
- ci[0].ridx = ci[-1].ridx;
2140
- while (mrb->c->eidx > ci->epos) {
2141
- ecall_adjust();
2142
- }
2143
- if (mrb->c->vmexec && !ci->target_class) {
2165
+ mrb_assert(ci == mrb->c->ci);
2166
+ mrb_assert(mrb->exc == NULL);
2167
+
2168
+ if (mrb->c->vmexec && !mrb_vm_ci_target_class(ci)) {
2144
2169
  mrb_gc_arena_restore(mrb, ai);
2145
2170
  mrb->c->vmexec = FALSE;
2146
2171
  mrb->jmp = prev_jmp;
2147
2172
  return v;
2148
2173
  }
2149
2174
  acc = ci->acc;
2150
- mrb->c->stack = ci->stackent;
2151
- cipop(mrb);
2175
+ ci = cipop(mrb);
2152
2176
  if (acc == CI_ACC_SKIP || acc == CI_ACC_DIRECT) {
2153
2177
  mrb_gc_arena_restore(mrb, ai);
2154
2178
  mrb->jmp = prev_jmp;
2155
2179
  return v;
2156
2180
  }
2157
- pc = ci->pc;
2158
- ci = mrb->c->ci;
2181
+ pc = ci[0].pc;
2159
2182
  DEBUG(fprintf(stderr, "from :%s\n", mrb_sym_name(mrb, ci->mid)));
2160
2183
  proc = mrb->c->ci->proc;
2161
2184
  irep = proc->body.irep;
@@ -2179,8 +2202,8 @@ RETRY_TRY_BLOCK:
2179
2202
  if (lv == 0) stack = regs + 1;
2180
2203
  else {
2181
2204
  struct REnv *e = uvenv(mrb, lv-1);
2182
- if (!e || (!MRB_ENV_STACK_SHARED_P(e) && e->mid == 0) ||
2183
- MRB_ENV_STACK_LEN(e) <= m1+r+m2+1) {
2205
+ if (!e || (!MRB_ENV_ONSTACK_P(e) && e->mid == 0) ||
2206
+ MRB_ENV_LEN(e) <= m1+r+m2+1) {
2184
2207
  localjump_error(mrb, LOCALJUMP_ERROR_YIELD);
2185
2208
  goto L_RAISE;
2186
2209
  }
@@ -2194,34 +2217,40 @@ RETRY_TRY_BLOCK:
2194
2217
  NEXT;
2195
2218
  }
2196
2219
 
2220
+ L_INT_OVERFLOW:
2221
+ {
2222
+ mrb_value exc = mrb_exc_new_lit(mrb, E_RANGE_ERROR, "integer overflow");
2223
+ mrb_exc_set(mrb, exc);
2224
+ }
2225
+ goto L_RAISE;
2226
+
2197
2227
  #define TYPES2(a,b) ((((uint16_t)(a))<<8)|(((uint16_t)(b))&0xff))
2198
2228
  #define OP_MATH(op_name) \
2199
2229
  /* need to check if op is overridden */ \
2200
2230
  switch (TYPES2(mrb_type(regs[a]),mrb_type(regs[a+1]))) { \
2201
- OP_MATH_CASE_FIXNUM(op_name); \
2202
- OP_MATH_CASE_FLOAT(op_name, fixnum, float); \
2203
- OP_MATH_CASE_FLOAT(op_name, float, fixnum); \
2231
+ OP_MATH_CASE_INTEGER(op_name); \
2232
+ OP_MATH_CASE_FLOAT(op_name, integer, float); \
2233
+ OP_MATH_CASE_FLOAT(op_name, float, integer); \
2204
2234
  OP_MATH_CASE_FLOAT(op_name, float, float); \
2205
2235
  OP_MATH_CASE_STRING_##op_name(); \
2206
2236
  default: \
2207
2237
  c = 1; \
2208
- mid = mrb_intern_lit(mrb, MRB_STRINGIZE(OP_MATH_OP_##op_name)); \
2238
+ mid = MRB_OPSYM(op_name); \
2209
2239
  goto L_SEND_SYM; \
2210
2240
  } \
2211
2241
  NEXT;
2212
- #define OP_MATH_CASE_FIXNUM(op_name) \
2213
- case TYPES2(MRB_TT_FIXNUM, MRB_TT_FIXNUM): \
2242
+ #define OP_MATH_CASE_INTEGER(op_name) \
2243
+ case TYPES2(MRB_TT_INTEGER, MRB_TT_INTEGER): \
2214
2244
  { \
2215
- mrb_int x = mrb_fixnum(regs[a]), y = mrb_fixnum(regs[a+1]), z; \
2245
+ mrb_int x = mrb_integer(regs[a]), y = mrb_integer(regs[a+1]), z; \
2216
2246
  if (mrb_int_##op_name##_overflow(x, y, &z)) \
2217
- OP_MATH_OVERFLOW_INT(op_name, x, y, z); \
2247
+ OP_MATH_OVERFLOW_INT(); \
2218
2248
  else \
2219
- SET_INT_VALUE(regs[a], z); \
2249
+ SET_INT_VALUE(mrb,regs[a], z); \
2220
2250
  } \
2221
2251
  break
2222
- #ifdef MRB_WITHOUT_FLOAT
2252
+ #ifdef MRB_NO_FLOAT
2223
2253
  #define OP_MATH_CASE_FLOAT(op_name, t1, t2) (void)0
2224
- #define OP_MATH_OVERFLOW_INT(op_name, x, y, z) SET_INT_VALUE(regs[a], z)
2225
2254
  #else
2226
2255
  #define OP_MATH_CASE_FLOAT(op_name, t1, t2) \
2227
2256
  case TYPES2(OP_MATH_TT_##t1, OP_MATH_TT_##t2): \
@@ -2230,9 +2259,8 @@ RETRY_TRY_BLOCK:
2230
2259
  SET_FLOAT_VALUE(mrb, regs[a], z); \
2231
2260
  } \
2232
2261
  break
2233
- #define OP_MATH_OVERFLOW_INT(op_name, x, y, z) \
2234
- SET_FLOAT_VALUE(mrb, regs[a], (mrb_float)x OP_MATH_OP_##op_name (mrb_float)y)
2235
2262
  #endif
2263
+ #define OP_MATH_OVERFLOW_INT() goto L_INT_OVERFLOW
2236
2264
  #define OP_MATH_CASE_STRING_add() \
2237
2265
  case TYPES2(MRB_TT_STRING, MRB_TT_STRING): \
2238
2266
  regs[a] = mrb_str_plus(mrb, regs[a], regs[a+1]); \
@@ -2243,8 +2271,8 @@ RETRY_TRY_BLOCK:
2243
2271
  #define OP_MATH_OP_add +
2244
2272
  #define OP_MATH_OP_sub -
2245
2273
  #define OP_MATH_OP_mul *
2246
- #define OP_MATH_TT_fixnum MRB_TT_FIXNUM
2247
- #define OP_MATH_TT_float MRB_TT_FLOAT
2274
+ #define OP_MATH_TT_integer MRB_TT_INTEGER
2275
+ #define OP_MATH_TT_float MRB_TT_FLOAT
2248
2276
 
2249
2277
  CASE(OP_ADD, B) {
2250
2278
  OP_MATH(add);
@@ -2259,31 +2287,30 @@ RETRY_TRY_BLOCK:
2259
2287
  }
2260
2288
 
2261
2289
  CASE(OP_DIV, B) {
2262
- #ifndef MRB_WITHOUT_FLOAT
2263
- double x, y, f;
2290
+ mrb_int mrb_num_div_int(mrb_state *mrb, mrb_int x, mrb_int y);
2291
+ #ifndef MRB_NO_FLOAT
2292
+ mrb_float mrb_num_div_flo(mrb_state *mrb, mrb_float x, mrb_float y);
2293
+ mrb_float x, y, f;
2264
2294
  #endif
2265
2295
 
2266
2296
  /* need to check if op is overridden */
2267
2297
  switch (TYPES2(mrb_type(regs[a]),mrb_type(regs[a+1]))) {
2268
- case TYPES2(MRB_TT_FIXNUM,MRB_TT_FIXNUM):
2269
- #ifdef MRB_WITHOUT_FLOAT
2298
+ case TYPES2(MRB_TT_INTEGER,MRB_TT_INTEGER):
2270
2299
  {
2271
- mrb_int x = mrb_fixnum(regs[a]);
2272
- mrb_int y = mrb_fixnum(regs[a+1]);
2273
- SET_INT_VALUE(regs[a], y ? x / y : 0);
2300
+ mrb_int x = mrb_integer(regs[a]);
2301
+ mrb_int y = mrb_integer(regs[a+1]);
2302
+ mrb_int div = mrb_num_div_int(mrb, x, y);
2303
+ SET_INT_VALUE(mrb, regs[a], div);
2274
2304
  }
2275
- break;
2276
- #else
2277
- x = (mrb_float)mrb_fixnum(regs[a]);
2278
- y = (mrb_float)mrb_fixnum(regs[a+1]);
2279
- break;
2280
- case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT):
2281
- x = (mrb_float)mrb_fixnum(regs[a]);
2305
+ NEXT;
2306
+ #ifndef MRB_NO_FLOAT
2307
+ case TYPES2(MRB_TT_INTEGER,MRB_TT_FLOAT):
2308
+ x = (mrb_float)mrb_integer(regs[a]);
2282
2309
  y = mrb_float(regs[a+1]);
2283
2310
  break;
2284
- case TYPES2(MRB_TT_FLOAT,MRB_TT_FIXNUM):
2311
+ case TYPES2(MRB_TT_FLOAT,MRB_TT_INTEGER):
2285
2312
  x = mrb_float(regs[a]);
2286
- y = (mrb_float)mrb_fixnum(regs[a+1]);
2313
+ y = (mrb_float)mrb_integer(regs[a+1]);
2287
2314
  break;
2288
2315
  case TYPES2(MRB_TT_FLOAT,MRB_TT_FLOAT):
2289
2316
  x = mrb_float(regs[a]);
@@ -2292,19 +2319,12 @@ RETRY_TRY_BLOCK:
2292
2319
  #endif
2293
2320
  default:
2294
2321
  c = 1;
2295
- mid = mrb_intern_lit(mrb, "/");
2322
+ mid = MRB_OPSYM(div);
2296
2323
  goto L_SEND_SYM;
2297
2324
  }
2298
2325
 
2299
- #ifndef MRB_WITHOUT_FLOAT
2300
- if (y == 0) {
2301
- if (x > 0) f = INFINITY;
2302
- else if (x < 0) f = -INFINITY;
2303
- else /* if (x == 0) */ f = NAN;
2304
- }
2305
- else {
2306
- f = x / y;
2307
- }
2326
+ #ifndef MRB_NO_FLOAT
2327
+ f = mrb_num_div_flo(mrb, x, y);
2308
2328
  SET_FLOAT_VALUE(mrb, regs[a], f);
2309
2329
  #endif
2310
2330
  NEXT;
@@ -2313,26 +2333,26 @@ RETRY_TRY_BLOCK:
2313
2333
  #define OP_MATHI(op_name) \
2314
2334
  /* need to check if op is overridden */ \
2315
2335
  switch (mrb_type(regs[a])) { \
2316
- OP_MATHI_CASE_FIXNUM(op_name); \
2336
+ OP_MATHI_CASE_INTEGER(op_name); \
2317
2337
  OP_MATHI_CASE_FLOAT(op_name); \
2318
2338
  default: \
2319
- SET_INT_VALUE(regs[a+1], b); \
2339
+ SET_INT_VALUE(mrb,regs[a+1], b); \
2320
2340
  c = 1; \
2321
- mid = mrb_intern_lit(mrb, MRB_STRINGIZE(OP_MATH_OP_##op_name)); \
2341
+ mid = MRB_OPSYM(op_name); \
2322
2342
  goto L_SEND_SYM; \
2323
2343
  } \
2324
2344
  NEXT;
2325
- #define OP_MATHI_CASE_FIXNUM(op_name) \
2326
- case MRB_TT_FIXNUM: \
2345
+ #define OP_MATHI_CASE_INTEGER(op_name) \
2346
+ case MRB_TT_INTEGER: \
2327
2347
  { \
2328
- mrb_int x = mrb_fixnum(regs[a]), y = (mrb_int)b, z; \
2348
+ mrb_int x = mrb_integer(regs[a]), y = (mrb_int)b, z; \
2329
2349
  if (mrb_int_##op_name##_overflow(x, y, &z)) \
2330
- OP_MATH_OVERFLOW_INT(op_name, x, y, z); \
2350
+ OP_MATH_OVERFLOW_INT(); \
2331
2351
  else \
2332
- SET_INT_VALUE(regs[a], z); \
2352
+ SET_INT_VALUE(mrb,regs[a], z); \
2333
2353
  } \
2334
2354
  break
2335
- #ifdef MRB_WITHOUT_FLOAT
2355
+ #ifdef MRB_NO_FLOAT
2336
2356
  #define OP_MATHI_CASE_FLOAT(op_name) (void)0
2337
2357
  #else
2338
2358
  #define OP_MATHI_CASE_FLOAT(op_name) \
@@ -2354,17 +2374,17 @@ RETRY_TRY_BLOCK:
2354
2374
 
2355
2375
  #define OP_CMP_BODY(op,v1,v2) (v1(regs[a]) op v2(regs[a+1]))
2356
2376
 
2357
- #ifdef MRB_WITHOUT_FLOAT
2358
- #define OP_CMP(op) do {\
2377
+ #ifdef MRB_NO_FLOAT
2378
+ #define OP_CMP(op,sym) do {\
2359
2379
  int result;\
2360
2380
  /* need to check if - is overridden */\
2361
2381
  switch (TYPES2(mrb_type(regs[a]),mrb_type(regs[a+1]))) {\
2362
- case TYPES2(MRB_TT_FIXNUM,MRB_TT_FIXNUM):\
2382
+ case TYPES2(MRB_TT_INTEGER,MRB_TT_INTEGER):\
2363
2383
  result = OP_CMP_BODY(op,mrb_fixnum,mrb_fixnum);\
2364
2384
  break;\
2365
2385
  default:\
2366
2386
  c = 1;\
2367
- mid = mrb_intern_lit(mrb, # op);\
2387
+ mid = MRB_OPSYM(sym);\
2368
2388
  goto L_SEND_SYM;\
2369
2389
  }\
2370
2390
  if (result) {\
@@ -2375,17 +2395,17 @@ RETRY_TRY_BLOCK:
2375
2395
  }\
2376
2396
  } while(0)
2377
2397
  #else
2378
- #define OP_CMP(op) do {\
2398
+ #define OP_CMP(op, sym) do {\
2379
2399
  int result;\
2380
2400
  /* need to check if - is overridden */\
2381
2401
  switch (TYPES2(mrb_type(regs[a]),mrb_type(regs[a+1]))) {\
2382
- case TYPES2(MRB_TT_FIXNUM,MRB_TT_FIXNUM):\
2402
+ case TYPES2(MRB_TT_INTEGER,MRB_TT_INTEGER):\
2383
2403
  result = OP_CMP_BODY(op,mrb_fixnum,mrb_fixnum);\
2384
2404
  break;\
2385
- case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT):\
2405
+ case TYPES2(MRB_TT_INTEGER,MRB_TT_FLOAT):\
2386
2406
  result = OP_CMP_BODY(op,mrb_fixnum,mrb_float);\
2387
2407
  break;\
2388
- case TYPES2(MRB_TT_FLOAT,MRB_TT_FIXNUM):\
2408
+ case TYPES2(MRB_TT_FLOAT,MRB_TT_INTEGER):\
2389
2409
  result = OP_CMP_BODY(op,mrb_float,mrb_fixnum);\
2390
2410
  break;\
2391
2411
  case TYPES2(MRB_TT_FLOAT,MRB_TT_FLOAT):\
@@ -2393,7 +2413,7 @@ RETRY_TRY_BLOCK:
2393
2413
  break;\
2394
2414
  default:\
2395
2415
  c = 1;\
2396
- mid = mrb_intern_lit(mrb, # op);\
2416
+ mid = MRB_OPSYM(sym);\
2397
2417
  goto L_SEND_SYM;\
2398
2418
  }\
2399
2419
  if (result) {\
@@ -2410,28 +2430,28 @@ RETRY_TRY_BLOCK:
2410
2430
  SET_TRUE_VALUE(regs[a]);
2411
2431
  }
2412
2432
  else {
2413
- OP_CMP(==);
2433
+ OP_CMP(==,eq);
2414
2434
  }
2415
2435
  NEXT;
2416
2436
  }
2417
2437
 
2418
2438
  CASE(OP_LT, B) {
2419
- OP_CMP(<);
2439
+ OP_CMP(<,lt);
2420
2440
  NEXT;
2421
2441
  }
2422
2442
 
2423
2443
  CASE(OP_LE, B) {
2424
- OP_CMP(<=);
2444
+ OP_CMP(<=,le);
2425
2445
  NEXT;
2426
2446
  }
2427
2447
 
2428
2448
  CASE(OP_GT, B) {
2429
- OP_CMP(>);
2449
+ OP_CMP(>,gt);
2430
2450
  NEXT;
2431
2451
  }
2432
2452
 
2433
2453
  CASE(OP_GE, B) {
2434
- OP_CMP(>=);
2454
+ OP_CMP(>=,ge);
2435
2455
  NEXT;
2436
2456
  }
2437
2457
 
@@ -2542,10 +2562,19 @@ RETRY_TRY_BLOCK:
2542
2562
  NEXT;
2543
2563
  }
2544
2564
 
2565
+ CASE(OP_STRING16, BS) {
2566
+ goto op_string;
2567
+ }
2545
2568
  CASE(OP_STRING, BB) {
2546
- mrb_value str = mrb_str_dup(mrb, pool[b]);
2547
-
2548
- regs[a] = str;
2569
+ size_t len;
2570
+ op_string:
2571
+ len = pool[b].tt >> 2;
2572
+ if (pool[b].tt & IREP_TT_SFLAG) {
2573
+ regs[a] = mrb_str_new_static(mrb, pool[b].u.str, len);
2574
+ }
2575
+ else {
2576
+ regs[a] = mrb_str_new(mrb, pool[b].u.str, len);
2577
+ }
2549
2578
  mrb_gc_arena_restore(mrb, ai);
2550
2579
  NEXT;
2551
2580
  }
@@ -2593,7 +2622,7 @@ RETRY_TRY_BLOCK:
2593
2622
  L_MAKE_LAMBDA:
2594
2623
  {
2595
2624
  struct RProc *p;
2596
- mrb_irep *nirep = irep->reps[b];
2625
+ const mrb_irep *nirep = irep->reps[b];
2597
2626
 
2598
2627
  if (c & OP_L_CAPTURE) {
2599
2628
  p = mrb_closure_new(mrb, nirep);
@@ -2615,6 +2644,18 @@ RETRY_TRY_BLOCK:
2615
2644
  c = OP_L_METHOD;
2616
2645
  goto L_MAKE_LAMBDA;
2617
2646
  }
2647
+ CASE(OP_LAMBDA16, BS) {
2648
+ c = OP_L_LAMBDA;
2649
+ goto L_MAKE_LAMBDA;
2650
+ }
2651
+ CASE(OP_BLOCK16, BS) {
2652
+ c = OP_L_BLOCK;
2653
+ goto L_MAKE_LAMBDA;
2654
+ }
2655
+ CASE(OP_METHOD16, BS) {
2656
+ c = OP_L_METHOD;
2657
+ goto L_MAKE_LAMBDA;
2658
+ }
2618
2659
 
2619
2660
  CASE(OP_RANGE_INC, B) {
2620
2661
  mrb_value val = mrb_range_new(mrb, regs[a], regs[a+1], FALSE);
@@ -2644,6 +2685,7 @@ RETRY_TRY_BLOCK:
2644
2685
  super = regs[a+1];
2645
2686
  if (mrb_nil_p(base)) {
2646
2687
  baseclass = MRB_PROC_TARGET_CLASS(mrb->c->ci->proc);
2688
+ if (!baseclass) baseclass = mrb->object_class;
2647
2689
  base = mrb_obj_value(baseclass);
2648
2690
  }
2649
2691
  c = mrb_vm_define_class(mrb, base, super, id);
@@ -2660,6 +2702,7 @@ RETRY_TRY_BLOCK:
2660
2702
  base = regs[a];
2661
2703
  if (mrb_nil_p(base)) {
2662
2704
  baseclass = MRB_PROC_TARGET_CLASS(mrb->c->ci->proc);
2705
+ if (!baseclass) baseclass = mrb->object_class;
2663
2706
  base = mrb_obj_value(baseclass);
2664
2707
  }
2665
2708
  cls = mrb_vm_define_module(mrb, base, id);
@@ -2668,11 +2711,14 @@ RETRY_TRY_BLOCK:
2668
2711
  NEXT;
2669
2712
  }
2670
2713
 
2671
- CASE(OP_EXEC, BB) {
2672
- mrb_callinfo *ci;
2714
+ CASE(OP_EXEC16, BS)
2715
+ goto L_EXEC;
2716
+ CASE(OP_EXEC, BB)
2717
+ L_EXEC:
2718
+ {
2673
2719
  mrb_value recv = regs[a];
2674
2720
  struct RProc *p;
2675
- mrb_irep *nirep = irep->reps[b];
2721
+ const mrb_irep *nirep = irep->reps[b];
2676
2722
 
2677
2723
  /* prepare closure */
2678
2724
  p = mrb_proc_new(mrb, nirep);
@@ -2682,19 +2728,7 @@ RETRY_TRY_BLOCK:
2682
2728
  p->flags |= MRB_PROC_SCOPE;
2683
2729
 
2684
2730
  /* prepare call stack */
2685
- ci = cipush(mrb);
2686
- ci->pc = pc;
2687
- ci->acc = a;
2688
- ci->mid = 0;
2689
- ci->stackent = mrb->c->stack;
2690
- ci->argc = 0;
2691
- ci->target_class = mrb_class_ptr(recv);
2692
-
2693
- /* prepare stack */
2694
- mrb->c->stack += a;
2695
-
2696
- /* setup block to call */
2697
- ci->proc = p;
2731
+ cipush(mrb, a, a, mrb_class_ptr(recv), p, 0, 0);
2698
2732
 
2699
2733
  irep = p->body.irep;
2700
2734
  pool = irep->pool;
@@ -2724,7 +2758,7 @@ RETRY_TRY_BLOCK:
2724
2758
 
2725
2759
  CASE(OP_TCLASS, B) {
2726
2760
  if (!check_target_class(mrb)) goto L_RAISE;
2727
- regs[a] = mrb_obj_value(mrb->c->ci->target_class);
2761
+ regs[a] = mrb_obj_value(mrb_vm_ci_target_class(mrb->c->ci));
2728
2762
  NEXT;
2729
2763
  }
2730
2764
 
@@ -2732,7 +2766,7 @@ RETRY_TRY_BLOCK:
2732
2766
  struct RClass *target;
2733
2767
 
2734
2768
  if (!check_target_class(mrb)) goto L_RAISE;
2735
- target = mrb->c->ci->target_class;
2769
+ target = mrb_vm_ci_target_class(mrb->c->ci);
2736
2770
  mrb_alias_method(mrb, target, syms[a], syms[b]);
2737
2771
  NEXT;
2738
2772
  }
@@ -2740,17 +2774,17 @@ RETRY_TRY_BLOCK:
2740
2774
  struct RClass *target;
2741
2775
 
2742
2776
  if (!check_target_class(mrb)) goto L_RAISE;
2743
- target = mrb->c->ci->target_class;
2777
+ target = mrb_vm_ci_target_class(mrb->c->ci);
2744
2778
  mrb_undef_method_id(mrb, target, syms[a]);
2745
2779
  NEXT;
2746
2780
  }
2747
2781
 
2748
2782
  CASE(OP_DEBUG, Z) {
2749
2783
  FETCH_BBB();
2750
- #ifdef MRB_ENABLE_DEBUG_HOOK
2784
+ #ifdef MRB_USE_DEBUG_HOOK
2751
2785
  mrb->debug_op_hook(mrb, irep, pc, regs);
2752
2786
  #else
2753
- #ifndef MRB_DISABLE_STDIO
2787
+ #ifndef MRB_NO_STDIO
2754
2788
  printf("OP_DEBUG %d %d %d\n", a, b, c);
2755
2789
  #else
2756
2790
  abort();
@@ -2760,56 +2794,32 @@ RETRY_TRY_BLOCK:
2760
2794
  }
2761
2795
 
2762
2796
  CASE(OP_ERR, B) {
2763
- mrb_value msg = mrb_str_dup(mrb, pool[a]);
2797
+ size_t len = pool[a].tt >> 2;
2764
2798
  mrb_value exc;
2765
2799
 
2766
- exc = mrb_exc_new_str(mrb, E_LOCALJUMP_ERROR, msg);
2767
- ERR_PC_SET(mrb);
2800
+ mrb_assert((pool[a].tt&IREP_TT_NFLAG)==0);
2801
+ exc = mrb_exc_new(mrb, E_LOCALJUMP_ERROR, pool[a].u.str, len);
2768
2802
  mrb_exc_set(mrb, exc);
2769
2803
  goto L_RAISE;
2770
2804
  }
2771
2805
 
2772
- CASE(OP_EXT1, Z) {
2773
- insn = READ_B();
2774
- switch (insn) {
2775
- #define OPCODE(insn,ops) case OP_ ## insn: FETCH_ ## ops ## _1(); goto L_OP_ ## insn ## _BODY;
2776
- #include "mruby/ops.h"
2777
- #undef OPCODE
2778
- }
2779
- pc--;
2780
- NEXT;
2781
- }
2782
- CASE(OP_EXT2, Z) {
2783
- insn = READ_B();
2784
- switch (insn) {
2785
- #define OPCODE(insn,ops) case OP_ ## insn: FETCH_ ## ops ## _2(); goto L_OP_ ## insn ## _BODY;
2786
- #include "mruby/ops.h"
2787
- #undef OPCODE
2788
- }
2789
- pc--;
2790
- NEXT;
2791
- }
2792
- CASE(OP_EXT3, Z) {
2793
- uint8_t insn = READ_B();
2794
- switch (insn) {
2795
- #define OPCODE(insn,ops) case OP_ ## insn: FETCH_ ## ops ## _3(); goto L_OP_ ## insn ## _BODY;
2796
- #include "mruby/ops.h"
2797
- #undef OPCODE
2798
- }
2799
- pc--;
2806
+ CASE(OP_SENDVK, BB) { /* not yet implemented */
2800
2807
  NEXT;
2801
2808
  }
2802
2809
 
2803
2810
  CASE(OP_STOP, Z) {
2804
2811
  /* stop VM */
2805
- L_STOP:
2806
- while (mrb->c->eidx > 0) {
2807
- ecall(mrb);
2812
+ CHECKPOINT_RESTORE(RBREAK_TAG_STOP) {
2813
+ /* do nothing */
2814
+ }
2815
+ CHECKPOINT_MAIN(RBREAK_TAG_STOP) {
2816
+ UNWIND_ENSURE(mrb, mrb->c->ci, pc, RBREAK_TAG_STOP, proc, mrb_nil_value());
2808
2817
  }
2809
- mrb->c->cibase->ridx = 0;
2810
- ERR_PC_CLR(mrb);
2818
+ CHECKPOINT_END(RBREAK_TAG_STOP);
2819
+ L_STOP:
2811
2820
  mrb->jmp = prev_jmp;
2812
2821
  if (mrb->exc) {
2822
+ mrb_assert(mrb->exc->tt == MRB_TT_EXCEPTION);
2813
2823
  return mrb_obj_value(mrb->exc);
2814
2824
  }
2815
2825
  return regs[irep->nlocals];
@@ -2819,14 +2829,19 @@ RETRY_TRY_BLOCK:
2819
2829
  #undef regs
2820
2830
  }
2821
2831
  MRB_CATCH(&c_jmp) {
2832
+ mrb_callinfo *ci = mrb->c->ci;
2833
+ while (ci > mrb->c->cibase && ci->acc == CI_ACC_DIRECT) {
2834
+ ci = cipop(mrb);
2835
+ }
2822
2836
  exc_catched = TRUE;
2837
+ pc = ci->pc;
2823
2838
  goto RETRY_TRY_BLOCK;
2824
2839
  }
2825
2840
  MRB_END_EXC(&c_jmp);
2826
2841
  }
2827
2842
 
2828
- MRB_API mrb_value
2829
- mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
2843
+ static mrb_value
2844
+ mrb_run(mrb_state *mrb, const struct RProc *proc, mrb_value self)
2830
2845
  {
2831
2846
  if (mrb->c->ci->argc < 0) {
2832
2847
  return mrb_vm_run(mrb, proc, self, 3); /* receiver, args and block) */
@@ -2837,34 +2852,29 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
2837
2852
  }
2838
2853
 
2839
2854
  MRB_API mrb_value
2840
- mrb_top_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int stack_keep)
2855
+ mrb_top_run(mrb_state *mrb, const struct RProc *proc, mrb_value self, mrb_int stack_keep)
2841
2856
  {
2842
- mrb_callinfo *ci;
2843
2857
  mrb_value v;
2844
2858
 
2845
2859
  if (!mrb->c->cibase) {
2846
2860
  return mrb_vm_run(mrb, proc, self, stack_keep);
2847
2861
  }
2848
2862
  if (mrb->c->ci == mrb->c->cibase) {
2849
- mrb->c->ci->env = NULL;
2863
+ mrb_vm_ci_env_set(mrb->c->ci, NULL);
2850
2864
  return mrb_vm_run(mrb, proc, self, stack_keep);
2851
2865
  }
2852
- ci = cipush(mrb);
2853
- ci->stackent = mrb->c->stack;
2854
- ci->mid = 0;
2855
- ci->acc = CI_ACC_SKIP;
2856
- ci->target_class = mrb->object_class;
2866
+ cipush(mrb, 0, CI_ACC_SKIP, mrb->object_class, NULL, 0, 0);
2857
2867
  v = mrb_vm_run(mrb, proc, self, stack_keep);
2858
2868
 
2859
2869
  return v;
2860
2870
  }
2861
2871
 
2862
- #if defined(MRB_ENABLE_CXX_EXCEPTION) && defined(__cplusplus)
2863
- # if !defined(MRB_ENABLE_CXX_ABI)
2872
+ #if defined(MRB_USE_CXX_EXCEPTION) && defined(__cplusplus)
2873
+ # if !defined(MRB_USE_CXX_ABI)
2864
2874
  } /* end of extern "C" */
2865
2875
  # endif
2866
2876
  mrb_int mrb_jmpbuf::jmpbuf_id = 0;
2867
- # if !defined(MRB_ENABLE_CXX_ABI)
2877
+ # if !defined(MRB_USE_CXX_ABI)
2868
2878
  extern "C" {
2869
2879
  # endif
2870
2880
  #endif