script_core 0.2.5 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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