script_core 0.0.6 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2211) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +7 -1
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +1 -1
  5. data/Gemfile +8 -1
  6. data/{LICENSE → MIT-LICENSE} +0 -0
  7. data/bootstrap.sh +1 -1
  8. data/dev.yml +1 -2
  9. data/ext/enterprise_script_service/Rakefile +7 -1
  10. data/ext/enterprise_script_service/data.cpp +21 -11
  11. data/ext/enterprise_script_service/libseccomp/.gitignore +4 -0
  12. data/ext/enterprise_script_service/libseccomp/.mailmap +10 -0
  13. data/ext/enterprise_script_service/libseccomp/.travis.yml +71 -0
  14. data/ext/enterprise_script_service/libseccomp/CHANGELOG +33 -0
  15. data/ext/enterprise_script_service/libseccomp/CONTRIBUTING.md +134 -0
  16. data/ext/enterprise_script_service/libseccomp/CREDITS +16 -1
  17. data/ext/enterprise_script_service/libseccomp/Makefile.am +32 -1
  18. data/ext/enterprise_script_service/libseccomp/README.md +113 -0
  19. data/ext/enterprise_script_service/libseccomp/RELEASE_PROCESS.md +97 -0
  20. data/ext/enterprise_script_service/libseccomp/configure.ac +8 -1
  21. data/ext/enterprise_script_service/libseccomp/doc/Makefile.am +3 -1
  22. data/ext/enterprise_script_service/libseccomp/doc/credits_updater +35 -0
  23. data/ext/enterprise_script_service/libseccomp/doc/man/man1/scmp_sys_resolver.1 +3 -1
  24. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_api_get.3 +101 -0
  25. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_api_set.3 +1 -0
  26. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_arch_add.3 +1 -1
  27. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_attr_set.3 +23 -4
  28. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_init.3 +9 -0
  29. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_merge.3 +2 -2
  30. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_rule_add.3 +80 -15
  31. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_syscall_resolve_name.3 +15 -1
  32. data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +185 -22
  33. data/ext/enterprise_script_service/libseccomp/src/Makefile.am +13 -4
  34. data/ext/enterprise_script_service/libseccomp/src/api.c +87 -8
  35. data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +18 -7
  36. data/ext/enterprise_script_service/libseccomp/src/arch-aarch64.h +2 -1
  37. data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +17 -6
  38. data/ext/enterprise_script_service/libseccomp/src/arch-arm.h +1 -1
  39. data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +17 -6
  40. data/ext/enterprise_script_service/libseccomp/src/arch-mips.h +1 -1
  41. data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +17 -6
  42. data/ext/enterprise_script_service/libseccomp/src/arch-mips64.h +1 -1
  43. data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +17 -6
  44. data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.h +1 -1
  45. data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +510 -0
  46. data/ext/enterprise_script_service/libseccomp/src/arch-parisc.c +22 -0
  47. data/ext/enterprise_script_service/libseccomp/src/arch-parisc.h +38 -0
  48. data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.c +22 -0
  49. data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +18 -7
  50. data/ext/enterprise_script_service/libseccomp/src/arch-ppc.h +1 -1
  51. data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +18 -7
  52. data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.h +1 -1
  53. data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +19 -7
  54. data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +43 -45
  55. data/ext/enterprise_script_service/libseccomp/src/arch-s390.h +2 -3
  56. data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +18 -7
  57. data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +43 -45
  58. data/ext/enterprise_script_service/libseccomp/src/arch-s390x.h +2 -3
  59. data/ext/enterprise_script_service/libseccomp/src/arch-syscall-check.c +56 -53
  60. data/ext/enterprise_script_service/libseccomp/src/arch-syscall-dump.c +23 -18
  61. data/ext/enterprise_script_service/libseccomp/src/arch-syscall-validate +52 -49
  62. data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +17 -6
  63. data/ext/enterprise_script_service/libseccomp/src/arch-x32.h +1 -1
  64. data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +18 -7
  65. data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +41 -45
  66. data/ext/enterprise_script_service/libseccomp/src/arch-x86.h +2 -3
  67. data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +17 -6
  68. data/ext/enterprise_script_service/libseccomp/src/arch-x86_64.h +1 -1
  69. data/ext/enterprise_script_service/libseccomp/src/arch.c +48 -83
  70. data/ext/enterprise_script_service/libseccomp/src/arch.h +4 -21
  71. data/ext/enterprise_script_service/libseccomp/src/db.c +1184 -541
  72. data/ext/enterprise_script_service/libseccomp/src/db.h +12 -32
  73. data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +43 -24
  74. data/ext/enterprise_script_service/libseccomp/src/gen_pfc.c +20 -7
  75. data/ext/enterprise_script_service/libseccomp/src/hash.c +65 -649
  76. data/ext/enterprise_script_service/libseccomp/src/hash.h +3 -13
  77. data/ext/enterprise_script_service/libseccomp/src/helper.c +49 -0
  78. data/ext/enterprise_script_service/libseccomp/src/helper.h +27 -0
  79. data/ext/enterprise_script_service/libseccomp/src/python/Makefile.am +9 -4
  80. data/ext/enterprise_script_service/libseccomp/src/python/libseccomp.pxd +9 -0
  81. data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +72 -8
  82. data/ext/enterprise_script_service/libseccomp/src/python/setup.py +0 -0
  83. data/ext/enterprise_script_service/libseccomp/src/system.c +137 -4
  84. data/ext/enterprise_script_service/libseccomp/src/system.h +32 -2
  85. data/ext/enterprise_script_service/libseccomp/tests/.gitignore +17 -0
  86. data/ext/enterprise_script_service/libseccomp/tests/01-sim-allow.tests +2 -2
  87. data/ext/enterprise_script_service/libseccomp/tests/05-sim-long_jumps.tests +18 -18
  88. data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.c +12 -0
  89. data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.py +4 -0
  90. data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.tests +13 -8
  91. data/ext/enterprise_script_service/libseccomp/tests/08-sim-subtree_checks.c +2 -2
  92. data/ext/enterprise_script_service/libseccomp/tests/08-sim-subtree_checks.py +2 -2
  93. data/ext/enterprise_script_service/libseccomp/tests/08-sim-subtree_checks.tests +27 -27
  94. data/ext/enterprise_script_service/libseccomp/tests/09-sim-syscall_priority_pre.tests +7 -7
  95. data/ext/enterprise_script_service/libseccomp/tests/10-sim-syscall_priority_post.tests +7 -7
  96. data/ext/enterprise_script_service/libseccomp/tests/11-basic-basic_errors.c +12 -0
  97. data/ext/enterprise_script_service/libseccomp/tests/12-sim-basic_masked_ops.tests +29 -29
  98. data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.c +37 -0
  99. data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.py +10 -0
  100. data/ext/enterprise_script_service/libseccomp/tests/15-basic-resolver.c +79 -21
  101. data/ext/enterprise_script_service/libseccomp/tests/15-basic-resolver.py +2 -2
  102. data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.c +44 -0
  103. data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.py +4 -0
  104. data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.c +6 -6
  105. data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.py +6 -6
  106. data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.tests +12 -12
  107. data/ext/enterprise_script_service/libseccomp/tests/20-live-basic_die.py +1 -0
  108. data/ext/enterprise_script_service/libseccomp/tests/20-live-basic_die.tests +4 -4
  109. data/ext/enterprise_script_service/libseccomp/tests/21-live-basic_allow.py +2 -0
  110. data/ext/enterprise_script_service/libseccomp/tests/21-live-basic_allow.tests +2 -2
  111. data/ext/enterprise_script_service/libseccomp/tests/24-live-arg_allow.py +3 -2
  112. data/ext/enterprise_script_service/libseccomp/tests/24-live-arg_allow.tests +2 -2
  113. data/ext/enterprise_script_service/libseccomp/tests/25-sim-multilevel_chains_adv.tests +6 -6
  114. data/ext/enterprise_script_service/libseccomp/tests/26-sim-arch_all_be_basic.c +6 -0
  115. data/ext/enterprise_script_service/libseccomp/tests/26-sim-arch_all_be_basic.py +2 -0
  116. data/ext/enterprise_script_service/libseccomp/tests/27-sim-bpf_blk_state.tests +5 -5
  117. data/ext/enterprise_script_service/libseccomp/tests/28-sim-arch_x86.py +0 -0
  118. data/ext/enterprise_script_service/libseccomp/tests/29-sim-pseudo_syscall.py +0 -0
  119. data/ext/enterprise_script_service/libseccomp/tests/32-live-tsync_allow.py +1 -0
  120. data/ext/enterprise_script_service/libseccomp/tests/32-live-tsync_allow.tests +2 -2
  121. data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.c +74 -0
  122. data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.py +45 -0
  123. data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.tests +32 -0
  124. data/ext/enterprise_script_service/libseccomp/tests/35-sim-negative_one.c +73 -0
  125. data/ext/enterprise_script_service/libseccomp/tests/35-sim-negative_one.py +46 -0
  126. data/ext/enterprise_script_service/libseccomp/tests/35-sim-negative_one.tests +18 -0
  127. data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.c +112 -0
  128. data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.py +56 -0
  129. data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.tests +39 -0
  130. data/ext/enterprise_script_service/libseccomp/tests/37-sim-ipc_syscalls_be.c +109 -0
  131. data/ext/enterprise_script_service/libseccomp/tests/37-sim-ipc_syscalls_be.py +55 -0
  132. data/ext/enterprise_script_service/libseccomp/tests/37-sim-ipc_syscalls_be.tests +27 -0
  133. data/ext/enterprise_script_service/libseccomp/tests/38-basic-pfc_coverage.c +104 -0
  134. data/ext/enterprise_script_service/libseccomp/tests/38-basic-pfc_coverage.sh +46 -0
  135. data/ext/enterprise_script_service/libseccomp/tests/38-basic-pfc_coverage.tests +11 -0
  136. data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.c +67 -0
  137. data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.py +68 -0
  138. data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.tests +11 -0
  139. data/ext/enterprise_script_service/libseccomp/tests/40-sim-log.c +59 -0
  140. data/ext/enterprise_script_service/libseccomp/tests/40-sim-log.py +47 -0
  141. data/ext/enterprise_script_service/libseccomp/tests/40-sim-log.tests +21 -0
  142. data/ext/enterprise_script_service/libseccomp/tests/41-sim-syscall_priority_arch.c +63 -0
  143. data/ext/enterprise_script_service/libseccomp/tests/41-sim-syscall_priority_arch.py +44 -0
  144. data/ext/enterprise_script_service/libseccomp/tests/41-sim-syscall_priority_arch.tests +19 -0
  145. data/ext/enterprise_script_service/libseccomp/tests/42-sim-adv_chains.c +198 -0
  146. data/ext/enterprise_script_service/libseccomp/tests/42-sim-adv_chains.py +128 -0
  147. data/ext/enterprise_script_service/libseccomp/tests/42-sim-adv_chains.tests +54 -0
  148. data/ext/enterprise_script_service/libseccomp/tests/43-sim-a2_order.c +132 -0
  149. data/ext/enterprise_script_service/libseccomp/tests/43-sim-a2_order.py +62 -0
  150. data/ext/enterprise_script_service/libseccomp/tests/43-sim-a2_order.tests +55 -0
  151. data/ext/enterprise_script_service/libseccomp/tests/44-live-a2_order.c +178 -0
  152. data/ext/enterprise_script_service/libseccomp/tests/44-live-a2_order.py +107 -0
  153. data/ext/enterprise_script_service/libseccomp/tests/44-live-a2_order.tests +11 -0
  154. data/ext/enterprise_script_service/libseccomp/tests/45-sim-chain_code_coverage.c +108 -0
  155. data/ext/enterprise_script_service/libseccomp/tests/45-sim-chain_code_coverage.py +48 -0
  156. data/ext/enterprise_script_service/libseccomp/tests/45-sim-chain_code_coverage.tests +16 -0
  157. data/ext/enterprise_script_service/libseccomp/tests/46-sim-kill_process.c +78 -0
  158. data/ext/enterprise_script_service/libseccomp/tests/46-sim-kill_process.py +47 -0
  159. data/ext/enterprise_script_service/libseccomp/tests/46-sim-kill_process.tests +16 -0
  160. data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.c +102 -0
  161. data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.py +68 -0
  162. data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.tests +11 -0
  163. data/ext/enterprise_script_service/libseccomp/tests/48-sim-32b_args.c +84 -0
  164. data/ext/enterprise_script_service/libseccomp/tests/48-sim-32b_args.py +50 -0
  165. data/ext/enterprise_script_service/libseccomp/tests/48-sim-32b_args.tests +38 -0
  166. data/ext/enterprise_script_service/libseccomp/tests/49-sim-64b_comparisons.c +56 -0
  167. data/ext/enterprise_script_service/libseccomp/tests/49-sim-64b_comparisons.py +45 -0
  168. data/ext/enterprise_script_service/libseccomp/tests/49-sim-64b_comparisons.tests +25 -0
  169. data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +68 -6
  170. data/ext/enterprise_script_service/libseccomp/tests/miniseq.c +3 -2
  171. data/ext/enterprise_script_service/libseccomp/tests/regression +102 -10
  172. data/ext/enterprise_script_service/libseccomp/tests/util.c +4 -0
  173. data/ext/enterprise_script_service/libseccomp/tests/util.py +2 -2
  174. data/ext/enterprise_script_service/libseccomp/tools/.gitignore +1 -0
  175. data/ext/enterprise_script_service/libseccomp/tools/Makefile.am +5 -1
  176. data/ext/enterprise_script_service/libseccomp/tools/bpf.h +8 -1
  177. data/ext/enterprise_script_service/libseccomp/tools/scmp_api_level.c +39 -0
  178. data/ext/enterprise_script_service/libseccomp/tools/scmp_arch_detect.c +6 -0
  179. data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_disasm.c +14 -2
  180. data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +12 -2
  181. data/ext/enterprise_script_service/libseccomp/tools/util.c +4 -0
  182. data/ext/enterprise_script_service/mruby/.gitignore +15 -8
  183. data/ext/enterprise_script_service/mruby/.travis.yml +3 -4
  184. data/ext/enterprise_script_service/mruby/.yardopts +1 -1
  185. data/ext/enterprise_script_service/mruby/AUTHORS +6 -2
  186. data/ext/enterprise_script_service/mruby/LEGAL +1 -1
  187. data/ext/enterprise_script_service/mruby/LICENSE +20 -0
  188. data/ext/enterprise_script_service/mruby/README.md +2 -2
  189. data/ext/enterprise_script_service/mruby/Rakefile +28 -12
  190. data/ext/enterprise_script_service/mruby/TODO +0 -2
  191. data/ext/enterprise_script_service/mruby/appveyor.yml +11 -7
  192. data/ext/enterprise_script_service/mruby/benchmark/bm_app_lc_fizzbuzz.rb +1 -2
  193. data/ext/enterprise_script_service/mruby/build_config.rb +3 -2
  194. data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
  195. data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +7 -2
  196. data/ext/enterprise_script_service/mruby/doc/limitations.md +69 -7
  197. data/ext/enterprise_script_service/mruby/doc/opcode.md +127 -0
  198. data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_arm64-v8a.rb +2 -2
  199. data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_armeabi.rb +2 -2
  200. data/ext/enterprise_script_service/mruby/include/mrbconf.h +9 -3
  201. data/ext/enterprise_script_service/mruby/include/mruby.h +45 -34
  202. data/ext/enterprise_script_service/mruby/include/mruby/array.h +17 -0
  203. data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +1 -1
  204. data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +12 -4
  205. data/ext/enterprise_script_service/mruby/include/mruby/class.h +18 -15
  206. data/ext/enterprise_script_service/mruby/include/mruby/common.h +6 -1
  207. data/ext/enterprise_script_service/mruby/include/mruby/compile.h +6 -5
  208. data/ext/enterprise_script_service/mruby/include/mruby/data.h +5 -4
  209. data/ext/enterprise_script_service/mruby/include/mruby/debug.h +5 -5
  210. data/ext/enterprise_script_service/mruby/include/mruby/dump.h +2 -2
  211. data/ext/enterprise_script_service/mruby/include/mruby/error.h +1 -1
  212. data/ext/enterprise_script_service/mruby/include/mruby/hash.h +56 -9
  213. data/ext/enterprise_script_service/mruby/include/mruby/irep.h +17 -4
  214. data/ext/enterprise_script_service/mruby/include/mruby/object.h +5 -6
  215. data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +47 -139
  216. data/ext/enterprise_script_service/mruby/include/mruby/ops.h +117 -0
  217. data/ext/enterprise_script_service/mruby/include/mruby/proc.h +8 -8
  218. data/ext/enterprise_script_service/mruby/include/mruby/range.h +29 -5
  219. data/ext/enterprise_script_service/mruby/include/mruby/string.h +20 -10
  220. data/ext/enterprise_script_service/mruby/include/mruby/throw.h +4 -4
  221. data/ext/enterprise_script_service/mruby/include/mruby/value.h +4 -0
  222. data/ext/enterprise_script_service/mruby/include/mruby/variable.h +7 -4
  223. data/ext/enterprise_script_service/mruby/include/mruby/version.h +7 -7
  224. data/ext/enterprise_script_service/mruby/lib/mruby-core-ext.rb +23 -17
  225. data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +35 -9
  226. data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +5 -5
  227. data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +5 -3
  228. data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +26 -27
  229. data/ext/enterprise_script_service/mruby/minirake +136 -15
  230. data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +9 -0
  231. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +54 -50
  232. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +3 -46
  233. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/test/array.rb +9 -24
  234. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mrbgem.rake +23 -0
  235. data/ext/enterprise_script_service/mruby/mrbgems/{mruby-bin-mruby-config → mruby-bin-config}/mruby-config +0 -0
  236. data/ext/enterprise_script_service/mruby/mrbgems/{mruby-bin-mruby-config → mruby-bin-config}/mruby-config.bat +0 -0
  237. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +13 -13
  238. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +9 -7
  239. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c +1 -1
  240. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +7 -2
  241. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.h +1 -1
  242. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c +3 -3
  243. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c +7 -1
  244. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +24 -1
  245. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdrun.c +1 -1
  246. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +8 -5
  247. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +2 -0
  248. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +22 -0
  249. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +84 -17
  250. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/mrbgem.rake +1 -1
  251. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +9 -0
  252. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +38 -1
  253. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -0
  254. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +60 -7
  255. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +3 -3
  256. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +1 -17
  257. data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/mrblib/module.rb +89 -0
  258. data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/test/module.rb +55 -1
  259. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +918 -767
  260. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/node.h +4 -20
  261. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +552 -273
  262. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/mrbgem.rake +3 -3
  263. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrbgem.rake +6 -0
  264. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb +60 -0
  265. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/test/enum_chain.rb +76 -0
  266. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +57 -37
  267. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/test/enum.rb +10 -2
  268. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-lazy/mrblib/lazy.rb +1 -1
  269. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-lazy/test/lazy.rb +1 -1
  270. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +47 -35
  271. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +22 -17
  272. data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +90 -40
  273. data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/test/eval.rb +33 -2
  274. data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +15 -12
  275. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +42 -47
  276. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +4 -47
  277. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +0 -6
  278. data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +12 -10
  279. data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.rb +17 -50
  280. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrbgem.rake +2 -1
  281. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +3 -2
  282. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +11 -8
  283. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +128 -117
  284. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +17 -21
  285. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file_test.rb +4 -4
  286. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +16 -53
  287. data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrblib/kernel.rb +2 -0
  288. data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +12 -30
  289. data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +4 -2
  290. data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +7 -10
  291. data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/test/math.rb +31 -51
  292. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/mrbgem.rake +5 -0
  293. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +702 -0
  294. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +369 -0
  295. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/kernel.rb +3 -2
  296. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/method.rb +8 -0
  297. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +4 -4
  298. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +27 -9
  299. data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +7 -10
  300. data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +2 -1
  301. data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/test/nil.rb +2 -1
  302. data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -1
  303. data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +1 -1
  304. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +126 -79
  305. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/test/pack.rb +2 -2
  306. data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +1 -4
  307. data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +0 -1
  308. data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/mrblib/proc.rb +9 -1
  309. data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +34 -19
  310. data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.rb +18 -0
  311. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +7 -7
  312. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +0 -12
  313. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +1 -4
  314. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +13 -14
  315. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.gitignore +4 -0
  316. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis.yml +29 -0
  317. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis_build_config.rb +6 -0
  318. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/README.md +27 -0
  319. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/Rakefile +29 -0
  320. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/example/sleep.rb +3 -0
  321. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/mrbgem.rake +5 -0
  322. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/src/mrb_sleep.c +135 -0
  323. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/test/sleep_test.rb +29 -0
  324. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/mrbgem.rake +1 -0
  325. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/mrblib/socket.rb +3 -3
  326. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/const.cstub +6 -0
  327. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/const.def +2 -0
  328. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +48 -20
  329. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/addrinfo.rb +5 -5
  330. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/socket.rb +2 -2
  331. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/sockettest.c +1 -0
  332. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +14 -13
  333. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +6 -3
  334. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +96 -21
  335. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +626 -190
  336. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/string.rb +102 -59
  337. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +15 -16
  338. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +16 -15
  339. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/test/struct.rb +2 -2
  340. data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +0 -6
  341. data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +13 -6
  342. data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +21 -13
  343. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +22 -39
  344. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +22 -23
  345. data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/include/mruby/time.h +25 -0
  346. data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +26 -22
  347. data/ext/enterprise_script_service/mruby/mrbgems/mruby-toplevel-ext/test/toplevel.rb +2 -2
  348. data/ext/enterprise_script_service/mruby/mrblib/array.rb +70 -40
  349. data/ext/enterprise_script_service/mruby/mrblib/enum.rb +4 -3
  350. data/ext/enterprise_script_service/mruby/mrblib/hash.rb +17 -46
  351. data/ext/enterprise_script_service/mruby/mrblib/kernel.rb +1 -1
  352. data/ext/enterprise_script_service/mruby/mrblib/mrblib.rake +1 -4
  353. data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +2 -2
  354. data/ext/enterprise_script_service/mruby/mrblib/string.rb +7 -8
  355. data/ext/enterprise_script_service/mruby/mrblib/symbol.rb +7 -0
  356. data/ext/enterprise_script_service/mruby/src/array.c +97 -44
  357. data/ext/enterprise_script_service/mruby/src/backtrace.c +14 -16
  358. data/ext/enterprise_script_service/mruby/src/class.c +156 -464
  359. data/ext/enterprise_script_service/mruby/src/codedump.c +436 -364
  360. data/ext/enterprise_script_service/mruby/src/debug.c +42 -45
  361. data/ext/enterprise_script_service/mruby/src/dump.c +27 -152
  362. data/ext/enterprise_script_service/mruby/src/enum.c +18 -2
  363. data/ext/enterprise_script_service/mruby/src/error.c +5 -4
  364. data/ext/enterprise_script_service/mruby/src/etc.c +1 -0
  365. data/ext/enterprise_script_service/mruby/src/fmt_fp.c +15 -1
  366. data/ext/enterprise_script_service/mruby/src/gc.c +76 -30
  367. data/ext/enterprise_script_service/mruby/src/hash.c +768 -256
  368. data/ext/enterprise_script_service/mruby/src/kernel.c +24 -446
  369. data/ext/enterprise_script_service/mruby/src/load.c +35 -35
  370. data/ext/enterprise_script_service/mruby/src/mruby_core.rake +2 -3
  371. data/ext/enterprise_script_service/mruby/src/numeric.c +96 -32
  372. data/ext/enterprise_script_service/mruby/src/object.c +88 -43
  373. data/ext/enterprise_script_service/mruby/src/proc.c +16 -14
  374. data/ext/enterprise_script_service/mruby/src/range.c +186 -176
  375. data/ext/enterprise_script_service/mruby/src/state.c +5 -5
  376. data/ext/enterprise_script_service/mruby/src/string.c +79 -93
  377. data/ext/enterprise_script_service/mruby/src/symbol.c +173 -85
  378. data/ext/enterprise_script_service/mruby/src/variable.c +283 -177
  379. data/ext/enterprise_script_service/mruby/src/vm.c +711 -688
  380. data/ext/enterprise_script_service/mruby/tasks/libmruby.rake +4 -3
  381. data/ext/enterprise_script_service/mruby/tasks/mrbgems.rake +3 -2
  382. data/ext/enterprise_script_service/mruby/tasks/toolchains/android.rake +1 -0
  383. data/ext/enterprise_script_service/mruby/tasks/toolchains/clang.rake +1 -1
  384. data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +4 -6
  385. data/ext/enterprise_script_service/mruby/tasks/toolchains/openwrt.rake +0 -2
  386. data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +12 -11
  387. data/ext/enterprise_script_service/mruby/test/assert.rb +114 -121
  388. data/ext/enterprise_script_service/mruby/test/bintest.rb +10 -1
  389. data/ext/enterprise_script_service/mruby/test/t/array.rb +11 -11
  390. data/ext/enterprise_script_service/mruby/test/t/bs_block.rb +32 -31
  391. data/ext/enterprise_script_service/mruby/test/t/class.rb +11 -23
  392. data/ext/enterprise_script_service/mruby/test/t/codegen.rb +3 -3
  393. data/ext/enterprise_script_service/mruby/test/t/enumerable.rb +1 -1
  394. data/ext/enterprise_script_service/mruby/test/t/exception.rb +2 -2
  395. data/ext/enterprise_script_service/mruby/test/t/float.rb +41 -2
  396. data/ext/enterprise_script_service/mruby/test/t/hash.rb +6 -5
  397. data/ext/enterprise_script_service/mruby/test/t/integer.rb +26 -44
  398. data/ext/enterprise_script_service/mruby/test/t/kernel.rb +7 -119
  399. data/ext/enterprise_script_service/mruby/test/t/literals.rb +1 -1
  400. data/ext/enterprise_script_service/mruby/test/t/module.rb +93 -282
  401. data/ext/enterprise_script_service/mruby/test/t/numeric.rb +40 -11
  402. data/ext/enterprise_script_service/mruby/test/t/proc.rb +1 -1
  403. data/ext/enterprise_script_service/mruby/test/t/range.rb +19 -2
  404. data/ext/enterprise_script_service/mruby/test/t/string.rb +17 -24
  405. data/ext/enterprise_script_service/mruby/test/t/symbol.rb +6 -2
  406. data/ext/enterprise_script_service/mruby/test/t/syntax.rb +191 -3
  407. data/ext/enterprise_script_service/mruby/travis_config.rb +1 -1
  408. data/ext/enterprise_script_service/mruby_engine.cpp +1 -1
  409. data/ext/enterprise_script_service/mruby_engine.gembox +1 -0
  410. data/ext/enterprise_script_service/msgpack/.travis.yml +77 -44
  411. data/ext/enterprise_script_service/msgpack/CHANGELOG.md +75 -0
  412. data/ext/enterprise_script_service/msgpack/CMakeLists.txt +187 -50
  413. data/ext/enterprise_script_service/msgpack/Doxyfile +1 -1
  414. data/ext/enterprise_script_service/msgpack/Files.cmake +87 -0
  415. data/ext/enterprise_script_service/msgpack/QUICKSTART-C.md +3 -3
  416. data/ext/enterprise_script_service/msgpack/QUICKSTART-CPP.md +1 -1
  417. data/ext/enterprise_script_service/msgpack/README.md +15 -7
  418. data/ext/enterprise_script_service/msgpack/appveyor.yml +9 -5
  419. data/ext/enterprise_script_service/msgpack/ci/build_cmake.sh +2 -2
  420. data/ext/enterprise_script_service/msgpack/ci/build_regression.sh +49 -0
  421. data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_define_array.hpp.erb +4 -2
  422. data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_define_map.hpp.erb +2 -1
  423. data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_msgpack_tuple.hpp.erb +1 -1
  424. data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_zone.hpp.erb +25 -18
  425. data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_zone_decl.hpp.erb +8 -0
  426. data/ext/enterprise_script_service/msgpack/example/boost/CMakeLists.txt +28 -1
  427. data/ext/enterprise_script_service/msgpack/example/boost/asio_send_recv.cpp +104 -0
  428. data/ext/enterprise_script_service/msgpack/example/boost/asio_send_recv_zlib.cpp +176 -0
  429. data/ext/enterprise_script_service/msgpack/example/c/CMakeLists.txt +4 -2
  430. data/ext/enterprise_script_service/msgpack/example/c/speed_test_uint32_array.c +1 -1
  431. data/ext/enterprise_script_service/msgpack/example/c/speed_test_uint64_array.c +1 -1
  432. data/ext/enterprise_script_service/msgpack/example/cpp03/CMakeLists.txt +15 -3
  433. data/ext/enterprise_script_service/msgpack/example/cpp03/class_non_intrusive.cpp +1 -1
  434. data/ext/enterprise_script_service/msgpack/example/cpp11/CMakeLists.txt +5 -1
  435. data/ext/enterprise_script_service/msgpack/example/x3/CMakeLists.txt +12 -4
  436. data/ext/enterprise_script_service/msgpack/example/x3/parse.cpp +7 -1
  437. data/ext/enterprise_script_service/msgpack/example/x3/stream_unpack.cpp +9 -0
  438. data/ext/enterprise_script_service/msgpack/external/boost/predef/.gitattributes +96 -0
  439. data/ext/enterprise_script_service/msgpack/external/boost/predef/.gitignore +3 -0
  440. data/ext/enterprise_script_service/msgpack/external/boost/predef/.project +17 -0
  441. data/ext/enterprise_script_service/msgpack/external/boost/predef/.pydevproject +5 -0
  442. data/ext/enterprise_script_service/msgpack/external/boost/predef/.travis.yml +109 -0
  443. data/ext/enterprise_script_service/msgpack/external/boost/predef/appveyor.yml +149 -0
  444. data/ext/enterprise_script_service/msgpack/external/boost/predef/build.jam +6 -0
  445. data/ext/enterprise_script_service/msgpack/external/boost/predef/check/predef.jam +17 -0
  446. data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/.gitignore +1 -0
  447. data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/build.jam +100 -0
  448. data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/hardware_simd.qbk +89 -0
  449. data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/history.qbk +93 -0
  450. data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/predef.qbk +734 -0
  451. data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/todo.qbk +12 -0
  452. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/detail/endian.hpp +11 -0
  453. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef.h +24 -0
  454. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture.h +33 -0
  455. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/alpha.h +59 -0
  456. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/arm.h +80 -0
  457. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/blackfin.h +46 -0
  458. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/convex.h +65 -0
  459. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/ia64.h +49 -0
  460. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/m68k.h +82 -0
  461. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/mips.h +73 -0
  462. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/parisc.h +64 -0
  463. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/ppc.h +72 -0
  464. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/ptx.h +44 -0
  465. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/pyramid.h +42 -0
  466. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/rs6k.h +56 -0
  467. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/sparc.h +54 -0
  468. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/superh.h +67 -0
  469. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/sys370.h +43 -0
  470. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/sys390.h +43 -0
  471. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/x86.h +38 -0
  472. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/x86/32.h +87 -0
  473. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/x86/64.h +50 -0
  474. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/z.h +42 -0
  475. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler.h +44 -0
  476. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/borland.h +63 -0
  477. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/clang.h +56 -0
  478. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/comeau.h +61 -0
  479. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/compaq.h +66 -0
  480. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/diab.h +56 -0
  481. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/digitalmars.h +56 -0
  482. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/dignus.h +56 -0
  483. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/edg.h +56 -0
  484. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/ekopath.h +57 -0
  485. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/gcc.h +68 -0
  486. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/gcc_xml.h +53 -0
  487. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/greenhills.h +66 -0
  488. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/hp_acc.h +61 -0
  489. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/iar.h +56 -0
  490. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/ibm.h +72 -0
  491. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/intel.h +79 -0
  492. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/kai.h +56 -0
  493. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/llvm.h +57 -0
  494. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/metaware.h +53 -0
  495. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/metrowerks.h +77 -0
  496. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/microtec.h +53 -0
  497. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/mpw.h +63 -0
  498. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/nvcc.h +60 -0
  499. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/palm.h +56 -0
  500. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/pgi.h +60 -0
  501. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/sgi_mipspro.h +66 -0
  502. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/sunpro.h +76 -0
  503. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/tendra.h +53 -0
  504. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/visualc.h +105 -0
  505. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/watcom.h +56 -0
  506. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/_cassert.h +17 -0
  507. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/_exception.h +15 -0
  508. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/comp_detected.h +10 -0
  509. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/endian_compat.h +26 -0
  510. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/os_detected.h +10 -0
  511. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/platform_detected.h +10 -0
  512. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/test.h +17 -0
  513. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/test_def.h +71 -0
  514. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware.h +16 -0
  515. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd.h +119 -0
  516. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/arm.h +59 -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/ppc.h +69 -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/x86.h +123 -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_amd.h +87 -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/language.h +18 -0
  525. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/cuda.h +52 -0
  526. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/objc.h +42 -0
  527. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/stdc.h +53 -0
  528. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/stdcpp.h +121 -0
  529. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library.h +16 -0
  530. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c.h +21 -0
  531. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/_prefix.h +13 -0
  532. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/cloudabi.h +53 -0
  533. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/gnu.h +61 -0
  534. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/uc.h +47 -0
  535. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/vms.h +47 -0
  536. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/zos.h +56 -0
  537. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std.h +25 -0
  538. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/_prefix.h +23 -0
  539. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/cxx.h +46 -0
  540. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/dinkumware.h +52 -0
  541. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/libcomo.h +47 -0
  542. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/modena.h +45 -0
  543. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/msl.h +53 -0
  544. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/roguewave.h +56 -0
  545. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/sgi.h +51 -0
  546. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/stdcpp3.h +53 -0
  547. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/stlport.h +59 -0
  548. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/vacpp.h +44 -0
  549. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/make.h +97 -0
  550. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os.h +33 -0
  551. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/aix.h +66 -0
  552. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/amigaos.h +46 -0
  553. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/android.h +45 -0
  554. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/beos.h +45 -0
  555. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd.h +103 -0
  556. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/bsdi.h +48 -0
  557. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/dragonfly.h +50 -0
  558. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/free.h +67 -0
  559. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/net.h +84 -0
  560. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/open.h +251 -0
  561. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/cygwin.h +45 -0
  562. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/haiku.h +46 -0
  563. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/hpux.h +47 -0
  564. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/ios.h +51 -0
  565. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/irix.h +46 -0
  566. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/linux.h +46 -0
  567. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/macos.h +65 -0
  568. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/os400.h +45 -0
  569. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/qnxnto.h +59 -0
  570. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/solaris.h +46 -0
  571. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/unix.h +76 -0
  572. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/vms.h +52 -0
  573. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/windows.h +51 -0
  574. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/other.h +16 -0
  575. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/other/endian.h +203 -0
  576. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/other/workaround.h +87 -0
  577. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform.h +28 -0
  578. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/cloudabi.h +43 -0
  579. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/ios.h +58 -0
  580. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/mingw.h +69 -0
  581. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/mingw32.h +63 -0
  582. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/mingw64.h +63 -0
  583. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_desktop.h +51 -0
  584. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_phone.h +48 -0
  585. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_runtime.h +53 -0
  586. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_server.h +47 -0
  587. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_store.h +50 -0
  588. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_system.h +47 -0
  589. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_uwp.h +60 -0
  590. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/version.h +15 -0
  591. data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/version_number.h +72 -0
  592. data/ext/enterprise_script_service/msgpack/external/boost/predef/index.html +14 -0
  593. data/ext/enterprise_script_service/msgpack/external/boost/predef/meta/libraries.json +14 -0
  594. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/.gitignore +3 -0
  595. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/build.jam +80 -0
  596. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/check_value.cpp +26 -0
  597. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_c.c +7 -0
  598. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_cpp.cpp +7 -0
  599. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_objc.m +7 -0
  600. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_objcpp.mm +7 -0
  601. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/macos_endian.c +21 -0
  602. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/macos_vs_bsd.c +19 -0
  603. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/make.cpp +94 -0
  604. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/platform_windows.cpp +177 -0
  605. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/predef_info.h +46 -0
  606. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/tested_at.cpp +62 -0
  607. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/tested_at_outdated.cpp +18 -0
  608. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/version.cpp +83 -0
  609. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/workaround.cpp +62 -0
  610. data/ext/enterprise_script_service/msgpack/external/boost/predef/test/workaround_strict_config.cpp +17 -0
  611. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/build.jam +9 -0
  612. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef.jam +202 -0
  613. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check.h +98 -0
  614. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_c.c +7 -0
  615. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_cpp.cpp +7 -0
  616. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_objc.m +7 -0
  617. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_objcpp.mm +7 -0
  618. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc.h +19 -0
  619. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_c.c +7 -0
  620. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_cpp.cpp +7 -0
  621. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_objc.m +7 -0
  622. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_objcpp.mm +7 -0
  623. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/ci/build_log.py +428 -0
  624. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/ci/common.py +878 -0
  625. data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/ci/library_test.py +198 -0
  626. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/.gitattributes +96 -0
  627. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/.travis.yml +39 -0
  628. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/appveyor.yml +36 -0
  629. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/AppendixA-AnIntroductiontoPreprocessorMetaprogramming.html +2494 -0
  630. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/acknowledgements.html +58 -0
  631. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/bibliography.html +58 -0
  632. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/contents.html +38 -0
  633. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data.html +27 -0
  634. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/arrays.html +55 -0
  635. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/lists.html +42 -0
  636. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/sequences.html +60 -0
  637. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/tuples.html +42 -0
  638. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples.html +27 -0
  639. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/array_arithmetic.c +196 -0
  640. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/catch_builtin.cpp +51 -0
  641. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/delay.c +95 -0
  642. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/duffs_device.c +61 -0
  643. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/is_integral.cpp +49 -0
  644. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/linear_fib.c +91 -0
  645. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers.html +249 -0
  646. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic.html +36 -0
  647. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/add.html +31 -0
  648. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/dec.html +30 -0
  649. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/div.html +31 -0
  650. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/inc.html +30 -0
  651. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/mod.html +31 -0
  652. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/mul.html +31 -0
  653. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/sub.html +31 -0
  654. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array.html +43 -0
  655. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/data.html +30 -0
  656. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/elem.html +30 -0
  657. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/enum.html +24 -0
  658. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/insert.html +31 -0
  659. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/pop_back.html +31 -0
  660. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/pop_front.html +31 -0
  661. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/push_back.html +30 -0
  662. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/push_front.html +30 -0
  663. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/remove.html +31 -0
  664. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/replace.html +31 -0
  665. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/reverse.html +30 -0
  666. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/size.html +30 -0
  667. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/to_list.html +24 -0
  668. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/to_seq.html +24 -0
  669. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/to_tuple.html +24 -0
  670. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/assert_msg.html +31 -0
  671. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/cat.html +30 -0
  672. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comma.html +31 -0
  673. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comma_if.html +31 -0
  674. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison.html +35 -0
  675. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/equal.html +31 -0
  676. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/greater.html +31 -0
  677. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/greater_equal.html +31 -0
  678. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/less.html +31 -0
  679. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/less_equal.html +31 -0
  680. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/not_equal.html +31 -0
  681. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/config/limits.html +44 -0
  682. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/config/variadics.html +32 -0
  683. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control.html +35 -0
  684. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/deduce_d.html +30 -0
  685. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/expr_if.html +30 -0
  686. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/expr_iif.html +30 -0
  687. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/if.html +30 -0
  688. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/iif.html +30 -0
  689. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/while.html +31 -0
  690. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/debug.html +31 -0
  691. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/debug/assert.html +31 -0
  692. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/debug/line.html +30 -0
  693. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/dec.html +31 -0
  694. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/empty.html +31 -0
  695. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum.html +31 -0
  696. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum_params.html +31 -0
  697. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum_shifted.html +31 -0
  698. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum_shifted_params.html +31 -0
  699. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/epwad.html +31 -0
  700. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/epwd.html +31 -0
  701. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/expand.html +31 -0
  702. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/expr_if.html +31 -0
  703. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities.html +34 -0
  704. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/apply.html +30 -0
  705. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/empty.html +30 -0
  706. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/expand.html +30 -0
  707. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/identity.html +32 -0
  708. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/intercept.html +30 -0
  709. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/overload.html +28 -0
  710. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/for.html +31 -0
  711. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/identity.html +31 -0
  712. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/if.html +31 -0
  713. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/inc.html +31 -0
  714. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iterate.html +31 -0
  715. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration.html +32 -0
  716. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration/iterate.html +43 -0
  717. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration/local.html +30 -0
  718. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration/self.html +30 -0
  719. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/library.html +26 -0
  720. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/limits.html +31 -0
  721. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list.html +47 -0
  722. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/adt.html +35 -0
  723. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/append.html +31 -0
  724. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/at.html +31 -0
  725. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/cat.html +31 -0
  726. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/enum.html +31 -0
  727. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/filter.html +31 -0
  728. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/first_n.html +31 -0
  729. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/fold_left.html +34 -0
  730. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/fold_right.html +34 -0
  731. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/for_each.html +31 -0
  732. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/for_each_i.html +31 -0
  733. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/for_each_product.html +31 -0
  734. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/rest_n.html +31 -0
  735. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/reverse.html +31 -0
  736. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/size.html +31 -0
  737. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/to_array.html +29 -0
  738. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/to_seq.html +25 -0
  739. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/to_tuple.html +31 -0
  740. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/transform.html +31 -0
  741. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical.html +40 -0
  742. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/and.html +30 -0
  743. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitand.html +30 -0
  744. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitnor.html +30 -0
  745. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitor.html +30 -0
  746. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitxor.html +30 -0
  747. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bool.html +30 -0
  748. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/compl.html +30 -0
  749. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/nor.html +30 -0
  750. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/not.html +30 -0
  751. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/or.html +30 -0
  752. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/xor.html +30 -0
  753. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/max.html +31 -0
  754. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/min.html +31 -0
  755. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/preprocessor.html +26 -0
  756. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation.html +33 -0
  757. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/comma.html +30 -0
  758. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/comma_if.html +30 -0
  759. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/is_begin_parens.html +26 -0
  760. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/paren.html +31 -0
  761. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/paren_if.html +31 -0
  762. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/remove_parens.html +26 -0
  763. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat.html +31 -0
  764. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_2nd.html +31 -0
  765. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_3rd.html +31 -0
  766. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_from_to.html +31 -0
  767. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_from_to_2nd.html +31 -0
  768. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_from_to_3rd.html +31 -0
  769. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition.html +44 -0
  770. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/deduce_r.html +30 -0
  771. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/deduce_z.html +30 -0
  772. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum.html +31 -0
  773. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_binary_params.html +31 -0
  774. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_params.html +31 -0
  775. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_shifted.html +31 -0
  776. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_shifted_params.html +31 -0
  777. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_trailing.html +31 -0
  778. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_trailing_params.html +31 -0
  779. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/epwad.html +30 -0
  780. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/epwd.html +30 -0
  781. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/esbp.html +31 -0
  782. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/etbp.html +31 -0
  783. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/for.html +31 -0
  784. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/repeat.html +34 -0
  785. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/repeat_from_to.html +36 -0
  786. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/selection.html +31 -0
  787. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/selection/max.html +31 -0
  788. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/selection/min.html +31 -0
  789. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq.html +86 -0
  790. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/cat.html +38 -0
  791. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/elem.html +35 -0
  792. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/enum.html +35 -0
  793. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/filter.html +37 -0
  794. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/first_n.html +36 -0
  795. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/fold_left.html +38 -0
  796. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/fold_right.html +38 -0
  797. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/for_each.html +38 -0
  798. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/for_each_i.html +38 -0
  799. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/for_each_product.html +38 -0
  800. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/insert.html +35 -0
  801. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/pop_back.html +36 -0
  802. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/pop_front.html +36 -0
  803. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/push_back.html +35 -0
  804. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/push_front.html +35 -0
  805. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/remove.html +35 -0
  806. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/replace.html +35 -0
  807. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/rest_n.html +36 -0
  808. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/reverse.html +37 -0
  809. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/seq.html +39 -0
  810. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/size.html +35 -0
  811. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/subseq.html +35 -0
  812. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/to_array.html +36 -0
  813. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/to_list.html +30 -0
  814. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/to_tuple.html +36 -0
  815. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/transform.html +37 -0
  816. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/variadic_seq_to_seq.html +34 -0
  817. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/slot.html +30 -0
  818. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/slot/counter.html +31 -0
  819. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/slot/slot.html +31 -0
  820. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/stringize.html +30 -0
  821. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple.html +59 -0
  822. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/eat.html +25 -0
  823. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/elem.html +25 -0
  824. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/enum.html +25 -0
  825. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/insert.html +27 -0
  826. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/pop_back.html +28 -0
  827. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/pop_front.html +28 -0
  828. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/push_back.html +26 -0
  829. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/push_front.html +26 -0
  830. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/rem.html +27 -0
  831. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/remove.html +27 -0
  832. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/replace.html +28 -0
  833. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/reverse.html +25 -0
  834. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/size.html +25 -0
  835. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/to_array.html +25 -0
  836. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/to_list.html +25 -0
  837. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/to_seq.html +31 -0
  838. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic.html +33 -0
  839. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/elem.html +29 -0
  840. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/size.html +25 -0
  841. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_array.html +25 -0
  842. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_list.html +25 -0
  843. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_seq.html +30 -0
  844. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_tuple.html +31 -0
  845. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/while.html +31 -0
  846. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/wstringize.html +30 -0
  847. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/index.html +23 -0
  848. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/miscellanea.html +24 -0
  849. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref.html +319 -0
  850. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/add.html +68 -0
  851. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/add_d.html +90 -0
  852. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/and.html +64 -0
  853. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/apply.html +64 -0
  854. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_data.html +49 -0
  855. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_elem.html +51 -0
  856. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_enum.html +37 -0
  857. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_insert.html +71 -0
  858. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_insert_d.html +63 -0
  859. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_back.html +59 -0
  860. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_back_z.html +51 -0
  861. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_front.html +51 -0
  862. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_front_z.html +51 -0
  863. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_push_back.html +49 -0
  864. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_push_front.html +49 -0
  865. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_remove.html +60 -0
  866. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_remove_d.html +51 -0
  867. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_replace.html +64 -0
  868. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_replace_d.html +55 -0
  869. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_reverse.html +45 -0
  870. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_size.html +45 -0
  871. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_to_list.html +41 -0
  872. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_to_seq.html +37 -0
  873. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_to_tuple.html +39 -0
  874. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/assert.html +114 -0
  875. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/assert_msg.html +66 -0
  876. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/assign_slot.html +61 -0
  877. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitand.html +65 -0
  878. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitnor.html +65 -0
  879. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitor.html +65 -0
  880. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitxor.html +66 -0
  881. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bool.html +54 -0
  882. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/cat.html +57 -0
  883. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/comma.html +43 -0
  884. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/comma_if.html +60 -0
  885. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/compl.html +58 -0
  886. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/config_extended_line_info.html +54 -0
  887. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/counter.html +58 -0
  888. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/dec.html +54 -0
  889. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/deduce_d.html +82 -0
  890. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/deduce_r.html +48 -0
  891. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/deduce_z.html +48 -0
  892. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/div.html +63 -0
  893. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/div_d.html +85 -0
  894. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/empty.html +47 -0
  895. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum.html +80 -0
  896. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_binary_params.html +76 -0
  897. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_binary_params_z.html +93 -0
  898. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params.html +69 -0
  899. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params_with_a_default.html +83 -0
  900. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params_with_defaults.html +84 -0
  901. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params_z.html +82 -0
  902. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted.html +82 -0
  903. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted_params.html +73 -0
  904. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted_params_z.html +79 -0
  905. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted_z.html +93 -0
  906. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing.html +83 -0
  907. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing_params.html +66 -0
  908. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing_params_z.html +81 -0
  909. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing_z.html +96 -0
  910. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_z.html +96 -0
  911. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/equal.html +64 -0
  912. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/equal_d.html +69 -0
  913. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/esbp.html +65 -0
  914. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/esbpz.html +67 -0
  915. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/etbp.html +83 -0
  916. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/etbpz.html +67 -0
  917. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/expand.html +67 -0
  918. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/expr_if.html +70 -0
  919. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/expr_iif.html +67 -0
  920. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/filename_x.html +52 -0
  921. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/for.html +105 -0
  922. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/for_r.html +148 -0
  923. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/for_r_macros.html +44 -0
  924. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_finish.html +42 -0
  925. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_flags.html +42 -0
  926. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_iteration.html +73 -0
  927. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_start.html +42 -0
  928. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater.html +65 -0
  929. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater_d.html +69 -0
  930. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater_equal.html +65 -0
  931. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater_equal_d.html +69 -0
  932. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/identity.html +57 -0
  933. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/identity_n.html +58 -0
  934. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/if.html +63 -0
  935. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iif.html +66 -0
  936. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/inc.html +54 -0
  937. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/include_self.html +101 -0
  938. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/indirect_self.html +45 -0
  939. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/intercept.html +51 -0
  940. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/is_begin_parens.html +47 -0
  941. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/is_iterating.html +38 -0
  942. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/is_selfish.html +38 -0
  943. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iterate.html +83 -0
  944. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration.html +55 -0
  945. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_depth.html +73 -0
  946. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_finish.html +57 -0
  947. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_flags.html +68 -0
  948. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_limits.html +59 -0
  949. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_params_x.html +77 -0
  950. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_start.html +57 -0
  951. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less.html +65 -0
  952. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less_d.html +70 -0
  953. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less_equal.html +65 -0
  954. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less_equal_d.html +70 -0
  955. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_dim.html +35 -0
  956. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_for.html +34 -0
  957. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_iteration.html +34 -0
  958. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_iteration_dim.html +34 -0
  959. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_mag.html +34 -0
  960. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_repeat.html +39 -0
  961. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_seq.html +41 -0
  962. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_slot_count.html +34 -0
  963. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_slot_sig.html +34 -0
  964. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_tuple.html +33 -0
  965. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_variadic.html +24 -0
  966. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_while.html +34 -0
  967. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/line.html +112 -0
  968. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_append.html +69 -0
  969. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_append_d.html +96 -0
  970. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_at.html +61 -0
  971. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_at_d.html +63 -0
  972. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_cat.html +58 -0
  973. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_cat_d.html +67 -0
  974. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_cons.html +87 -0
  975. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_enum.html +62 -0
  976. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_enum_r.html +69 -0
  977. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_filter.html +76 -0
  978. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_filter_d.html +86 -0
  979. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_first.html +62 -0
  980. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_first_n.html +62 -0
  981. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_first_n_d.html +71 -0
  982. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left.html +75 -0
  983. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_2nd.html +75 -0
  984. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_2nd_d.html +86 -0
  985. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_d.html +81 -0
  986. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_d_old.html +86 -0
  987. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right.html +79 -0
  988. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_2nd.html +79 -0
  989. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_2nd_d.html +86 -0
  990. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_d.html +81 -0
  991. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_d_old.html +90 -0
  992. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each.html +75 -0
  993. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_i.html +75 -0
  994. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_i_r.html +82 -0
  995. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_product.html +86 -0
  996. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_product_r.html +118 -0
  997. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_r.html +81 -0
  998. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_is_cons.html +51 -0
  999. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_is_nil.html +51 -0
  1000. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_nil.html +68 -0
  1001. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_rest.html +62 -0
  1002. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_rest_n.html +62 -0
  1003. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_rest_n_d.html +71 -0
  1004. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_reverse.html +55 -0
  1005. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_reverse_d.html +63 -0
  1006. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_size.html +55 -0
  1007. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_size_d.html +67 -0
  1008. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_array.html +47 -0
  1009. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_array_d.html +34 -0
  1010. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_seq.html +44 -0
  1011. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_seq_r.html +32 -0
  1012. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_tuple.html +55 -0
  1013. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_tuple_r.html +62 -0
  1014. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_transform.html +78 -0
  1015. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_transform_d.html +86 -0
  1016. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/local_iterate.html +62 -0
  1017. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/local_limits.html +80 -0
  1018. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/local_macro.html +64 -0
  1019. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/lparen.html +52 -0
  1020. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/lparen_if.html +61 -0
  1021. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/max.html +64 -0
  1022. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/max_d.html +70 -0
  1023. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/min.html +64 -0
  1024. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/min_d.html +70 -0
  1025. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mod.html +63 -0
  1026. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mod_d.html +75 -0
  1027. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mul.html +68 -0
  1028. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mul_d.html +91 -0
  1029. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/nil.html +41 -0
  1030. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/nor.html +64 -0
  1031. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/not.html +59 -0
  1032. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/not_equal.html +64 -0
  1033. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/not_equal_d.html +69 -0
  1034. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/or.html +64 -0
  1035. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/overload.html +58 -0
  1036. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_finish.html +46 -0
  1037. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_flags.html +46 -0
  1038. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_iteration.html +101 -0
  1039. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_start.html +46 -0
  1040. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/remove_parens.html +44 -0
  1041. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat.html +80 -0
  1042. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_1st.html +82 -0
  1043. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_2nd.html +82 -0
  1044. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_3rd.html +82 -0
  1045. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to.html +102 -0
  1046. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_1st.html +91 -0
  1047. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_2nd.html +91 -0
  1048. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_3rd.html +91 -0
  1049. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_d.html +83 -0
  1050. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_d_z.html +84 -0
  1051. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_z.html +105 -0
  1052. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_z.html +92 -0
  1053. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_z_macros.html +45 -0
  1054. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/rparen.html +53 -0
  1055. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/rparen_if.html +61 -0
  1056. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_cat.html +64 -0
  1057. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_cat_s.html +60 -0
  1058. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_elem.html +59 -0
  1059. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_enum.html +66 -0
  1060. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_filter.html +93 -0
  1061. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_filter_s.html +79 -0
  1062. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_first_n.html +67 -0
  1063. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_left.html +90 -0
  1064. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_left_s.html +96 -0
  1065. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_right.html +92 -0
  1066. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_right_s.html +97 -0
  1067. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each.html +90 -0
  1068. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_i.html +91 -0
  1069. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_i_r.html +78 -0
  1070. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_product.html +100 -0
  1071. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_product_r.html +81 -0
  1072. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_r.html +77 -0
  1073. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_head.html +63 -0
  1074. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_insert.html +70 -0
  1075. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_nil.html +81 -0
  1076. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_pop_back.html +68 -0
  1077. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_pop_front.html +68 -0
  1078. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_push_back.html +76 -0
  1079. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_push_front.html +78 -0
  1080. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_remove.html +66 -0
  1081. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_replace.html +71 -0
  1082. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_rest_n.html +55 -0
  1083. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_reverse.html +68 -0
  1084. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_reverse_s.html +55 -0
  1085. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_size.html +55 -0
  1086. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_subseq.html +69 -0
  1087. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_tail.html +63 -0
  1088. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_to_array.html +55 -0
  1089. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_to_list.html +34 -0
  1090. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_to_tuple.html +55 -0
  1091. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_transform.html +93 -0
  1092. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_transform_s.html +79 -0
  1093. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/slot.html +60 -0
  1094. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/stringize.html +50 -0
  1095. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/sub.html +63 -0
  1096. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/sub_d.html +85 -0
  1097. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_eat.html +58 -0
  1098. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_elem.html +65 -0
  1099. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_enum.html +55 -0
  1100. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_insert.html +54 -0
  1101. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_insert_d.html +46 -0
  1102. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_back.html +48 -0
  1103. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_back_z.html +40 -0
  1104. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_front.html +47 -0
  1105. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_front_z.html +40 -0
  1106. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_push_back.html +39 -0
  1107. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_push_front.html +39 -0
  1108. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_rem.html +60 -0
  1109. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_rem_ctor.html +61 -0
  1110. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_remove.html +50 -0
  1111. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_remove_d.html +41 -0
  1112. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_replace.html +51 -0
  1113. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_replace_d.html +42 -0
  1114. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_reverse.html +61 -0
  1115. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_size.html +32 -0
  1116. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_to_array.html +50 -0
  1117. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_to_list.html +60 -0
  1118. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_to_seq.html +51 -0
  1119. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/update_counter.html +34 -0
  1120. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/value.html +37 -0
  1121. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_elem.html +42 -0
  1122. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_seq_to_seq.html +35 -0
  1123. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_size.html +33 -0
  1124. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_array.html +32 -0
  1125. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_list.html +31 -0
  1126. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_seq.html +32 -0
  1127. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_tuple.html +32 -0
  1128. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadics.html +30 -0
  1129. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/while.html +116 -0
  1130. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/while_d.html +117 -0
  1131. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/while_d_macros.html +89 -0
  1132. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/wstringize.html +49 -0
  1133. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/xor.html +64 -0
  1134. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/styles.css +87 -0
  1135. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/syntax.html +307 -0
  1136. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/terms.html +23 -0
  1137. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/terms/evaluated.html +27 -0
  1138. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/terms/named_external.html +25 -0
  1139. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/title.html +25 -0
  1140. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/top.html +32 -0
  1141. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics.html +27 -0
  1142. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/evaluated_slots.html +157 -0
  1143. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/file_iteration.html +1044 -0
  1144. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/incompatible.html +140 -0
  1145. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/local_iteration.html +156 -0
  1146. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/motivation.html +119 -0
  1147. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/problems.html +135 -0
  1148. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/reentrancy.html +298 -0
  1149. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/techniques.html +350 -0
  1150. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/variadic_macros.html +262 -0
  1151. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor.hpp +19 -0
  1152. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic.hpp +25 -0
  1153. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/add.hpp +51 -0
  1154. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/dec.hpp +289 -0
  1155. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/detail/div_base.hpp +61 -0
  1156. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/div.hpp +39 -0
  1157. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/inc.hpp +288 -0
  1158. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/mod.hpp +39 -0
  1159. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/mul.hpp +53 -0
  1160. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/sub.hpp +50 -0
  1161. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array.hpp +32 -0
  1162. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/data.hpp +28 -0
  1163. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/detail/get_data.hpp +55 -0
  1164. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/elem.hpp +29 -0
  1165. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/enum.hpp +33 -0
  1166. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/insert.hpp +55 -0
  1167. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/pop_back.hpp +37 -0
  1168. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/pop_front.hpp +38 -0
  1169. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/push_back.hpp +35 -0
  1170. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/push_front.hpp +35 -0
  1171. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/remove.hpp +54 -0
  1172. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/replace.hpp +49 -0
  1173. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/reverse.hpp +29 -0
  1174. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/size.hpp +28 -0
  1175. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/to_list.hpp +47 -0
  1176. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/to_seq.hpp +46 -0
  1177. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/to_tuple.hpp +33 -0
  1178. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/assert_msg.hpp +17 -0
  1179. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/cat.hpp +35 -0
  1180. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comma.hpp +17 -0
  1181. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comma_if.hpp +17 -0
  1182. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison.hpp +24 -0
  1183. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/equal.hpp +34 -0
  1184. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/greater.hpp +38 -0
  1185. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/greater_equal.hpp +38 -0
  1186. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/less.hpp +46 -0
  1187. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/less_equal.hpp +39 -0
  1188. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/not_equal.hpp +814 -0
  1189. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/config/config.hpp +106 -0
  1190. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/config/limits.hpp +30 -0
  1191. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control.hpp +22 -0
  1192. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/deduce_d.hpp +22 -0
  1193. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/dmc/while.hpp +536 -0
  1194. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/edg/while.hpp +534 -0
  1195. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/msvc/while.hpp +277 -0
  1196. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/while.hpp +536 -0
  1197. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/expr_if.hpp +30 -0
  1198. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/expr_iif.hpp +31 -0
  1199. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/if.hpp +30 -0
  1200. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/iif.hpp +34 -0
  1201. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/while.hpp +312 -0
  1202. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug.hpp +18 -0
  1203. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug/assert.hpp +44 -0
  1204. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug/error.hpp +33 -0
  1205. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug/line.hpp +35 -0
  1206. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/dec.hpp +17 -0
  1207. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/auto_rec.hpp +293 -0
  1208. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/check.hpp +48 -0
  1209. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/dmc/auto_rec.hpp +286 -0
  1210. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/is_binary.hpp +30 -0
  1211. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/is_nullary.hpp +30 -0
  1212. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/is_unary.hpp +30 -0
  1213. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/null.hpp +17 -0
  1214. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/split.hpp +35 -0
  1215. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/empty.hpp +17 -0
  1216. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum.hpp +17 -0
  1217. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_params.hpp +17 -0
  1218. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_params_with_a_default.hpp +17 -0
  1219. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_params_with_defaults.hpp +17 -0
  1220. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_shifted.hpp +17 -0
  1221. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_shifted_params.hpp +17 -0
  1222. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/expand.hpp +17 -0
  1223. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/expr_if.hpp +17 -0
  1224. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities.hpp +23 -0
  1225. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/apply.hpp +34 -0
  1226. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/detail/is_empty.hpp +55 -0
  1227. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/empty.hpp +23 -0
  1228. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/expand.hpp +28 -0
  1229. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/identity.hpp +27 -0
  1230. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/intercept.hpp +277 -0
  1231. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_1.hpp +23 -0
  1232. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_empty.hpp +56 -0
  1233. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_empty_or_1.hpp +31 -0
  1234. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_empty_variadic.hpp +57 -0
  1235. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/overload.hpp +25 -0
  1236. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/for.hpp +17 -0
  1237. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/identity.hpp +17 -0
  1238. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/if.hpp +17 -0
  1239. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/inc.hpp +17 -0
  1240. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iterate.hpp +17 -0
  1241. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration.hpp +19 -0
  1242. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -0
  1243. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp +99 -0
  1244. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp +99 -0
  1245. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp +99 -0
  1246. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp +99 -0
  1247. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp +99 -0
  1248. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp +99 -0
  1249. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp +99 -0
  1250. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp +99 -0
  1251. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp +99 -0
  1252. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/finish.hpp +99 -0
  1253. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward1.hpp +1342 -0
  1254. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward2.hpp +1338 -0
  1255. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward3.hpp +1338 -0
  1256. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward4.hpp +1338 -0
  1257. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward5.hpp +1338 -0
  1258. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp +1296 -0
  1259. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp +1296 -0
  1260. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp +1296 -0
  1261. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp +1296 -0
  1262. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp +1296 -0
  1263. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/local.hpp +812 -0
  1264. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/rlocal.hpp +782 -0
  1265. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/self.hpp +21 -0
  1266. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/start.hpp +99 -0
  1267. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/iterate.hpp +82 -0
  1268. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/local.hpp +26 -0
  1269. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/self.hpp +19 -0
  1270. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/library.hpp +37 -0
  1271. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/limits.hpp +17 -0
  1272. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list.hpp +37 -0
  1273. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/adt.hpp +73 -0
  1274. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/append.hpp +40 -0
  1275. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/at.hpp +39 -0
  1276. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/cat.hpp +42 -0
  1277. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/dmc/fold_left.hpp +279 -0
  1278. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/edg/fold_left.hpp +536 -0
  1279. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/edg/fold_right.hpp +794 -0
  1280. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/fold_left.hpp +279 -0
  1281. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/fold_right.hpp +277 -0
  1282. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/enum.hpp +41 -0
  1283. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/filter.hpp +54 -0
  1284. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/first_n.hpp +58 -0
  1285. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/fold_left.hpp +303 -0
  1286. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/fold_right.hpp +40 -0
  1287. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/for_each.hpp +49 -0
  1288. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/for_each_i.hpp +65 -0
  1289. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/for_each_product.hpp +141 -0
  1290. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/rest_n.hpp +55 -0
  1291. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/reverse.hpp +40 -0
  1292. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/size.hpp +58 -0
  1293. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/to_array.hpp +155 -0
  1294. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/to_seq.hpp +32 -0
  1295. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/to_tuple.hpp +61 -0
  1296. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/transform.hpp +49 -0
  1297. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical.hpp +29 -0
  1298. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/and.hpp +30 -0
  1299. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitand.hpp +38 -0
  1300. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitnor.hpp +38 -0
  1301. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitor.hpp +38 -0
  1302. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitxor.hpp +38 -0
  1303. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bool.hpp +288 -0
  1304. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/compl.hpp +36 -0
  1305. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/nor.hpp +30 -0
  1306. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/not.hpp +30 -0
  1307. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/or.hpp +30 -0
  1308. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/xor.hpp +30 -0
  1309. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/max.hpp +17 -0
  1310. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/min.hpp +17 -0
  1311. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation.hpp +22 -0
  1312. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/comma.hpp +21 -0
  1313. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/comma_if.hpp +31 -0
  1314. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp +48 -0
  1315. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/is_begin_parens.hpp +51 -0
  1316. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/paren.hpp +23 -0
  1317. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/paren_if.hpp +38 -0
  1318. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/remove_parens.hpp +39 -0
  1319. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat.hpp +17 -0
  1320. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_2nd.hpp +17 -0
  1321. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_3rd.hpp +17 -0
  1322. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_from_to.hpp +17 -0
  1323. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_from_to_2nd.hpp +17 -0
  1324. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_from_to_3rd.hpp +17 -0
  1325. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition.hpp +32 -0
  1326. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/deduce_r.hpp +22 -0
  1327. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/deduce_z.hpp +22 -0
  1328. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/dmc/for.hpp +536 -0
  1329. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/edg/for.hpp +534 -0
  1330. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/for.hpp +536 -0
  1331. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/msvc/for.hpp +277 -0
  1332. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum.hpp +66 -0
  1333. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_binary_params.hpp +54 -0
  1334. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_params.hpp +41 -0
  1335. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp +25 -0
  1336. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp +24 -0
  1337. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_shifted.hpp +68 -0
  1338. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp +51 -0
  1339. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_shifted_params.hpp +44 -0
  1340. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_trailing.hpp +63 -0
  1341. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp +53 -0
  1342. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_trailing_params.hpp +38 -0
  1343. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/for.hpp +324 -0
  1344. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/repeat.hpp +825 -0
  1345. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/repeat_from_to.hpp +87 -0
  1346. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/selection.hpp +18 -0
  1347. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/selection/max.hpp +39 -0
  1348. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/selection/min.hpp +39 -0
  1349. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq.hpp +44 -0
  1350. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/cat.hpp +49 -0
  1351. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/binary_transform.hpp +47 -0
  1352. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/is_empty.hpp +49 -0
  1353. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/split.hpp +284 -0
  1354. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/to_list_msvc.hpp +55 -0
  1355. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/elem.hpp +304 -0
  1356. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/enum.hpp +288 -0
  1357. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/filter.hpp +54 -0
  1358. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/first_n.hpp +30 -0
  1359. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/fold_left.hpp +1070 -0
  1360. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/fold_right.hpp +288 -0
  1361. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/for_each.hpp +107 -0
  1362. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/for_each_i.hpp +109 -0
  1363. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/for_each_product.hpp +126 -0
  1364. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/insert.hpp +28 -0
  1365. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/pop_back.hpp +29 -0
  1366. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/pop_front.hpp +27 -0
  1367. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/push_back.hpp +19 -0
  1368. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/push_front.hpp +19 -0
  1369. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/remove.hpp +29 -0
  1370. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/replace.hpp +45 -0
  1371. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/rest_n.hpp +46 -0
  1372. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/reverse.hpp +39 -0
  1373. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/seq.hpp +44 -0
  1374. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/size.hpp +548 -0
  1375. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/subseq.hpp +28 -0
  1376. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/to_array.hpp +28 -0
  1377. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/to_list.hpp +41 -0
  1378. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/to_tuple.hpp +27 -0
  1379. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/transform.hpp +48 -0
  1380. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp +28 -0
  1381. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot.hpp +17 -0
  1382. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/counter.hpp +25 -0
  1383. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/counter.hpp +269 -0
  1384. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/def.hpp +49 -0
  1385. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/shared.hpp +247 -0
  1386. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot1.hpp +267 -0
  1387. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot2.hpp +267 -0
  1388. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot3.hpp +267 -0
  1389. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot4.hpp +267 -0
  1390. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot5.hpp +267 -0
  1391. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/slot.hpp +32 -0
  1392. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/stringize.hpp +33 -0
  1393. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple.hpp +35 -0
  1394. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/detail/is_single_return.hpp +28 -0
  1395. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/eat.hpp +115 -0
  1396. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/elem.hpp +201 -0
  1397. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/enum.hpp +22 -0
  1398. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/insert.hpp +37 -0
  1399. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/pop_back.hpp +64 -0
  1400. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/pop_front.hpp +65 -0
  1401. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/push_back.hpp +31 -0
  1402. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/push_front.hpp +32 -0
  1403. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/rem.hpp +149 -0
  1404. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/remove.hpp +64 -0
  1405. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/replace.hpp +37 -0
  1406. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/reverse.hpp +117 -0
  1407. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/size.hpp +28 -0
  1408. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/to_array.hpp +39 -0
  1409. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/to_list.hpp +118 -0
  1410. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/to_seq.hpp +119 -0
  1411. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic.hpp +23 -0
  1412. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/detail/is_single_return.hpp +28 -0
  1413. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/elem.hpp +94 -0
  1414. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/size.hpp +30 -0
  1415. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_array.hpp +32 -0
  1416. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_list.hpp +25 -0
  1417. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_seq.hpp +25 -0
  1418. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_tuple.hpp +24 -0
  1419. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/while.hpp +17 -0
  1420. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/wstringize.hpp +29 -0
  1421. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/index.html +18 -0
  1422. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/meta/libraries.json +15 -0
  1423. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/Jamfile.v2 +252 -0
  1424. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/arithmetic.c +12 -0
  1425. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/arithmetic.cpp +12 -0
  1426. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/arithmetic.cxx +82 -0
  1427. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/array.c +14 -0
  1428. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/array.cpp +14 -0
  1429. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/array.cxx +192 -0
  1430. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/comparison.c +13 -0
  1431. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/comparison.cpp +12 -0
  1432. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/comparison.cxx +45 -0
  1433. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/config_info.cpp +93 -0
  1434. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/control.c +12 -0
  1435. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/control.cpp +12 -0
  1436. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/control.cxx +40 -0
  1437. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/debug.c +12 -0
  1438. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/debug.cpp +12 -0
  1439. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/debug.cxx +21 -0
  1440. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/facilities.c +12 -0
  1441. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/facilities.cpp +12 -0
  1442. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/facilities.cxx +55 -0
  1443. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty.c +12 -0
  1444. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty.cpp +12 -0
  1445. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty.cxx +145 -0
  1446. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure.c +12 -0
  1447. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure.cpp +12 -0
  1448. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure.cxx +25 -0
  1449. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure2.c +12 -0
  1450. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure2.cpp +12 -0
  1451. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure2.cxx +25 -0
  1452. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/iteration.cpp +33 -0
  1453. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/iteration.h +62 -0
  1454. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/list.c +14 -0
  1455. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/list.cpp +14 -0
  1456. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/list.cxx +91 -0
  1457. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/logical.c +12 -0
  1458. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/logical.cpp +12 -0
  1459. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/logical.cxx +59 -0
  1460. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/punctuation.c +14 -0
  1461. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/punctuation.cpp +14 -0
  1462. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/punctuation.cxx +54 -0
  1463. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/repetition.cpp +50 -0
  1464. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/selection.c +12 -0
  1465. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/selection.cpp +12 -0
  1466. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/selection.cxx +21 -0
  1467. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/seq.c +14 -0
  1468. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/seq.cpp +14 -0
  1469. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/seq.cxx +222 -0
  1470. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/slot.c +12 -0
  1471. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/slot.cpp +12 -0
  1472. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/slot.cxx +53 -0
  1473. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/test.h +37 -0
  1474. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple.c +14 -0
  1475. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple.cpp +14 -0
  1476. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple.cxx +266 -0
  1477. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple_elem_bug_test.cxx +38 -0
  1478. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/variadic.c +12 -0
  1479. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/variadic.cpp +12 -0
  1480. data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/variadic.cxx +56 -0
  1481. data/ext/enterprise_script_service/msgpack/fuzz/CMakeLists.txt +43 -0
  1482. data/ext/enterprise_script_service/msgpack/fuzz/regression_runner.cpp +50 -0
  1483. data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer.cpp +23 -0
  1484. data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-5656982724804608 +0 -0
  1485. data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-6022481354686464 +0 -0
  1486. data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray +1 -0
  1487. data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject +1 -0
  1488. data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting +2 -0
  1489. data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap +0 -0
  1490. data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/WeatherUnderground +0 -0
  1491. data/ext/enterprise_script_service/msgpack/include/msgpack.hpp +4 -0
  1492. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/adaptor_base.hpp +1 -0
  1493. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/adaptor_base_decl.hpp +1 -0
  1494. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/array_ref_decl.hpp +1 -0
  1495. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp +1 -0
  1496. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/check_container_size_decl.hpp +1 -0
  1497. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp11/chrono.hpp +16 -0
  1498. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/byte.hpp +16 -0
  1499. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/carray_byte.hpp +16 -0
  1500. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/optional.hpp +16 -0
  1501. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/string_view.hpp +16 -0
  1502. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/vector_byte.hpp +16 -0
  1503. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/define_decl.hpp +25 -24
  1504. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/ext_decl.hpp +1 -0
  1505. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/fixint_decl.hpp +1 -0
  1506. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/int_decl.hpp +1 -0
  1507. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/map_decl.hpp +1 -0
  1508. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/msgpack_tuple_decl.hpp +1 -0
  1509. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/nil_decl.hpp +1 -0
  1510. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/raw_decl.hpp +1 -0
  1511. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/size_equal_only_decl.hpp +1 -0
  1512. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/tr1/unordered_map.hpp +2 -2
  1513. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/tr1/unordered_set.hpp +2 -2
  1514. data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/v4raw_decl.hpp +1 -0
  1515. data/ext/enterprise_script_service/msgpack/include/msgpack/cpp_config_decl.hpp +1 -0
  1516. data/ext/enterprise_script_service/msgpack/include/msgpack/create_object_visitor.hpp +17 -0
  1517. data/ext/enterprise_script_service/msgpack/include/msgpack/create_object_visitor_decl.hpp +16 -0
  1518. data/ext/enterprise_script_service/msgpack/include/msgpack/fbuffer_decl.hpp +1 -0
  1519. data/ext/enterprise_script_service/msgpack/include/msgpack/iterator_decl.hpp +2 -1
  1520. data/ext/enterprise_script_service/msgpack/include/msgpack/meta_decl.hpp +1 -0
  1521. data/ext/enterprise_script_service/msgpack/include/msgpack/null_visitor.hpp +17 -0
  1522. data/ext/enterprise_script_service/msgpack/include/msgpack/null_visitor_decl.hpp +16 -0
  1523. data/ext/enterprise_script_service/msgpack/include/msgpack/object_decl.hpp +1 -0
  1524. data/ext/enterprise_script_service/msgpack/include/msgpack/object_fwd.hpp +1 -0
  1525. data/ext/enterprise_script_service/msgpack/include/msgpack/object_fwd_decl.hpp +1 -0
  1526. data/ext/enterprise_script_service/msgpack/include/msgpack/pack.h +4 -0
  1527. data/ext/enterprise_script_service/msgpack/include/msgpack/pack_decl.hpp +1 -0
  1528. data/ext/enterprise_script_service/msgpack/include/msgpack/pack_template.h +28 -0
  1529. data/ext/enterprise_script_service/msgpack/include/msgpack/parse.hpp +18 -0
  1530. data/ext/enterprise_script_service/msgpack/include/msgpack/parse_decl.hpp +16 -0
  1531. data/ext/enterprise_script_service/msgpack/include/msgpack/parse_return.hpp +1 -0
  1532. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/architecture.h +1 -0
  1533. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/architecture/arm.h +11 -1
  1534. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/architecture/parisc.h +1 -1
  1535. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/architecture/ptx.h +44 -0
  1536. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/compiler.h +1 -0
  1537. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/compiler/intel.h +17 -3
  1538. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/compiler/nvcc.h +60 -0
  1539. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/compiler/visualc.h +15 -1
  1540. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/hardware/simd/arm.h +3 -1
  1541. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/hardware/simd/x86_amd/versions.h +3 -3
  1542. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/language.h +1 -0
  1543. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/language/cuda.h +52 -0
  1544. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/library/c.h +1 -0
  1545. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/library/c/cloudabi.h +53 -0
  1546. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/make.h +8 -0
  1547. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/os/android.h +2 -2
  1548. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/os/bsd/free.h +10 -3
  1549. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/os/bsd/open.h +80 -0
  1550. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/other/endian.h +1 -2
  1551. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/other/workaround.h +87 -0
  1552. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform.h +9 -2
  1553. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/cloudabi.h +43 -0
  1554. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/ios.h +58 -0
  1555. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/mingw.h +4 -4
  1556. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/mingw32.h +63 -0
  1557. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/mingw64.h +63 -0
  1558. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_desktop.h +9 -3
  1559. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_phone.h +7 -2
  1560. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_runtime.h +13 -5
  1561. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_server.h +47 -0
  1562. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_store.h +11 -4
  1563. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_system.h +47 -0
  1564. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_uwp.h +60 -0
  1565. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/version.h +1 -1
  1566. data/ext/enterprise_script_service/msgpack/include/msgpack/predef/version_number.h +20 -1
  1567. data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/cat.hpp +1 -1
  1568. data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/config/config.hpp +13 -11
  1569. data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/seq/detail/binary_transform.hpp +5 -6
  1570. data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/seq/detail/to_list_msvc.hpp +55 -0
  1571. data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/seq/to_list.hpp +12 -0
  1572. data/ext/enterprise_script_service/msgpack/include/msgpack/sbuffer_decl.hpp +1 -0
  1573. data/ext/enterprise_script_service/msgpack/include/msgpack/sysdep.h +31 -26
  1574. data/ext/enterprise_script_service/msgpack/include/msgpack/timestamp.h +58 -0
  1575. data/ext/enterprise_script_service/msgpack/include/msgpack/type.hpp +13 -0
  1576. data/ext/enterprise_script_service/msgpack/include/msgpack/unpack.hpp +1 -1
  1577. data/ext/enterprise_script_service/msgpack/include/msgpack/unpack_decl.hpp +1 -0
  1578. data/ext/enterprise_script_service/msgpack/include/msgpack/unpack_template.h +1 -0
  1579. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/array_ref.hpp +6 -6
  1580. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/boost/fusion.hpp +48 -5
  1581. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/carray.hpp +5 -5
  1582. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/char_ptr.hpp +1 -1
  1583. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/array.hpp +1 -1
  1584. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/array_char.hpp +8 -1
  1585. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp +8 -1
  1586. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/chrono.hpp +215 -0
  1587. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/forward_list.hpp +1 -1
  1588. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/tuple.hpp +1 -1
  1589. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp +2 -2
  1590. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp +2 -2
  1591. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/byte.hpp +74 -0
  1592. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp +109 -0
  1593. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/optional.hpp +90 -0
  1594. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/string_view.hpp +86 -0
  1595. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp +119 -0
  1596. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/deque.hpp +1 -1
  1597. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp +1088 -32
  1598. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp +32 -16
  1599. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp +32 -32
  1600. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp +45 -0
  1601. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp +4 -3
  1602. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp +4 -2
  1603. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +1 -1
  1604. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/ext.hpp +3 -3
  1605. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/fixint.hpp +40 -24
  1606. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int.hpp +55 -33
  1607. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/list.hpp +1 -1
  1608. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/map.hpp +7 -7
  1609. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/pair.hpp +1 -1
  1610. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/set.hpp +2 -2
  1611. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/string.hpp +1 -1
  1612. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/tr1/unordered_map.hpp +2 -2
  1613. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/tr1/unordered_set.hpp +2 -2
  1614. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector.hpp +5 -5
  1615. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_bool.hpp +1 -1
  1616. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_char.hpp +9 -9
  1617. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +9 -9
  1618. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/cpp_config.hpp +4 -0
  1619. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/cpp_config_decl.hpp +6 -0
  1620. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp03_zone.hpp +41 -34
  1621. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp03_zone_decl.hpp +8 -0
  1622. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp11_zone.hpp +25 -19
  1623. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp11_zone_decl.hpp +8 -0
  1624. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object.hpp +768 -404
  1625. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object_decl.hpp +8 -1
  1626. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object_fwd.hpp +1 -1
  1627. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/unpack.hpp +5 -6
  1628. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/vrefbuffer.hpp +15 -3
  1629. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/create_object_visitor.hpp +14 -7
  1630. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/create_object_visitor_decl.hpp +33 -0
  1631. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/null_visitor.hpp +5 -3
  1632. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/null_visitor_decl.hpp +29 -0
  1633. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/object_decl.hpp +4 -0
  1634. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/object_fwd.hpp +1 -1
  1635. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/pack_decl.hpp +1 -0
  1636. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/parse.hpp +41 -23
  1637. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/parse_decl.hpp +79 -0
  1638. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/unpack.hpp +7 -3
  1639. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/unpack_decl.hpp +8 -36
  1640. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_parse.hpp +5 -6
  1641. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_parse_decl.hpp +36 -0
  1642. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_unpack.hpp +13 -12
  1643. data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_unpack_decl.hpp +71 -0
  1644. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/adaptor_base.hpp +58 -0
  1645. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/adaptor_base_decl.hpp +52 -0
  1646. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/array_ref_decl.hpp +36 -0
  1647. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp +42 -0
  1648. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/check_container_size_decl.hpp +39 -0
  1649. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/define_decl.hpp +23 -0
  1650. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp +31 -0
  1651. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp +31 -0
  1652. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +43 -0
  1653. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp +32 -0
  1654. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp +31 -0
  1655. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +59 -0
  1656. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/ext_decl.hpp +34 -0
  1657. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/fixint_decl.hpp +43 -0
  1658. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/int_decl.hpp +54 -0
  1659. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/map_decl.hpp +33 -0
  1660. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp +21 -0
  1661. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/nil_decl.hpp +42 -0
  1662. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/raw_decl.hpp +33 -0
  1663. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/size_equal_only_decl.hpp +35 -0
  1664. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/v4raw_decl.hpp +34 -0
  1665. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/cpp_config_decl.hpp +84 -0
  1666. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/create_object_visitor_decl.hpp +33 -0
  1667. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/detail/cpp03_zone_decl.hpp +31 -0
  1668. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/detail/cpp11_zone_decl.hpp +31 -0
  1669. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/fbuffer_decl.hpp +32 -0
  1670. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/iterator_decl.hpp +33 -0
  1671. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/meta_decl.hpp +50 -0
  1672. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/null_visitor_decl.hpp +29 -0
  1673. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/object_decl.hpp +53 -0
  1674. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/object_fwd.hpp +70 -0
  1675. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/object_fwd_decl.hpp +75 -0
  1676. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/pack_decl.hpp +55 -0
  1677. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse.hpp +677 -0
  1678. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse_decl.hpp +49 -0
  1679. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse_return.hpp +35 -0
  1680. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/sbuffer_decl.hpp +33 -0
  1681. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/unpack.hpp +192 -0
  1682. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/unpack_decl.hpp +304 -0
  1683. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/vrefbuffer_decl.hpp +29 -0
  1684. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/x3_parse_decl.hpp +34 -0
  1685. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/x3_unpack.hpp +97 -0
  1686. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/x3_unpack_decl.hpp +65 -0
  1687. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/zbuffer_decl.hpp +29 -0
  1688. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/zone_decl.hpp +21 -0
  1689. data/ext/enterprise_script_service/msgpack/include/msgpack/version_master.h +1 -1
  1690. data/ext/enterprise_script_service/msgpack/include/msgpack/versioning.hpp +3 -1
  1691. data/ext/enterprise_script_service/msgpack/include/msgpack/vrefbuffer.h +1 -2
  1692. data/ext/enterprise_script_service/msgpack/include/msgpack/vrefbuffer_decl.hpp +1 -0
  1693. data/ext/enterprise_script_service/msgpack/include/msgpack/x3_parse.hpp +15 -0
  1694. data/ext/enterprise_script_service/msgpack/include/msgpack/x3_parse_decl.hpp +16 -0
  1695. data/ext/enterprise_script_service/msgpack/include/msgpack/x3_unpack.hpp +16 -0
  1696. data/ext/enterprise_script_service/msgpack/include/msgpack/x3_unpack_decl.hpp +16 -0
  1697. data/ext/enterprise_script_service/msgpack/include/msgpack/zbuffer_decl.hpp +1 -0
  1698. data/ext/enterprise_script_service/msgpack/include/msgpack/zone_decl.hpp +1 -0
  1699. data/ext/enterprise_script_service/msgpack/makedist.sh +2 -0
  1700. data/ext/enterprise_script_service/msgpack/msgpack-config.cmake.in +23 -0
  1701. data/ext/enterprise_script_service/msgpack/src/objectc.c +1 -1
  1702. data/ext/enterprise_script_service/msgpack/src/unpack.c +8 -8
  1703. data/ext/enterprise_script_service/msgpack/src/vrefbuffer.c +13 -1
  1704. data/ext/enterprise_script_service/msgpack/test/CMakeLists.txt +13 -6
  1705. data/ext/enterprise_script_service/msgpack/test/boost_fusion.cpp +31 -0
  1706. data/ext/enterprise_script_service/msgpack/test/boost_variant.cpp +3 -3
  1707. data/ext/enterprise_script_service/msgpack/test/cases.cpp +7 -0
  1708. data/ext/enterprise_script_service/msgpack/test/fuzz_unpack_pack_fuzzer_cpp11.cpp +8 -0
  1709. data/ext/enterprise_script_service/msgpack/test/json.cpp +1 -1
  1710. data/ext/enterprise_script_service/msgpack/test/msgpack_c.cpp +114 -6
  1711. data/ext/enterprise_script_service/msgpack/test/msgpack_cpp11.cpp +188 -0
  1712. data/ext/enterprise_script_service/msgpack/test/msgpack_cpp17.cpp +333 -0
  1713. data/ext/enterprise_script_service/msgpack/test/msgpack_vref.cpp +11 -0
  1714. data/ext/enterprise_script_service/msgpack/test/msgpack_x3_parse.cpp +9 -3
  1715. data/ext/enterprise_script_service/msgpack/test/object.cpp +11 -2
  1716. data/ext/enterprise_script_service/msgpack/test/object_with_zone.cpp +72 -8
  1717. data/ext/enterprise_script_service/msgpack/test/pack_unpack.cpp +96 -0
  1718. data/ext/enterprise_script_service/msgpack/test/pack_unpack_c.cpp +1 -1
  1719. data/ext/enterprise_script_service/msgpack/test/user_class.cpp +38 -13
  1720. data/ext/enterprise_script_service/msgpack/test/visitor.cpp +350 -6
  1721. data/ext/enterprise_script_service/msgpack/update_version.sh +17 -0
  1722. data/lib/script_core/version.rb +1 -1
  1723. data/lib/tasks/script_core.rake +5 -2
  1724. data/script_core.gemspec +0 -1
  1725. data/spec/dummy/app/controllers/application_controller.rb +18 -0
  1726. data/spec/dummy/app/controllers/fields/choices_controller.rb +50 -0
  1727. data/spec/dummy/app/controllers/forms/formulas/playgrounds_controller.rb +2 -2
  1728. data/spec/dummy/app/controllers/playgrounds_controller.rb +18 -3
  1729. data/spec/dummy/app/controllers/time_zones_controller.rb +14 -0
  1730. data/spec/dummy/app/helpers/fields_helper.rb +0 -4
  1731. data/spec/dummy/app/lib/script_engine.rb +18 -7
  1732. data/spec/dummy/app/models/choice.rb +10 -0
  1733. data/spec/dummy/app/models/concerns/fields/helper.rb +23 -0
  1734. data/spec/dummy/app/models/concerns/fields/validations/acceptance.rb +1 -1
  1735. data/spec/dummy/app/models/concerns/fields/validations/confirmation.rb +1 -1
  1736. data/spec/dummy/app/models/concerns/fields/validations/exclusion.rb +2 -2
  1737. data/spec/dummy/app/models/concerns/fields/validations/format.rb +5 -7
  1738. data/spec/dummy/app/models/concerns/fields/validations/inclusion.rb +2 -2
  1739. data/spec/dummy/app/models/concerns/fields/validations/length.rb +2 -2
  1740. data/spec/dummy/app/models/concerns/fields/validations/numericality.rb +2 -2
  1741. data/spec/dummy/app/models/concerns/fields/validations/presence.rb +1 -1
  1742. data/spec/dummy/app/models/field.rb +8 -8
  1743. data/spec/dummy/app/models/field_options.rb +16 -8
  1744. data/spec/dummy/app/models/fields.rb +4 -0
  1745. data/spec/dummy/app/models/fields/boolean_field.rb +1 -1
  1746. data/spec/dummy/app/models/fields/date_field.rb +24 -0
  1747. data/spec/dummy/app/models/fields/datetime_field.rb +24 -0
  1748. data/spec/dummy/app/models/fields/multiple_nested_form_field.rb +8 -3
  1749. data/spec/dummy/app/models/fields/multiple_select_field.rb +42 -0
  1750. data/spec/dummy/app/models/fields/nested_form_field.rb +6 -5
  1751. data/spec/dummy/app/models/fields/options/date_field.rb +138 -0
  1752. data/spec/dummy/app/models/fields/options/datetime_field.rb +138 -0
  1753. data/spec/dummy/app/models/fields/options/multiple_select_field.rb +7 -0
  1754. data/spec/dummy/app/models/fields/options/select_field.rb +7 -0
  1755. data/spec/dummy/app/models/fields/select_field.rb +25 -0
  1756. data/spec/dummy/app/models/fields/validations/boolean_field.rb +1 -1
  1757. data/spec/dummy/app/models/fields/validations/date_field.rb +7 -0
  1758. data/spec/dummy/app/models/fields/validations/datetime_field.rb +7 -0
  1759. data/spec/dummy/app/models/fields/validations/decimal_field.rb +2 -2
  1760. data/spec/dummy/app/models/fields/validations/integer_field.rb +2 -2
  1761. data/spec/dummy/app/models/fields/validations/multiple_nested_form_field.rb +2 -2
  1762. data/spec/dummy/app/models/fields/validations/multiple_select_field.rb +8 -0
  1763. data/spec/dummy/app/models/fields/validations/nested_form_field.rb +1 -1
  1764. data/spec/dummy/app/models/fields/validations/select_field.rb +7 -0
  1765. data/spec/dummy/app/models/fields/validations/text_field.rb +3 -3
  1766. data/spec/dummy/app/models/metal_form.rb +4 -0
  1767. data/spec/dummy/app/models/non_configurable.rb +4 -0
  1768. data/spec/dummy/app/models/virtual_model.rb +8 -0
  1769. data/spec/dummy/app/presenters/fields/date_field_presenter.rb +53 -0
  1770. data/spec/dummy/app/presenters/fields/datetime_field_presenter.rb +53 -0
  1771. data/spec/dummy/app/presenters/fields/field_presenter.rb +3 -2
  1772. data/spec/dummy/app/presenters/fields/multiple_select_field_presenter.rb +37 -0
  1773. data/spec/dummy/app/presenters/fields/select_field_presenter.rb +26 -0
  1774. data/spec/dummy/app/views/_form_core/field_options/_date_field.html.erb +97 -0
  1775. data/spec/dummy/app/views/_form_core/field_options/_datetime_field.html.erb +97 -0
  1776. data/spec/dummy/app/views/_form_core/field_options/_multiple_select_field.html.erb +12 -0
  1777. data/spec/dummy/app/views/_form_core/field_options/_select_field.html.erb +12 -0
  1778. data/spec/dummy/app/views/_form_core/fields/_date_field.html.erb +9 -0
  1779. data/spec/dummy/app/views/_form_core/fields/_datetime_field.html.erb +9 -0
  1780. data/spec/dummy/app/views/_form_core/fields/_multiple_select_field.html.erb +18 -0
  1781. data/spec/dummy/app/views/_form_core/fields/_select_field.html.erb +17 -0
  1782. data/spec/dummy/app/views/fields/choices/_form.html.erb +34 -0
  1783. data/spec/dummy/app/views/fields/choices/edit.html.erb +6 -0
  1784. data/spec/dummy/app/views/fields/choices/index.html.erb +27 -0
  1785. data/spec/dummy/app/views/fields/choices/new.html.erb +6 -0
  1786. data/spec/dummy/app/views/forms/fields/index.html.erb +4 -1
  1787. data/spec/dummy/app/views/forms/formulas/playgrounds/create.html.erb +1 -1
  1788. data/spec/dummy/app/views/layouts/_nav.html.erb +22 -0
  1789. data/spec/dummy/app/views/nested_forms/fields/index.html.erb +10 -3
  1790. data/spec/dummy/app/views/playgrounds/_form.html.erb +1 -1
  1791. data/spec/dummy/config/application.rb +2 -1
  1792. data/spec/dummy/config/initializers/validates_timeliness.rb +42 -0
  1793. data/spec/dummy/config/routes.rb +3 -0
  1794. data/spec/dummy/db/migrate/20180916202025_create_forms.form_core.rb +1 -0
  1795. data/spec/dummy/db/migrate/20180916202122_create_choices.rb +12 -0
  1796. data/spec/dummy/db/migrate/20180916202123_add_position_to_choices.rb +9 -0
  1797. data/spec/dummy/db/schema.rb +19 -5
  1798. data/spec/dummy/lib/monkey_patches/big_decimal.rb +7 -3
  1799. data/spec/dummy/lib/monkey_patches/date.rb +12 -0
  1800. data/spec/dummy/lib/monkey_patches/time.rb +12 -0
  1801. data/spec/dummy/mruby/engine.gembox +1 -0
  1802. data/spec/dummy/mruby/lib/core_ext.rb +64 -2
  1803. data/spec/dummy/mruby/lib/input.rb +16 -4
  1804. data/spec/dummy/mruby/lib/io.rb +4 -3
  1805. data/spec/dummy/mruby/lib/output.rb +2 -28
  1806. data/spec/dummy/mruby/lib/script_kernel.rb +8 -7
  1807. data/spec/script_core_spec.rb +2 -2
  1808. data/tests/googletest/.clang-format +4 -0
  1809. data/tests/googletest/.gitignore +82 -0
  1810. data/tests/googletest/.travis.yml +68 -29
  1811. data/tests/googletest/BUILD.bazel +179 -0
  1812. data/tests/googletest/CMakeLists.txt +21 -4
  1813. data/tests/googletest/CONTRIBUTING.md +161 -0
  1814. data/tests/googletest/LICENSE +28 -0
  1815. data/tests/googletest/Makefile.am +12 -0
  1816. data/tests/googletest/README.md +28 -41
  1817. data/tests/googletest/WORKSPACE +10 -0
  1818. data/tests/googletest/appveyor.yml +118 -35
  1819. data/tests/googletest/ci/build-linux-autotools.sh +44 -0
  1820. data/tests/googletest/ci/build-linux-bazel.sh +36 -0
  1821. data/tests/googletest/ci/build-platformio.sh +2 -0
  1822. data/tests/googletest/ci/env-linux.sh +41 -0
  1823. data/tests/googletest/ci/env-osx.sh +47 -0
  1824. data/tests/googletest/ci/get-nprocessors.sh +48 -0
  1825. data/tests/googletest/ci/install-linux.sh +49 -0
  1826. data/tests/googletest/ci/install-osx.sh +40 -0
  1827. data/tests/googletest/ci/install-platformio.sh +5 -0
  1828. data/tests/googletest/ci/log-config.sh +51 -0
  1829. data/tests/googletest/ci/travis.sh +44 -0
  1830. data/tests/googletest/configure.ac +16 -0
  1831. data/tests/googletest/googlemock/CMakeLists.txt +78 -55
  1832. data/tests/googletest/googlemock/Makefile.am +6 -8
  1833. data/tests/googletest/googlemock/README.md +33 -73
  1834. data/tests/googletest/googlemock/cmake/gmock.pc.in +11 -0
  1835. data/tests/googletest/googlemock/cmake/gmock_main.pc.in +11 -0
  1836. data/tests/googletest/googlemock/configure.ac +6 -18
  1837. data/tests/googletest/googlemock/docs/CheatSheet.md +126 -99
  1838. data/tests/googletest/googlemock/docs/CookBook.md +271 -286
  1839. data/tests/googletest/googlemock/docs/DesignDoc.md +29 -27
  1840. data/tests/googletest/googlemock/docs/Documentation.md +7 -4
  1841. data/tests/googletest/googlemock/docs/ForDummies.md +41 -33
  1842. data/tests/googletest/googlemock/docs/FrequentlyAskedQuestions.md +28 -29
  1843. data/tests/googletest/googlemock/include/gmock/gmock-actions.h +232 -240
  1844. data/tests/googletest/googlemock/include/gmock/gmock-cardinalities.h +12 -6
  1845. data/tests/googletest/googlemock/include/gmock/gmock-function-mocker.h +218 -0
  1846. data/tests/googletest/googlemock/include/gmock/gmock-generated-actions.h +304 -796
  1847. data/tests/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump +18 -184
  1848. data/tests/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h +330 -673
  1849. data/tests/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump +77 -141
  1850. data/tests/googletest/googlemock/include/gmock/gmock-generated-matchers.h +293 -1372
  1851. data/tests/googletest/googlemock/include/gmock/gmock-generated-matchers.h.pump +22 -345
  1852. data/tests/googletest/googlemock/include/gmock/gmock-matchers.h +1382 -1218
  1853. data/tests/googletest/googlemock/include/gmock/gmock-more-actions.h +12 -96
  1854. data/tests/googletest/googlemock/include/gmock/gmock-more-matchers.h +39 -5
  1855. data/tests/googletest/googlemock/include/gmock/gmock-nice-strict.h +215 -0
  1856. data/tests/googletest/googlemock/include/gmock/gmock-spec-builders.h +362 -228
  1857. data/tests/googletest/googlemock/include/gmock/gmock.h +10 -3
  1858. data/tests/googletest/googlemock/include/gmock/internal/custom/README.md +16 -0
  1859. data/tests/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +2 -0
  1860. data/tests/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +3 -1
  1861. data/tests/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h +5 -8
  1862. data/tests/googletest/googlemock/include/gmock/internal/custom/gmock-port.h +3 -10
  1863. data/tests/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h +114 -54
  1864. data/tests/googletest/googlemock/include/gmock/internal/gmock-port.h +13 -17
  1865. data/tests/googletest/googlemock/include/gmock/internal/gmock-pp.h +317 -0
  1866. data/tests/googletest/googlemock/make/Makefile +23 -7
  1867. data/tests/googletest/googlemock/msvc/2010/gmock.sln +14 -0
  1868. data/tests/googletest/googlemock/msvc/2010/gmock.vcxproj +69 -6
  1869. data/tests/googletest/googlemock/msvc/2010/gmock_config.props +2 -2
  1870. data/tests/googletest/googlemock/msvc/2010/gmock_main.vcxproj +69 -6
  1871. data/tests/googletest/googlemock/msvc/2010/gmock_test.vcxproj +83 -8
  1872. data/tests/googletest/googlemock/msvc/2015/gmock.sln +14 -0
  1873. data/tests/googletest/googlemock/msvc/2015/gmock.vcxproj +63 -2
  1874. data/tests/googletest/googlemock/msvc/2015/gmock_main.vcxproj +63 -2
  1875. data/tests/googletest/googlemock/msvc/2015/gmock_test.vcxproj +76 -3
  1876. data/tests/googletest/googlemock/scripts/fuse_gmock_files.py +1 -1
  1877. data/tests/googletest/googlemock/scripts/generator/README +4 -5
  1878. data/tests/googletest/googlemock/scripts/generator/cpp/ast.py +6 -3
  1879. data/tests/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py +18 -0
  1880. data/tests/googletest/googlemock/scripts/upload.py +4 -4
  1881. data/tests/googletest/googlemock/src/gmock-all.cc +1 -2
  1882. data/tests/googletest/googlemock/src/gmock-cardinalities.cc +7 -8
  1883. data/tests/googletest/googlemock/src/gmock-internal-utils.cc +38 -12
  1884. data/tests/googletest/googlemock/src/gmock-matchers.cc +127 -163
  1885. data/tests/googletest/googlemock/src/gmock-spec-builders.cc +150 -86
  1886. data/tests/googletest/googlemock/src/gmock.cc +41 -11
  1887. data/tests/googletest/googlemock/src/gmock_main.cc +14 -3
  1888. data/tests/googletest/googlemock/test/BUILD.bazel +106 -0
  1889. data/tests/googletest/googlemock/test/gmock-actions_test.cc +370 -328
  1890. data/tests/googletest/googlemock/test/gmock-cardinalities_test.cc +5 -6
  1891. data/tests/googletest/googlemock/test/gmock-function-mocker_nc.cc +16 -0
  1892. data/tests/googletest/googlemock/test/gmock-function-mocker_nc_test.py +43 -0
  1893. data/tests/googletest/googlemock/test/gmock-function-mocker_test.cc +660 -0
  1894. data/tests/googletest/googlemock/test/gmock-generated-actions_test.cc +137 -301
  1895. data/tests/googletest/googlemock/test/gmock-generated-function-mockers_test.cc +80 -43
  1896. data/tests/googletest/googlemock/test/gmock-generated-matchers_test.cc +239 -201
  1897. data/tests/googletest/googlemock/test/gmock-internal-utils_test.cc +126 -68
  1898. data/tests/googletest/googlemock/test/gmock-matchers_test.cc +1811 -674
  1899. data/tests/googletest/googlemock/test/gmock-more-actions_test.cc +162 -171
  1900. data/tests/googletest/googlemock/test/gmock-nice-strict_test.cc +121 -45
  1901. data/tests/googletest/googlemock/test/gmock-port_test.cc +1 -2
  1902. data/tests/googletest/googlemock/test/gmock-pp-string_test.cc +206 -0
  1903. data/tests/googletest/googlemock/test/gmock-pp_test.cc +73 -0
  1904. data/tests/googletest/googlemock/test/gmock-spec-builders_test.cc +152 -23
  1905. data/tests/googletest/googlemock/test/gmock_all_test.cc +1 -3
  1906. data/tests/googletest/googlemock/test/gmock_ex_test.cc +4 -5
  1907. data/tests/googletest/googlemock/test/gmock_leak_test.py +0 -4
  1908. data/tests/googletest/googlemock/test/gmock_leak_test_.cc +1 -2
  1909. data/tests/googletest/googlemock/test/gmock_link2_test.cc +2 -3
  1910. data/tests/googletest/googlemock/test/gmock_link_test.cc +2 -3
  1911. data/tests/googletest/googlemock/test/gmock_link_test.h +45 -24
  1912. data/tests/googletest/googlemock/test/gmock_output_test.py +10 -9
  1913. data/tests/googletest/googlemock/test/gmock_output_test_.cc +21 -3
  1914. data/tests/googletest/googlemock/test/gmock_output_test_golden.txt +8 -1
  1915. data/tests/googletest/googlemock/test/gmock_stress_test.cc +7 -89
  1916. data/tests/googletest/googlemock/test/gmock_test.cc +57 -96
  1917. data/tests/googletest/googlemock/test/gmock_test_utils.py +5 -9
  1918. data/tests/googletest/googletest/CMakeLists.txt +122 -83
  1919. data/tests/googletest/googletest/Makefile.am +103 -75
  1920. data/tests/googletest/googletest/README.md +236 -189
  1921. data/tests/googletest/googletest/cmake/Config.cmake.in +9 -0
  1922. data/tests/googletest/googletest/cmake/gtest.pc.in +10 -0
  1923. data/tests/googletest/googletest/cmake/gtest_main.pc.in +11 -0
  1924. data/tests/googletest/googletest/cmake/internal_utils.cmake +158 -58
  1925. data/tests/googletest/googletest/cmake/libgtest.la.in +21 -0
  1926. data/tests/googletest/googletest/configure.ac +2 -2
  1927. data/tests/googletest/googletest/docs/Pkgconfig.md +146 -0
  1928. data/tests/googletest/googletest/docs/PumpManual.md +5 -5
  1929. data/tests/googletest/googletest/docs/XcodeGuide.md +9 -9
  1930. data/tests/googletest/googletest/docs/advanced.md +2523 -0
  1931. data/tests/googletest/googletest/docs/faq.md +770 -0
  1932. data/tests/googletest/googletest/docs/primer.md +564 -0
  1933. data/tests/googletest/googletest/docs/samples.md +22 -0
  1934. data/tests/googletest/googletest/include/gtest/gtest-death-test.h +60 -11
  1935. data/tests/googletest/googletest/include/gtest/gtest-matchers.h +741 -0
  1936. data/tests/googletest/googletest/include/gtest/gtest-message.h +12 -44
  1937. data/tests/googletest/googletest/include/gtest/gtest-param-test.h +139 -1080
  1938. data/tests/googletest/googletest/include/gtest/gtest-printers.h +202 -268
  1939. data/tests/googletest/googletest/include/gtest/gtest-spi.h +13 -7
  1940. data/tests/googletest/googletest/include/gtest/gtest-test-part.h +21 -16
  1941. data/tests/googletest/googletest/include/gtest/gtest-typed-test.h +157 -84
  1942. data/tests/googletest/googletest/include/gtest/gtest.h +494 -277
  1943. data/tests/googletest/googletest/include/gtest/gtest_pred_impl.h +41 -40
  1944. data/tests/googletest/googletest/include/gtest/gtest_prod.h +10 -7
  1945. data/tests/googletest/googletest/include/gtest/internal/custom/README.md +56 -0
  1946. data/tests/googletest/googletest/include/gtest/internal/custom/gtest-port.h +1 -33
  1947. data/tests/googletest/googletest/include/gtest/internal/custom/gtest-printers.h +2 -2
  1948. data/tests/googletest/googletest/include/gtest/internal/custom/gtest.h +1 -5
  1949. data/tests/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h +80 -95
  1950. data/tests/googletest/googletest/include/gtest/internal/gtest-filepath.h +8 -3
  1951. data/tests/googletest/googletest/include/gtest/internal/gtest-internal.h +415 -231
  1952. data/tests/googletest/googletest/include/gtest/internal/gtest-param-util.h +323 -174
  1953. data/tests/googletest/googletest/include/gtest/internal/gtest-port-arch.h +19 -5
  1954. data/tests/googletest/googletest/include/gtest/internal/gtest-port.h +289 -549
  1955. data/tests/googletest/googletest/include/gtest/internal/gtest-string.h +4 -4
  1956. data/tests/googletest/googletest/include/gtest/internal/gtest-type-util.h +23 -7
  1957. data/tests/googletest/googletest/include/gtest/internal/gtest-type-util.h.pump +24 -7
  1958. data/tests/googletest/googletest/make/Makefile +13 -7
  1959. data/tests/googletest/googletest/msvc/2010/gtest-md.sln +55 -0
  1960. data/tests/googletest/googletest/msvc/2010/gtest-md.vcxproj +149 -0
  1961. data/tests/googletest/googletest/msvc/2010/gtest-md.vcxproj.filters +18 -0
  1962. data/tests/googletest/googletest/msvc/2010/gtest.sln +55 -0
  1963. data/tests/googletest/googletest/msvc/2010/gtest.vcxproj +149 -0
  1964. data/tests/googletest/googletest/msvc/2010/gtest.vcxproj.filters +18 -0
  1965. data/tests/googletest/googletest/msvc/2010/gtest_main-md.vcxproj +154 -0
  1966. data/tests/googletest/googletest/msvc/2010/gtest_main-md.vcxproj.filters +18 -0
  1967. data/tests/googletest/googletest/msvc/2010/gtest_main.vcxproj +162 -0
  1968. data/tests/googletest/googletest/msvc/2010/gtest_main.vcxproj.filters +18 -0
  1969. data/tests/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj +199 -0
  1970. data/tests/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj.filters +26 -0
  1971. data/tests/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj +191 -0
  1972. data/tests/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj.filters +26 -0
  1973. data/tests/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj +188 -0
  1974. data/tests/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj.filters +18 -0
  1975. data/tests/googletest/googletest/msvc/2010/gtest_unittest.vcxproj +180 -0
  1976. data/tests/googletest/googletest/msvc/2010/gtest_unittest.vcxproj.filters +18 -0
  1977. data/tests/googletest/googletest/samples/prime_tables.h +13 -10
  1978. data/tests/googletest/googletest/samples/sample1.cc +1 -3
  1979. data/tests/googletest/googletest/samples/sample1.h +0 -2
  1980. data/tests/googletest/googletest/samples/sample10_unittest.cc +4 -9
  1981. data/tests/googletest/googletest/samples/sample1_unittest.cc +2 -4
  1982. data/tests/googletest/googletest/samples/sample2.cc +1 -3
  1983. data/tests/googletest/googletest/samples/sample2.h +4 -8
  1984. data/tests/googletest/googletest/samples/sample2_unittest.cc +5 -7
  1985. data/tests/googletest/googletest/samples/sample3-inl.h +9 -9
  1986. data/tests/googletest/googletest/samples/sample3_unittest.cc +13 -15
  1987. data/tests/googletest/googletest/samples/sample4.cc +10 -2
  1988. data/tests/googletest/googletest/samples/sample4.h +3 -3
  1989. data/tests/googletest/googletest/samples/sample4_unittest.cc +11 -3
  1990. data/tests/googletest/googletest/samples/sample5_unittest.cc +11 -14
  1991. data/tests/googletest/googletest/samples/sample6_unittest.cc +12 -12
  1992. data/tests/googletest/googletest/samples/sample7_unittest.cc +14 -27
  1993. data/tests/googletest/googletest/samples/sample8_unittest.cc +20 -39
  1994. data/tests/googletest/googletest/samples/sample9_unittest.cc +6 -10
  1995. data/tests/googletest/googletest/scripts/fuse_gtest_files.py +1 -1
  1996. data/tests/googletest/googletest/scripts/gen_gtest_pred_impl.py +10 -10
  1997. data/tests/googletest/googletest/scripts/upload.py +5 -5
  1998. data/tests/googletest/googletest/src/gtest-all.cc +3 -3
  1999. data/tests/googletest/googletest/src/gtest-death-test.cc +417 -121
  2000. data/tests/googletest/googletest/src/gtest-filepath.cc +15 -23
  2001. data/tests/googletest/googletest/src/gtest-internal-inl.h +145 -122
  2002. data/tests/googletest/googletest/src/gtest-matchers.cc +97 -0
  2003. data/tests/googletest/googletest/src/gtest-port.cc +263 -129
  2004. data/tests/googletest/googletest/src/gtest-printers.cc +92 -24
  2005. data/tests/googletest/googletest/src/gtest-test-part.cc +13 -19
  2006. data/tests/googletest/googletest/src/gtest-typed-test.cc +5 -5
  2007. data/tests/googletest/googletest/src/gtest.cc +1469 -742
  2008. data/tests/googletest/googletest/src/gtest_main.cc +12 -3
  2009. data/tests/googletest/googletest/test/BUILD.bazel +518 -0
  2010. data/tests/googletest/googletest/test/googletest-break-on-failure-unittest.py +208 -0
  2011. data/tests/googletest/googletest/test/googletest-break-on-failure-unittest_.cc +86 -0
  2012. data/tests/googletest/googletest/test/googletest-catch-exceptions-test.py +231 -0
  2013. data/tests/googletest/googletest/test/googletest-catch-exceptions-test_.cc +293 -0
  2014. data/tests/googletest/googletest/test/googletest-color-test.py +127 -0
  2015. data/tests/googletest/googletest/test/googletest-color-test_.cc +62 -0
  2016. data/tests/googletest/googletest/test/googletest-death-test-test.cc +1458 -0
  2017. data/tests/googletest/googletest/test/googletest-death-test_ex_test.cc +92 -0
  2018. data/tests/googletest/googletest/test/googletest-env-var-test.py +117 -0
  2019. data/tests/googletest/googletest/test/googletest-env-var-test_.cc +122 -0
  2020. data/tests/googletest/googletest/test/googletest-filepath-test.cc +649 -0
  2021. data/tests/googletest/googletest/test/googletest-filter-unittest.py +639 -0
  2022. data/tests/googletest/googletest/test/googletest-filter-unittest_.cc +137 -0
  2023. data/tests/googletest/googletest/test/googletest-json-outfiles-test.py +185 -0
  2024. data/tests/googletest/googletest/test/googletest-json-output-unittest.py +758 -0
  2025. data/tests/googletest/googletest/test/googletest-list-tests-unittest.py +205 -0
  2026. data/tests/googletest/googletest/test/googletest-list-tests-unittest_.cc +156 -0
  2027. data/tests/googletest/googletest/test/googletest-listener-test.cc +407 -0
  2028. data/tests/googletest/googletest/test/googletest-message-test.cc +158 -0
  2029. data/tests/googletest/googletest/test/googletest-options-test.cc +216 -0
  2030. data/tests/googletest/googletest/test/googletest-output-test-golden-lin.txt +1128 -0
  2031. data/tests/googletest/googletest/test/googletest-output-test.py +346 -0
  2032. data/tests/googletest/googletest/test/googletest-output-test_.cc +1145 -0
  2033. data/tests/googletest/googletest/test/googletest-param-test-invalid-name1-test.py +63 -0
  2034. data/tests/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc +50 -0
  2035. data/tests/googletest/googletest/test/googletest-param-test-invalid-name2-test.py +62 -0
  2036. data/tests/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc +55 -0
  2037. data/tests/googletest/googletest/test/googletest-param-test-test.cc +1055 -0
  2038. data/tests/googletest/googletest/test/googletest-param-test-test.h +51 -0
  2039. data/tests/googletest/googletest/test/googletest-param-test2-test.cc +61 -0
  2040. data/tests/googletest/googletest/test/googletest-port-test.cc +1290 -0
  2041. data/tests/googletest/googletest/test/googletest-printers-test.cc +1561 -0
  2042. data/tests/googletest/googletest/test/googletest-shuffle-test.py +323 -0
  2043. data/tests/googletest/googletest/test/googletest-shuffle-test_.cc +101 -0
  2044. data/tests/googletest/googletest/test/googletest-test-part-test.cc +230 -0
  2045. data/tests/googletest/googletest/test/googletest-test2_test.cc +61 -0
  2046. data/tests/googletest/googletest/test/googletest-throw-on-failure-test.py +168 -0
  2047. data/tests/googletest/googletest/test/googletest-throw-on-failure-test_.cc +71 -0
  2048. data/tests/googletest/googletest/test/googletest-uninitialized-test.py +67 -0
  2049. data/tests/googletest/googletest/test/googletest-uninitialized-test_.cc +42 -0
  2050. data/tests/googletest/googletest/test/gtest-typed-test2_test.cc +3 -4
  2051. data/tests/googletest/googletest/test/gtest-typed-test_test.cc +144 -63
  2052. data/tests/googletest/googletest/test/gtest-typed-test_test.h +4 -5
  2053. data/tests/googletest/googletest/test/gtest-unittest-api_test.cc +122 -123
  2054. data/tests/googletest/googletest/test/gtest_all_test.cc +10 -11
  2055. data/tests/googletest/googletest/test/gtest_assert_by_exception_test.cc +116 -0
  2056. data/tests/googletest/googletest/test/gtest_environment_test.cc +3 -7
  2057. data/tests/googletest/googletest/test/gtest_help_test.py +1 -3
  2058. data/tests/googletest/googletest/test/gtest_help_test_.cc +1 -2
  2059. data/tests/googletest/googletest/test/gtest_json_test_utils.py +60 -0
  2060. data/tests/googletest/googletest/test/gtest_list_output_unittest.py +141 -0
  2061. data/tests/googletest/googletest/test/gtest_list_output_unittest_.cc +51 -0
  2062. data/tests/googletest/googletest/test/gtest_main_unittest.cc +3 -4
  2063. data/tests/googletest/googletest/test/gtest_no_test_unittest.cc +0 -2
  2064. data/tests/googletest/googletest/test/gtest_pred_impl_unittest.cc +11 -11
  2065. data/tests/googletest/googletest/test/gtest_premature_exit_test.cc +3 -4
  2066. data/tests/googletest/googletest/test/gtest_prod_test.cc +3 -4
  2067. data/tests/googletest/googletest/test/gtest_repeat_test.cc +8 -28
  2068. data/tests/googletest/googletest/test/gtest_skip_environment_check_output_test.py +54 -0
  2069. data/tests/googletest/googletest/test/gtest_skip_in_environment_setup_test.cc +49 -0
  2070. data/tests/googletest/googletest/test/gtest_skip_test.cc +55 -0
  2071. data/tests/googletest/googletest/test/gtest_sole_header_test.cc +1 -2
  2072. data/tests/googletest/googletest/test/gtest_stress_test.cc +3 -11
  2073. data/tests/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc +89 -0
  2074. data/tests/googletest/googletest/test/gtest_test_utils.py +15 -22
  2075. data/tests/googletest/googletest/test/gtest_testbridge_test.py +63 -0
  2076. data/tests/googletest/googletest/test/gtest_testbridge_test_.cc +43 -0
  2077. data/tests/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc +2 -4
  2078. data/tests/googletest/googletest/test/gtest_unittest.cc +770 -924
  2079. data/tests/googletest/googletest/test/gtest_xml_outfile1_test_.cc +2 -8
  2080. data/tests/googletest/googletest/test/gtest_xml_outfile2_test_.cc +2 -8
  2081. data/tests/googletest/googletest/test/gtest_xml_outfiles_test.py +14 -11
  2082. data/tests/googletest/googletest/test/gtest_xml_output_unittest.py +132 -51
  2083. data/tests/googletest/googletest/test/gtest_xml_output_unittest_.cc +21 -14
  2084. data/tests/googletest/googletest/test/gtest_xml_test_utils.py +24 -22
  2085. data/tests/googletest/googletest/test/production.cc +2 -3
  2086. data/tests/googletest/googletest/test/production.h +2 -3
  2087. data/tests/googletest/googletest/xcode/Config/DebugProject.xcconfig +1 -1
  2088. data/tests/googletest/googletest/xcode/Config/FrameworkTarget.xcconfig +1 -1
  2089. data/tests/googletest/googletest/xcode/Config/General.xcconfig +3 -3
  2090. data/tests/googletest/googletest/xcode/Config/ReleaseProject.xcconfig +1 -1
  2091. data/tests/googletest/googletest/xcode/Config/StaticLibraryTarget.xcconfig +1 -1
  2092. data/tests/googletest/googletest/xcode/Scripts/versiongenerate.py +4 -4
  2093. data/tests/googletest/googletest/xcode/gtest.xcodeproj/project.pbxproj +51 -16
  2094. data/tests/googletest/library.json +59 -0
  2095. data/tests/googletest/platformio.ini +31 -0
  2096. metadata +1391 -137
  2097. data/ext/enterprise_script_service/libseccomp/README +0 -65
  2098. data/ext/enterprise_script_service/libseccomp/SUBMITTING_PATCHES +0 -123
  2099. data/ext/enterprise_script_service/mruby/MITL +0 -20
  2100. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby-config/mrbgem.rake +0 -30
  2101. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/gc_filedes.sh +0 -4
  2102. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/init_mrbtest.c +0 -38
  2103. data/ext/enterprise_script_service/mruby/mrblib/float.rb +0 -9
  2104. data/ext/enterprise_script_service/mruby/src/ext/.gitkeep +0 -0
  2105. data/ext/enterprise_script_service/mruby/test/report.rb +0 -4
  2106. data/spec/dummy/app/models/fields/options/boolean_field.rb +0 -6
  2107. data/spec/dummy/app/models/fields/options/multiple_nested_form_field.rb +0 -6
  2108. data/spec/dummy/app/models/fields/options/nested_form_field.rb +0 -6
  2109. data/tests/googletest/googlemock/CHANGES +0 -126
  2110. data/tests/googletest/googlemock/docs/DevGuide.md +0 -132
  2111. data/tests/googletest/googlemock/docs/v1_5/CheatSheet.md +0 -525
  2112. data/tests/googletest/googlemock/docs/v1_5/CookBook.md +0 -3250
  2113. data/tests/googletest/googlemock/docs/v1_5/Documentation.md +0 -11
  2114. data/tests/googletest/googlemock/docs/v1_5/ForDummies.md +0 -439
  2115. data/tests/googletest/googlemock/docs/v1_5/FrequentlyAskedQuestions.md +0 -624
  2116. data/tests/googletest/googlemock/docs/v1_6/CheatSheet.md +0 -534
  2117. data/tests/googletest/googlemock/docs/v1_6/CookBook.md +0 -3342
  2118. data/tests/googletest/googlemock/docs/v1_6/Documentation.md +0 -12
  2119. data/tests/googletest/googlemock/docs/v1_6/ForDummies.md +0 -439
  2120. data/tests/googletest/googlemock/docs/v1_6/FrequentlyAskedQuestions.md +0 -628
  2121. data/tests/googletest/googlemock/docs/v1_7/CheatSheet.md +0 -556
  2122. data/tests/googletest/googlemock/docs/v1_7/CookBook.md +0 -3432
  2123. data/tests/googletest/googlemock/docs/v1_7/Documentation.md +0 -12
  2124. data/tests/googletest/googlemock/docs/v1_7/ForDummies.md +0 -439
  2125. data/tests/googletest/googlemock/docs/v1_7/FrequentlyAskedQuestions.md +0 -628
  2126. data/tests/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h +0 -397
  2127. data/tests/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump +0 -161
  2128. data/tests/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h +0 -279
  2129. data/tests/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump +0 -136
  2130. data/tests/googletest/googlemock/test/gmock-generated-internal-utils_test.cc +0 -127
  2131. data/tests/googletest/googletest/.gitignore +0 -2
  2132. data/tests/googletest/googletest/CHANGES +0 -157
  2133. data/tests/googletest/googletest/build-aux/.keep +0 -0
  2134. data/tests/googletest/googletest/docs/AdvancedGuide.md +0 -2182
  2135. data/tests/googletest/googletest/docs/DevGuide.md +0 -126
  2136. data/tests/googletest/googletest/docs/Documentation.md +0 -14
  2137. data/tests/googletest/googletest/docs/FAQ.md +0 -1087
  2138. data/tests/googletest/googletest/docs/Primer.md +0 -502
  2139. data/tests/googletest/googletest/docs/Samples.md +0 -14
  2140. data/tests/googletest/googletest/docs/V1_5_AdvancedGuide.md +0 -2096
  2141. data/tests/googletest/googletest/docs/V1_5_Documentation.md +0 -12
  2142. data/tests/googletest/googletest/docs/V1_5_FAQ.md +0 -886
  2143. data/tests/googletest/googletest/docs/V1_5_Primer.md +0 -497
  2144. data/tests/googletest/googletest/docs/V1_5_PumpManual.md +0 -177
  2145. data/tests/googletest/googletest/docs/V1_5_XcodeGuide.md +0 -93
  2146. data/tests/googletest/googletest/docs/V1_6_AdvancedGuide.md +0 -2178
  2147. data/tests/googletest/googletest/docs/V1_6_Documentation.md +0 -14
  2148. data/tests/googletest/googletest/docs/V1_6_FAQ.md +0 -1038
  2149. data/tests/googletest/googletest/docs/V1_6_Primer.md +0 -501
  2150. data/tests/googletest/googletest/docs/V1_6_PumpManual.md +0 -177
  2151. data/tests/googletest/googletest/docs/V1_6_Samples.md +0 -14
  2152. data/tests/googletest/googletest/docs/V1_6_XcodeGuide.md +0 -93
  2153. data/tests/googletest/googletest/docs/V1_7_AdvancedGuide.md +0 -2181
  2154. data/tests/googletest/googletest/docs/V1_7_Documentation.md +0 -14
  2155. data/tests/googletest/googletest/docs/V1_7_FAQ.md +0 -1082
  2156. data/tests/googletest/googletest/docs/V1_7_Primer.md +0 -501
  2157. data/tests/googletest/googletest/docs/V1_7_PumpManual.md +0 -177
  2158. data/tests/googletest/googletest/docs/V1_7_Samples.md +0 -14
  2159. data/tests/googletest/googletest/docs/V1_7_XcodeGuide.md +0 -93
  2160. data/tests/googletest/googletest/include/gtest/gtest-param-test.h.pump +0 -510
  2161. data/tests/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h +0 -243
  2162. data/tests/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h +0 -5146
  2163. data/tests/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +0 -286
  2164. data/tests/googletest/googletest/include/gtest/internal/gtest-tuple.h +0 -1020
  2165. data/tests/googletest/googletest/include/gtest/internal/gtest-tuple.h.pump +0 -347
  2166. data/tests/googletest/googletest/msvc/gtest-md.sln +0 -45
  2167. data/tests/googletest/googletest/msvc/gtest-md.vcproj +0 -126
  2168. data/tests/googletest/googletest/msvc/gtest.sln +0 -45
  2169. data/tests/googletest/googletest/msvc/gtest.vcproj +0 -126
  2170. data/tests/googletest/googletest/msvc/gtest_main-md.vcproj +0 -129
  2171. data/tests/googletest/googletest/msvc/gtest_main.vcproj +0 -129
  2172. data/tests/googletest/googletest/msvc/gtest_prod_test-md.vcproj +0 -164
  2173. data/tests/googletest/googletest/msvc/gtest_prod_test.vcproj +0 -164
  2174. data/tests/googletest/googletest/msvc/gtest_unittest-md.vcproj +0 -147
  2175. data/tests/googletest/googletest/msvc/gtest_unittest.vcproj +0 -147
  2176. data/tests/googletest/googletest/test/gtest-death-test_ex_test.cc +0 -93
  2177. data/tests/googletest/googletest/test/gtest-death-test_test.cc +0 -1427
  2178. data/tests/googletest/googletest/test/gtest-filepath_test.cc +0 -662
  2179. data/tests/googletest/googletest/test/gtest-linked_ptr_test.cc +0 -154
  2180. data/tests/googletest/googletest/test/gtest-listener_test.cc +0 -311
  2181. data/tests/googletest/googletest/test/gtest-message_test.cc +0 -159
  2182. data/tests/googletest/googletest/test/gtest-options_test.cc +0 -215
  2183. data/tests/googletest/googletest/test/gtest-param-test2_test.cc +0 -65
  2184. data/tests/googletest/googletest/test/gtest-param-test_test.cc +0 -1055
  2185. data/tests/googletest/googletest/test/gtest-param-test_test.h +0 -57
  2186. data/tests/googletest/googletest/test/gtest-port_test.cc +0 -1304
  2187. data/tests/googletest/googletest/test/gtest-printers_test.cc +0 -1635
  2188. data/tests/googletest/googletest/test/gtest-test-part_test.cc +0 -208
  2189. data/tests/googletest/googletest/test/gtest-tuple_test.cc +0 -320
  2190. data/tests/googletest/googletest/test/gtest_break_on_failure_unittest.py +0 -212
  2191. data/tests/googletest/googletest/test/gtest_break_on_failure_unittest_.cc +0 -88
  2192. data/tests/googletest/googletest/test/gtest_catch_exceptions_test.py +0 -237
  2193. data/tests/googletest/googletest/test/gtest_catch_exceptions_test_.cc +0 -311
  2194. data/tests/googletest/googletest/test/gtest_color_test.py +0 -130
  2195. data/tests/googletest/googletest/test/gtest_color_test_.cc +0 -71
  2196. data/tests/googletest/googletest/test/gtest_env_var_test.py +0 -117
  2197. data/tests/googletest/googletest/test/gtest_env_var_test_.cc +0 -126
  2198. data/tests/googletest/googletest/test/gtest_filter_unittest.py +0 -636
  2199. data/tests/googletest/googletest/test/gtest_filter_unittest_.cc +0 -140
  2200. data/tests/googletest/googletest/test/gtest_list_tests_unittest.py +0 -207
  2201. data/tests/googletest/googletest/test/gtest_list_tests_unittest_.cc +0 -157
  2202. data/tests/googletest/googletest/test/gtest_output_test.py +0 -340
  2203. data/tests/googletest/googletest/test/gtest_output_test_.cc +0 -1062
  2204. data/tests/googletest/googletest/test/gtest_output_test_golden_lin.txt +0 -743
  2205. data/tests/googletest/googletest/test/gtest_shuffle_test.py +0 -325
  2206. data/tests/googletest/googletest/test/gtest_shuffle_test_.cc +0 -103
  2207. data/tests/googletest/googletest/test/gtest_throw_on_failure_test.py +0 -171
  2208. data/tests/googletest/googletest/test/gtest_throw_on_failure_test_.cc +0 -72
  2209. data/tests/googletest/googletest/test/gtest_uninitialized_test.py +0 -70
  2210. data/tests/googletest/googletest/test/gtest_uninitialized_test_.cc +0 -43
  2211. data/tests/googletest/travis.sh +0 -15
@@ -8,7 +8,7 @@
8
8
  exec = exefile("#{build.build_dir}/bin/mrbc")
9
9
  mrbc_objs = Dir.glob("#{spec.dir}/tools/mrbc/*.c").map { |f| objfile(f.pathmap("#{spec.build_dir}/tools/mrbc/%n")) }.flatten
10
10
 
11
- file exec => mrbc_objs + [libfile("#{build.build_dir}/lib/libmruby_core")] do |t|
11
+ file exec => mrbc_objs + [build.libmruby_core_static] do |t|
12
12
  build.linker.run t.name, t.prerequisites
13
13
  end
14
14
 
@@ -18,6 +18,7 @@ struct mrbc_args {
18
18
  const char *initname;
19
19
  mrb_bool check_syntax : 1;
20
20
  mrb_bool verbose : 1;
21
+ mrb_bool remove_lv : 1;
21
22
  unsigned int flags : 4;
22
23
  };
23
24
 
@@ -33,6 +34,7 @@ usage(const char *name)
33
34
  "-B<symbol> binary <symbol> output in C language format",
34
35
  "-e generate little endian iseq data",
35
36
  "-E generate big endian iseq data",
37
+ "--remove-lv remove local variables",
36
38
  "--verbose run at verbose mode",
37
39
  "--version print the version",
38
40
  "--copyright print the copyright",
@@ -142,6 +144,10 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct mrbc_args *args)
142
144
  mrb_show_copyright(mrb);
143
145
  exit(EXIT_SUCCESS);
144
146
  }
147
+ else if (strcmp(argv[i] + 2, "remove-lv") == 0) {
148
+ args->remove_lv = TRUE;
149
+ break;
150
+ }
145
151
  return -1;
146
152
  default:
147
153
  return i;
@@ -232,6 +238,9 @@ dump_file(mrb_state *mrb, FILE *wfp, const char *outfile, struct RProc *proc, st
232
238
  int n = MRB_DUMP_OK;
233
239
  mrb_irep *irep = proc->body.irep;
234
240
 
241
+ if (args->remove_lv) {
242
+ mrb_irep_remove_lv(mrb, irep);
243
+ }
235
244
  if (args->initname) {
236
245
  n = mrb_dump_irep_cfunc(mrb, irep, args->flags, wfp, args->initname);
237
246
  if (n == MRB_DUMP_INVALID_ARGUMENT) {
@@ -12,7 +12,7 @@
12
12
  File.write script.path, 'p "ok"'
13
13
  system "#{cmd('mrbc')} -g -o #{bin.path} #{script.path}"
14
14
  o = `#{cmd('mruby')} -b #{bin.path}`.strip
15
- assert_equal o, '"ok"'
15
+ assert_equal '"ok"', o
16
16
  end
17
17
 
18
18
  assert '$0 value' do
@@ -31,6 +31,13 @@
31
31
  assert_equal '"-e"', `#{cmd('mruby')} -e #{shellquote('p $0')}`.chomp
32
32
  end
33
33
 
34
+ assert('float literal') do
35
+ script, bin = Tempfile.new('test.rb'), Tempfile.new('test.mrb')
36
+ File.write script.path, 'p [3.21, 2e308.infinite?, -2e308.infinite?]'
37
+ system "#{cmd('mrbc')} -g -o #{bin.path} #{script.path}"
38
+ assert_equal "[3.21, 1, -1]", `#{cmd('mruby')} -b #{bin.path}`.chomp!
39
+ end
40
+
34
41
  assert '__END__', '8.6' do
35
42
  script = Tempfile.new('test.rb')
36
43
 
@@ -58,3 +65,33 @@
58
65
  assert_equal "NilClass", `#{cmd('mruby')} #{script.path}`
59
66
  assert_equal 0, $?.exitstatus
60
67
  end
68
+
69
+ assert('mruby -d option') do
70
+ o = `#{cmd('mruby')} -e #{shellquote('p $DEBUG')}`
71
+ assert_equal "false\n", o
72
+ o = `#{cmd('mruby')} -d -e #{shellquote('p $DEBUG')}`
73
+ assert_equal "true\n", o
74
+ end
75
+
76
+ assert('mruby -r option') do
77
+ lib = Tempfile.new('lib.rb')
78
+ lib.write <<EOS
79
+ class Hoge
80
+ def hoge
81
+ :hoge
82
+ end
83
+ end
84
+ EOS
85
+ lib.flush
86
+
87
+ script = Tempfile.new('test.rb')
88
+ script.write <<EOS
89
+ print Hoge.new.hoge
90
+ EOS
91
+ script.flush
92
+ assert_equal 'hoge', `#{cmd('mruby')} -r #{lib.path} #{script.path}`
93
+ assert_equal 0, $?.exitstatus
94
+
95
+ assert_equal 'hogeClass', `#{cmd('mruby')} -r #{lib.path} -r #{script.path} -e #{shellquote('print Hoge.class')}`
96
+ assert_equal 0, $?.exitstatus
97
+ end
@@ -5,6 +5,7 @@
5
5
  spec.bins = %w(mruby)
6
6
  spec.add_dependency('mruby-compiler', :core => 'mruby-compiler')
7
7
  spec.add_dependency('mruby-error', :core => 'mruby-error')
8
+ spec.add_test_dependency('mruby-print', :core => 'mruby-print')
8
9
 
9
10
  if build.cxx_exception_enabled?
10
11
  build.compile_as_cxx("#{spec.dir}/tools/mruby/mruby.c", "#{spec.build_dir}/tools/mruby/mruby.cxx")
@@ -27,8 +27,11 @@ struct _args {
27
27
  mrb_bool mrbfile : 1;
28
28
  mrb_bool check_syntax : 1;
29
29
  mrb_bool verbose : 1;
30
+ mrb_bool debug : 1;
30
31
  int argc;
31
32
  char** argv;
33
+ int libc;
34
+ char **libv;
32
35
  };
33
36
 
34
37
  static void
@@ -38,7 +41,9 @@ usage(const char *name)
38
41
  "switches:",
39
42
  "-b load and execute RiteBinary (mrb) file",
40
43
  "-c check syntax only",
44
+ "-d set debugging flags (set $DEBUG to true)",
41
45
  "-e 'command' one line of script",
46
+ "-r library load the library before executing your script",
42
47
  "-v print version number, then run in verbose mode",
43
48
  "--verbose run in verbose mode",
44
49
  "--version print the version",
@@ -52,6 +57,15 @@ usage(const char *name)
52
57
  printf(" %s\n", *p++);
53
58
  }
54
59
 
60
+ static char *
61
+ dup_arg_item(mrb_state *mrb, const char *item)
62
+ {
63
+ size_t buflen = strlen(item) + 1;
64
+ char *buf = (char*)mrb_malloc(mrb, buflen);
65
+ memcpy(buf, item, buflen);
66
+ return buf;
67
+ }
68
+
55
69
  static int
56
70
  parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args)
57
71
  {
@@ -78,6 +92,9 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args)
78
92
  case 'c':
79
93
  args->check_syntax = TRUE;
80
94
  break;
95
+ case 'd':
96
+ args->debug = TRUE;
97
+ break;
81
98
  case 'e':
82
99
  if (item[0]) {
83
100
  goto append_cmdline;
@@ -87,13 +104,7 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args)
87
104
  item = argv[0];
88
105
  append_cmdline:
89
106
  if (!args->cmdline) {
90
- size_t buflen;
91
- char *buf;
92
-
93
- buflen = strlen(item) + 1;
94
- buf = (char *)mrb_malloc(mrb, buflen);
95
- memcpy(buf, item, buflen);
96
- args->cmdline = buf;
107
+ args->cmdline = dup_arg_item(mrb, item);
97
108
  }
98
109
  else {
99
110
  size_t cmdlinelen;
@@ -112,6 +123,23 @@ append_cmdline:
112
123
  return EXIT_SUCCESS;
113
124
  }
114
125
  break;
126
+ case 'r':
127
+ if (!item[0]) {
128
+ if (argc <= 1) {
129
+ printf("%s: No library specified for -r\n", *origargv);
130
+ return EXIT_FAILURE;
131
+ }
132
+ argc--; argv++;
133
+ item = argv[0];
134
+ }
135
+ if (args->libc == 0) {
136
+ args->libv = (char**)mrb_malloc(mrb, sizeof(char*));
137
+ }
138
+ else {
139
+ args->libv = (char**)mrb_realloc(mrb, args->libv, sizeof(char*) * (args->libc + 1));
140
+ }
141
+ args->libv[args->libc++] = dup_arg_item(mrb, item);
142
+ break;
115
143
  case 'v':
116
144
  if (!args->verbose) mrb_show_version(mrb);
117
145
  args->verbose = TRUE;
@@ -162,6 +190,12 @@ cleanup(mrb_state *mrb, struct _args *args)
162
190
  if (!args->fname)
163
191
  mrb_free(mrb, args->cmdline);
164
192
  mrb_free(mrb, args->argv);
193
+ if (args->libc) {
194
+ while (args->libc--) {
195
+ mrb_free(mrb, args->libv[args->libc]);
196
+ }
197
+ mrb_free(mrb, args->libv);
198
+ }
165
199
  mrb_close(mrb);
166
200
  }
167
201
 
@@ -199,6 +233,7 @@ main(int argc, char **argv)
199
233
  }
200
234
  }
201
235
  mrb_define_global_const(mrb, "ARGV", ARGV);
236
+ mrb_gv_set(mrb, mrb_intern_lit(mrb, "$DEBUG"), mrb_bool_value(args.debug));
202
237
 
203
238
  c = mrbc_context_new(mrb);
204
239
  if (args.verbose)
@@ -219,6 +254,24 @@ main(int argc, char **argv)
219
254
  mrb_gv_set(mrb, zero_sym, mrb_str_new_lit(mrb, "-e"));
220
255
  }
221
256
 
257
+ /* Load libraries */
258
+ for (i = 0; i < args.libc; i++) {
259
+ FILE *lfp = fopen(args.libv[i], args.mrbfile ? "rb" : "r");
260
+ if (lfp == NULL) {
261
+ printf("Cannot open library file: %s\n", args.libv[i]);
262
+ mrbc_context_free(mrb, c);
263
+ cleanup(mrb, &args);
264
+ return EXIT_FAILURE;
265
+ }
266
+ if (args.mrbfile) {
267
+ v = mrb_load_irep_file_cxt(mrb, lfp, c);
268
+ }
269
+ else {
270
+ v = mrb_load_file_cxt(mrb, lfp, c);
271
+ }
272
+ fclose(lfp);
273
+ }
274
+
222
275
  /* Load program */
223
276
  if (args.mrbfile) {
224
277
  v = mrb_load_irep_file_cxt(mrb, args.rfp, c);
@@ -67,7 +67,7 @@
67
67
 
68
68
  `#{cmd('mruby-strip')} -l #{without_lv.path}`
69
69
  assert_true without_lv.size < with_lv.size
70
-
71
- assert_equal '[:a, :b]', `#{cmd('mruby')} -b #{with_lv.path}`.chomp
72
- assert_equal '[]', `#{cmd('mruby')} -b #{without_lv.path}`.chomp
70
+ #
71
+ # assert_equal '[:a, :b]', `#{cmd('mruby')} -b #{with_lv.path}`.chomp
72
+ # assert_equal '[]', `#{cmd('mruby')} -b #{without_lv.path}`.chomp
73
73
  end
@@ -12,22 +12,6 @@ struct strip_args {
12
12
  mrb_bool lvar;
13
13
  };
14
14
 
15
-
16
- static void
17
- irep_remove_lv(mrb_state *mrb, mrb_irep *irep)
18
- {
19
- int i;
20
-
21
- if (irep->lv) {
22
- mrb_free(mrb, irep->lv);
23
- irep->lv = NULL;
24
- }
25
-
26
- for (i = 0; i < irep->rlen; ++i) {
27
- irep_remove_lv(mrb, irep->reps[i]);
28
- }
29
- }
30
-
31
15
  static void
32
16
  print_usage(const char *f)
33
17
  {
@@ -99,7 +83,7 @@ strip(mrb_state *mrb, struct strip_args *args)
99
83
 
100
84
  /* clear lv if --lvar is enabled */
101
85
  if (args->lvar) {
102
- irep_remove_lv(mrb, irep);
86
+ mrb_irep_remove_lv(mrb, irep);
103
87
  }
104
88
 
105
89
  wfile = fopen(filename, "wb");
@@ -0,0 +1,89 @@
1
+ class Module
2
+
3
+ ##
4
+ # call-seq:
5
+ # mod < other -> true, false, or nil
6
+ #
7
+ # Returns true if `mod` is a subclass of `other`. Returns
8
+ # <code>nil</code> if there's no relationship between the two.
9
+ # (Think of the relationship in terms of the class definition:
10
+ # "class A < B" implies "A < B".)
11
+ #
12
+ def <(other)
13
+ if self.equal?(other)
14
+ false
15
+ else
16
+ self <= other
17
+ end
18
+ end
19
+
20
+ ##
21
+ # call-seq:
22
+ # mod <= other -> true, false, or nil
23
+ #
24
+ # Returns true if `mod` is a subclass of `other` or
25
+ # is the same as `other`. Returns
26
+ # <code>nil</code> if there's no relationship between the two.
27
+ # (Think of the relationship in terms of the class definition:
28
+ # "class A < B" implies "A < B".)
29
+ def <=(other)
30
+ raise TypeError, 'compared with non class/module' unless other.is_a?(Module)
31
+ if self.ancestors.include?(other)
32
+ return true
33
+ elsif other.ancestors.include?(self)
34
+ return false
35
+ end
36
+ end
37
+
38
+ ##
39
+ # call-seq:
40
+ # mod > other -> true, false, or nil
41
+ #
42
+ # Returns true if `mod` is an ancestor of `other`. Returns
43
+ # <code>nil</code> if there's no relationship between the two.
44
+ # (Think of the relationship in terms of the class definition:
45
+ # "class A < B" implies "B > A".)
46
+ #
47
+ def >(other)
48
+ if self.equal?(other)
49
+ false
50
+ else
51
+ self >= other
52
+ end
53
+ end
54
+
55
+ ##
56
+ # call-seq:
57
+ # mod >= other -> true, false, or nil
58
+ #
59
+ # Returns true if `mod` is an ancestor of `other`, or the
60
+ # two modules are the same. Returns
61
+ # <code>nil</code> if there's no relationship between the two.
62
+ # (Think of the relationship in terms of the class definition:
63
+ # "class A < B" implies "B > A".)
64
+ #
65
+ def >=(other)
66
+ raise TypeError, 'compared with non class/module' unless other.is_a?(Module)
67
+ return other < self
68
+ end
69
+
70
+ ##
71
+ # call-seq:
72
+ # module <=> other_module -> -1, 0, +1, or nil
73
+ #
74
+ # Comparison---Returns -1, 0, +1 or nil depending on whether `module`
75
+ # includes `other_module`, they are the same, or if `module` is included by
76
+ # `other_module`.
77
+ #
78
+ # Returns `nil` if `module` has no relationship with `other_module`, if
79
+ # `other_module` is not a module, or if the two values are incomparable.
80
+ #
81
+ def <=>(other)
82
+ return 0 if self.equal?(other)
83
+ return nil unless other.is_a?(Module)
84
+ cmp = self < other
85
+ return -1 if cmp
86
+ return 1 unless cmp.nil?
87
+ return nil
88
+ end
89
+ end
@@ -1,3 +1,57 @@
1
+ assert 'Module#<' do
2
+ a = Class.new
3
+ b = Class.new(a)
4
+ c = Class.new(a)
5
+ d = Module.new
6
+ e = Class.new { include d }
7
+ f = Module.new { include d }
8
+
9
+ # compare class to class
10
+ assert_true b < a
11
+ assert_false b < b
12
+ assert_false a < b
13
+ assert_nil c < b
14
+
15
+ # compare class to module
16
+ assert_true e < d
17
+ assert_false d < e
18
+ assert_nil a < d
19
+
20
+ # compare module to module
21
+ assert_true f < d
22
+ assert_false f < f
23
+ assert_false d < f
24
+
25
+ assert_raise(TypeError) { a < Object.new }
26
+ end
27
+
28
+ assert 'Module#<=' do
29
+ a = Class.new
30
+ b = Class.new(a)
31
+ c = Class.new(a)
32
+ d = Module.new
33
+ e = Class.new { include d }
34
+ f = Module.new { include d }
35
+
36
+ # compare class to class
37
+ assert_true b <= a
38
+ assert_true b <= b
39
+ assert_false a <= b
40
+ assert_nil c <= b
41
+
42
+ # compare class to module
43
+ assert_true e <= d
44
+ assert_false d <= e
45
+ assert_nil a <= d
46
+
47
+ # compare module to module
48
+ assert_true f <= d
49
+ assert_true f <= f
50
+ assert_false d <= f
51
+
52
+ assert_raise(TypeError) { a <= Object.new }
53
+ end
54
+
1
55
  assert 'Module#name' do
2
56
  module Outer
3
57
  class Inner; end
@@ -26,7 +80,7 @@ class Inner; end
26
80
  assert 'Module#singleton_class?' do
27
81
  mod = Module.new
28
82
  cls = Class.new
29
- scl = cls.singleton_class
83
+ scl = (class <<cls; self; end)
30
84
 
31
85
  assert_false mod.singleton_class?
32
86
  assert_false cls.singleton_class?
@@ -8,6 +8,7 @@
8
8
  #include <limits.h>
9
9
  #include <stdlib.h>
10
10
  #include <string.h>
11
+ #include <math.h>
11
12
  #include <mruby.h>
12
13
  #include <mruby/compile.h>
13
14
  #include <mruby/proc.h>
@@ -23,6 +24,8 @@
23
24
  #define MRB_CODEGEN_LEVEL_MAX 1024
24
25
  #endif
25
26
 
27
+ #define MAXARG_S (1<<16)
28
+
26
29
  typedef mrb_ast_node node;
27
30
  typedef struct mrb_parser_state parser_state;
28
31
 
@@ -36,7 +39,7 @@ enum looptype {
36
39
 
37
40
  struct loopinfo {
38
41
  enum looptype type;
39
- int pc1, pc2, pc3, acc;
42
+ int pc0, pc1, pc2, pc3, acc;
40
43
  int ensure_level;
41
44
  struct loopinfo *prev;
42
45
  };
@@ -50,23 +53,24 @@ typedef struct scope {
50
53
 
51
54
  node *lv;
52
55
 
53
- int sp;
54
- int pc;
55
- int lastlabel;
56
+ uint16_t sp;
57
+ uint16_t pc;
58
+ uint16_t lastpc;
59
+ uint16_t lastlabel;
56
60
  int ainfo:15;
57
61
  mrb_bool mscope:1;
58
62
 
59
63
  struct loopinfo *loop;
60
64
  int ensure_level;
61
- char const *filename;
65
+ mrb_sym filename_sym;
62
66
  uint16_t lineno;
63
67
 
64
68
  mrb_code *iseq;
65
69
  uint16_t *lines;
66
- int icapa;
70
+ uint32_t icapa;
67
71
 
68
72
  mrb_irep *irep;
69
- int pcapa, scapa, rcapa;
73
+ uint32_t pcapa, scapa, rcapa;
70
74
 
71
75
  uint16_t nlocals;
72
76
  uint16_t nregs;
@@ -102,8 +106,9 @@ codegen_error(codegen_scope *s, const char *message)
102
106
  s = tmp;
103
107
  }
104
108
  #ifndef MRB_DISABLE_STDIO
105
- if (s->filename && s->lineno) {
106
- fprintf(stderr, "codegen error:%s:%d: %s\n", s->filename, s->lineno, message);
109
+ if (s->filename_sym && s->lineno) {
110
+ const char *filename = mrb_sym2name_len(s->mrb, s->filename_sym, NULL);
111
+ fprintf(stderr, "codegen error:%s:%d: %s\n", filename, s->lineno, message);
107
112
  }
108
113
  else {
109
114
  fprintf(stderr, "codegen error: %s\n", message);
@@ -121,15 +126,6 @@ codegen_palloc(codegen_scope *s, size_t len)
121
126
  return p;
122
127
  }
123
128
 
124
- static void*
125
- codegen_malloc(codegen_scope *s, size_t len)
126
- {
127
- void *p = mrb_malloc_simple(s->mrb, len);
128
-
129
- if (!p) codegen_error(s, "mrb_malloc");
130
- return p;
131
- }
132
-
133
129
  static void*
134
130
  codegen_realloc(codegen_scope *s, void *p, size_t len)
135
131
  {
@@ -142,38 +138,142 @@ codegen_realloc(codegen_scope *s, void *p, size_t len)
142
138
  static int
143
139
  new_label(codegen_scope *s)
144
140
  {
145
- s->lastlabel = s->pc;
146
- return s->pc;
141
+ return s->lastlabel = s->pc;
147
142
  }
148
143
 
149
- static inline int
150
- genop(codegen_scope *s, mrb_code i)
144
+ static void
145
+ emit_B(codegen_scope *s, uint32_t pc, uint8_t i)
151
146
  {
152
- if (s->pc >= s->icapa) {
147
+ if (pc >= MAXARG_S || s->icapa >= MAXARG_S) {
148
+ codegen_error(s, "too big code block");
149
+ }
150
+ if (pc >= s->icapa) {
153
151
  s->icapa *= 2;
154
- if (s->pc >= MAXARG_sBx) {
155
- codegen_error(s, "too big code block");
156
- }
157
- if (s->icapa > MAXARG_sBx) {
158
- s->icapa = MAXARG_sBx;
152
+ if (s->icapa > MAXARG_S) {
153
+ s->icapa = MAXARG_S;
159
154
  }
160
155
  s->iseq = (mrb_code *)codegen_realloc(s, s->iseq, sizeof(mrb_code)*s->icapa);
161
156
  if (s->lines) {
162
- s->lines = (uint16_t*)codegen_realloc(s, s->lines, sizeof(short)*s->icapa);
163
- s->irep->lines = s->lines;
157
+ s->lines = (uint16_t*)codegen_realloc(s, s->lines, sizeof(uint16_t)*s->icapa);
164
158
  }
165
159
  }
166
- s->iseq[s->pc] = i;
167
160
  if (s->lines) {
168
- s->lines[s->pc] = s->lineno;
161
+ if (s->lineno > 0 || pc == 0)
162
+ s->lines[pc] = s->lineno;
163
+ else
164
+ s->lines[pc] = s->lines[pc-1];
165
+ }
166
+ s->iseq[pc] = i;
167
+ }
168
+
169
+ static void
170
+ emit_S(codegen_scope *s, int pc, uint16_t i)
171
+ {
172
+ uint8_t hi = i>>8;
173
+ uint8_t lo = i&0xff;
174
+
175
+ emit_B(s, pc, hi);
176
+ emit_B(s, pc+1, lo);
177
+ }
178
+
179
+ static void
180
+ gen_B(codegen_scope *s, uint8_t i)
181
+ {
182
+ emit_B(s, s->pc, i);
183
+ s->pc++;
184
+ }
185
+
186
+ static void
187
+ gen_S(codegen_scope *s, uint16_t i)
188
+ {
189
+ emit_S(s, s->pc, i);
190
+ s->pc += 2;
191
+ }
192
+
193
+ static void
194
+ genop_0(codegen_scope *s, mrb_code i)
195
+ {
196
+ s->lastpc = s->pc;
197
+ gen_B(s, i);
198
+ }
199
+
200
+ static void
201
+ genop_1(codegen_scope *s, mrb_code i, uint16_t a)
202
+ {
203
+ s->lastpc = s->pc;
204
+ if (a > 0xff) {
205
+ gen_B(s, OP_EXT1);
206
+ gen_B(s, i);
207
+ gen_S(s, a);
208
+ }
209
+ else {
210
+ gen_B(s, i);
211
+ gen_B(s, (uint8_t)a);
169
212
  }
170
- return s->pc++;
213
+ }
214
+
215
+ static void
216
+ genop_2(codegen_scope *s, mrb_code i, uint16_t a, uint16_t b)
217
+ {
218
+ s->lastpc = s->pc;
219
+ if (a > 0xff && b > 0xff) {
220
+ gen_B(s, OP_EXT3);
221
+ gen_B(s, i);
222
+ gen_S(s, a);
223
+ gen_S(s, b);
224
+ }
225
+ else if (b > 0xff) {
226
+ gen_B(s, OP_EXT2);
227
+ gen_B(s, i);
228
+ gen_B(s, (uint8_t)a);
229
+ gen_S(s, b);
230
+ }
231
+ else if (a > 0xff) {
232
+ gen_B(s, OP_EXT1);
233
+ gen_B(s, i);
234
+ gen_S(s, a);
235
+ gen_B(s, (uint8_t)b);
236
+ }
237
+ else {
238
+ gen_B(s, i);
239
+ gen_B(s, (uint8_t)a);
240
+ gen_B(s, (uint8_t)b);
241
+ }
242
+ }
243
+
244
+ static void
245
+ genop_3(codegen_scope *s, mrb_code i, uint16_t a, uint16_t b, uint8_t c)
246
+ {
247
+ genop_2(s, i, a, b);
248
+ gen_B(s, c);
249
+ }
250
+
251
+ static void
252
+ genop_2S(codegen_scope *s, mrb_code i, uint16_t a, uint16_t b)
253
+ {
254
+ genop_1(s, i, a);
255
+ gen_S(s, b);
256
+ }
257
+
258
+ static void
259
+ genop_W(codegen_scope *s, mrb_code i, uint32_t a)
260
+ {
261
+ uint8_t a1 = (a>>16) & 0xff;
262
+ uint8_t a2 = (a>>8) & 0xff;
263
+ uint8_t a3 = a & 0xff;
264
+
265
+ s->lastpc = s->pc;
266
+ gen_B(s, i);
267
+ gen_B(s, a1);
268
+ gen_B(s, a2);
269
+ gen_B(s, a3);
171
270
  }
172
271
 
173
272
  #define NOVAL 0
174
273
  #define VAL 1
175
274
 
176
- static mrb_bool
275
+ //static
276
+ mrb_bool
177
277
  no_optimize(codegen_scope *s)
178
278
  {
179
279
  if (s && s->parser && s->parser->no_optimize)
@@ -181,298 +281,270 @@ no_optimize(codegen_scope *s)
181
281
  return FALSE;
182
282
  }
183
283
 
184
- static int
185
- genop_peep(codegen_scope *s, mrb_code i, int val)
284
+ static
285
+ mrb_bool
286
+ on_eval(codegen_scope *s)
186
287
  {
187
- /* peephole optimization */
188
- if (!no_optimize(s) && s->lastlabel != s->pc && s->pc > 0) {
189
- mrb_code i0 = s->iseq[s->pc-1];
190
- int c1 = GET_OPCODE(i);
191
- int c0 = GET_OPCODE(i0);
288
+ if (s && s->parser && s->parser->on_eval)
289
+ return TRUE;
290
+ return FALSE;
291
+ }
192
292
 
193
- switch (c1) {
194
- case OP_MOVE:
195
- if (GETARG_A(i) == GETARG_B(i)) {
196
- /* skip useless OP_MOVE */
197
- return 0;
198
- }
199
- if (val) break;
200
- switch (c0) {
201
- case OP_MOVE:
202
- if (GETARG_A(i) == GETARG_A(i0)) {
203
- /* skip overriden OP_MOVE */
204
- s->pc--;
205
- s->iseq[s->pc] = i;
206
- }
207
- if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i) == GETARG_B(i0)) {
208
- /* skip swapping OP_MOVE */
209
- return 0;
210
- }
211
- if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i0) >= s->nlocals) {
212
- s->pc--;
213
- return genop_peep(s, MKOP_AB(OP_MOVE, GETARG_A(i), GETARG_B(i0)), val);
214
- }
215
- break;
216
- case OP_LOADI:
217
- if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i0) >= s->nlocals) {
218
- s->iseq[s->pc-1] = MKOP_AsBx(OP_LOADI, GETARG_A(i), GETARG_sBx(i0));
219
- return 0;
220
- }
221
- break;
222
- case OP_ARRAY:
223
- case OP_HASH:
224
- case OP_RANGE:
225
- case OP_AREF:
226
- case OP_GETUPVAR:
227
- if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i0) >= s->nlocals) {
228
- s->iseq[s->pc-1] = MKOP_ABC(c0, GETARG_A(i), GETARG_B(i0), GETARG_C(i0));
229
- return 0;
230
- }
231
- break;
232
- case OP_LOADSYM:
233
- case OP_GETGLOBAL:
234
- case OP_GETIV:
235
- case OP_GETCV:
236
- case OP_GETCONST:
237
- case OP_GETSPECIAL:
238
- case OP_LOADL:
239
- case OP_STRING:
240
- if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i0) >= s->nlocals) {
241
- s->iseq[s->pc-1] = MKOP_ABx(c0, GETARG_A(i), GETARG_Bx(i0));
242
- return 0;
243
- }
244
- break;
245
- case OP_SCLASS:
246
- if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i0) >= s->nlocals) {
247
- s->iseq[s->pc-1] = MKOP_AB(c0, GETARG_A(i), GETARG_B(i0));
248
- return 0;
249
- }
250
- break;
251
- case OP_LOADNIL:
252
- case OP_LOADSELF:
253
- case OP_LOADT:
254
- case OP_LOADF:
255
- case OP_OCLASS:
256
- if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i0) >= s->nlocals) {
257
- s->iseq[s->pc-1] = MKOP_A(c0, GETARG_A(i));
258
- return 0;
259
- }
260
- break;
261
- default:
262
- break;
263
- }
264
- break;
265
- case OP_SETIV:
266
- case OP_SETCV:
267
- case OP_SETCONST:
268
- case OP_SETMCNST:
269
- case OP_SETGLOBAL:
270
- if (val) break;
271
- if (c0 == OP_MOVE) {
272
- if (GETARG_A(i) == GETARG_A(i0)) {
273
- s->iseq[s->pc-1] = MKOP_ABx(c1, GETARG_B(i0), GETARG_Bx(i));
274
- return 0;
275
- }
276
- }
277
- break;
278
- case OP_SETUPVAR:
279
- if (val) break;
280
- if (c0 == OP_MOVE) {
281
- if (GETARG_A(i) == GETARG_A(i0)) {
282
- s->iseq[s->pc-1] = MKOP_ABC(c1, GETARG_B(i0), GETARG_B(i), GETARG_C(i));
283
- return 0;
284
- }
285
- }
286
- break;
287
- case OP_GETUPVAR:
288
- if (c0 == OP_SETUPVAR) {
289
- if (GETARG_B(i) == GETARG_B(i0) && GETARG_C(i) == GETARG_C(i0)) {
290
- if (GETARG_A(i) == GETARG_A(i0)) {
291
- /* just skip OP_SETUPVAR */
292
- return 0;
293
- }
294
- else {
295
- return genop(s, MKOP_AB(OP_MOVE, GETARG_A(i), GETARG_A(i0)));
296
- }
297
- }
298
- }
299
- break;
300
- case OP_EPOP:
301
- if (c0 == OP_EPOP) {
302
- s->iseq[s->pc-1] = MKOP_A(OP_EPOP, GETARG_A(i0)+GETARG_A(i));
303
- return 0;
304
- }
305
- break;
306
- case OP_POPERR:
307
- if (c0 == OP_POPERR) {
308
- s->iseq[s->pc-1] = MKOP_A(OP_POPERR, GETARG_A(i0)+GETARG_A(i));
309
- return 0;
310
- }
311
- break;
312
- case OP_RETURN:
313
- switch (c0) {
314
- case OP_RETURN:
315
- return 0;
316
- case OP_MOVE:
317
- if (GETARG_A(i0) >= s->nlocals) {
318
- s->iseq[s->pc-1] = MKOP_AB(OP_RETURN, GETARG_B(i0), OP_R_NORMAL);
319
- return 0;
320
- }
321
- break;
322
- case OP_SETIV:
323
- case OP_SETCV:
324
- case OP_SETCONST:
325
- case OP_SETMCNST:
326
- case OP_SETUPVAR:
327
- case OP_SETGLOBAL:
328
- s->pc--;
329
- genop_peep(s, i0, NOVAL);
330
- i0 = s->iseq[s->pc-1];
331
- return genop(s, MKOP_AB(OP_RETURN, GETARG_A(i0), OP_R_NORMAL));
332
- #if 0
333
- case OP_SEND:
334
- if (GETARG_B(i) == OP_R_NORMAL && GETARG_A(i) == GETARG_A(i0)) {
335
- s->iseq[s->pc-1] = MKOP_ABC(OP_TAILCALL, GETARG_A(i0), GETARG_B(i0), GETARG_C(i0));
336
- return;
337
- }
338
- break;
339
- #endif
340
- default:
341
- break;
342
- }
343
- break;
344
- case OP_ADD:
345
- case OP_SUB:
346
- if (c0 == OP_LOADI) {
347
- int c = GETARG_sBx(i0);
348
-
349
- if (c1 == OP_SUB) c = -c;
350
- if (c > 127 || c < -127) break;
351
- if (0 <= c)
352
- s->iseq[s->pc-1] = MKOP_ABC(OP_ADDI, GETARG_A(i), GETARG_B(i), c);
353
- else
354
- s->iseq[s->pc-1] = MKOP_ABC(OP_SUBI, GETARG_A(i), GETARG_B(i), -c);
355
- return 0;
356
- }
357
- break;
358
- case OP_ARYCAT:
359
- case OP_ARYPUSH:
360
- if (c0 == OP_MOVE && GETARG_A(i0) >= s->nlocals) {
361
- s->iseq[s->pc-1] = MKOP_AB(c1, GETARG_A(i), GETARG_B(i0));
362
- return 0;
363
- }
364
- break;
365
- case OP_STRCAT:
366
- if (c0 == OP_STRING) {
367
- mrb_value v = s->irep->pool[GETARG_Bx(i0)];
293
+ struct mrb_insn_data
294
+ mrb_decode_insn(mrb_code *pc)
295
+ {
296
+ struct mrb_insn_data data = { 0 };
297
+ mrb_code insn = READ_B();
298
+ uint16_t a = 0;
299
+ uint16_t b = 0;
300
+ uint8_t c = 0;
301
+
302
+ switch (insn) {
303
+ #define FETCH_Z() /* empty */
304
+ #define OPCODE(i,x) case OP_ ## i: FETCH_ ## x (); break;
305
+ #include "mruby/ops.h"
306
+ #undef OPCODE
307
+ }
308
+ switch (insn) {
309
+ case OP_EXT1:
310
+ insn = READ_B();
311
+ switch (insn) {
312
+ #define OPCODE(i,x) case OP_ ## i: FETCH_ ## x ## _1 (); break;
313
+ #include "mruby/ops.h"
314
+ #undef OPCODE
315
+ }
316
+ break;
317
+ case OP_EXT2:
318
+ insn = READ_B();
319
+ switch (insn) {
320
+ #define OPCODE(i,x) case OP_ ## i: FETCH_ ## x ## _2 (); break;
321
+ #include "mruby/ops.h"
322
+ #undef OPCODE
323
+ }
324
+ break;
325
+ case OP_EXT3:
326
+ insn = READ_B();
327
+ switch (insn) {
328
+ #define OPCODE(i,x) case OP_ ## i: FETCH_ ## x ## _3 (); break;
329
+ #include "mruby/ops.h"
330
+ #undef OPCODE
331
+ }
332
+ break;
333
+ default:
334
+ break;
335
+ }
336
+ data.insn = insn;
337
+ data.a = a;
338
+ data.b = b;
339
+ data.c = c;
340
+ return data;
341
+ }
368
342
 
369
- if (mrb_string_p(v) && RSTRING_LEN(v) == 0) {
370
- s->pc--;
371
- return 0;
372
- }
373
- }
374
- if (c0 == OP_LOADNIL) {
375
- if (GETARG_B(i) == GETARG_A(i0)) {
376
- s->pc--;
377
- return 0;
378
- }
379
- }
343
+ static struct mrb_insn_data
344
+ mrb_last_insn(codegen_scope *s)
345
+ {
346
+ if (s->pc == s->lastpc) {
347
+ struct mrb_insn_data data;
348
+
349
+ data.insn = OP_NOP;
350
+ return data;
351
+ }
352
+ return mrb_decode_insn(&s->iseq[s->lastpc]);
353
+ }
354
+
355
+ static mrb_bool
356
+ no_peephole(codegen_scope *s)
357
+ {
358
+ return no_optimize(s) || s->lastlabel == s->pc || s->pc == 0 || s->pc == s->lastpc;
359
+ }
360
+
361
+ static uint16_t
362
+ genjmp(codegen_scope *s, mrb_code i, uint16_t pc)
363
+ {
364
+ uint16_t pos;
365
+
366
+ s->lastpc = s->pc;
367
+ gen_B(s, i);
368
+ pos = s->pc;
369
+ gen_S(s, pc);
370
+ return pos;
371
+ }
372
+
373
+ static uint16_t
374
+ genjmp2(codegen_scope *s, mrb_code i, uint16_t a, int pc, int val)
375
+ {
376
+ uint16_t pos;
377
+
378
+ if (!no_peephole(s) && !val) {
379
+ struct mrb_insn_data data = mrb_last_insn(s);
380
+
381
+ if (data.insn == OP_MOVE && data.a == a) {
382
+ s->pc = s->lastpc;
383
+ a = data.b;
384
+ }
385
+ }
386
+
387
+ s->lastpc = s->pc;
388
+ if (a > 0xff) {
389
+ gen_B(s, OP_EXT1);
390
+ gen_B(s, i);
391
+ gen_S(s, a);
392
+ pos = s->pc;
393
+ gen_S(s, pc);
394
+ }
395
+ else {
396
+ gen_B(s, i);
397
+ gen_B(s, (uint8_t)a);
398
+ pos = s->pc;
399
+ gen_S(s, pc);
400
+ }
401
+ return pos;
402
+ }
403
+
404
+ static void
405
+ gen_move(codegen_scope *s, uint16_t dst, uint16_t src, int nopeep)
406
+ {
407
+ if (no_peephole(s)) {
408
+ normal:
409
+ genop_2(s, OP_MOVE, dst, src);
410
+ if (on_eval(s)) {
411
+ genop_0(s, OP_NOP);
412
+ }
413
+ return;
414
+ }
415
+ else {
416
+ struct mrb_insn_data data = mrb_last_insn(s);
417
+
418
+ switch (data.insn) {
419
+ case OP_MOVE:
420
+ if (dst == src) return; /* remove useless MOVE */
421
+ if (data.b == dst && data.a == src) /* skip swapping MOVE */
422
+ return;
423
+ goto normal;
424
+ case OP_LOADNIL: case OP_LOADSELF: case OP_LOADT: case OP_LOADF:
425
+ case OP_LOADI__1:
426
+ case OP_LOADI_0: case OP_LOADI_1: case OP_LOADI_2: case OP_LOADI_3:
427
+ case OP_LOADI_4: case OP_LOADI_5: case OP_LOADI_6: case OP_LOADI_7:
428
+ if (nopeep || data.a != src || data.a < s->nlocals) goto normal;
429
+ s->pc = s->lastpc;
430
+ genop_1(s, data.insn, dst);
380
431
  break;
381
- case OP_JMPIF:
382
- case OP_JMPNOT:
383
- if (c0 == OP_MOVE && GETARG_A(i) == GETARG_A(i0)) {
384
- s->iseq[s->pc-1] = MKOP_AsBx(c1, GETARG_B(i0), GETARG_sBx(i));
385
- return s->pc-1;
386
- }
432
+ case OP_LOADI: case OP_LOADINEG: case OP_LOADL: case OP_LOADSYM:
433
+ case OP_GETGV: case OP_GETSV: case OP_GETIV: case OP_GETCV:
434
+ case OP_GETCONST: case OP_STRING:
435
+ case OP_LAMBDA: case OP_BLOCK: case OP_METHOD: case OP_BLKPUSH:
436
+ if (nopeep || data.a != src || data.a < s->nlocals) goto normal;
437
+ s->pc = s->lastpc;
438
+ genop_2(s, data.insn, dst, data.b);
387
439
  break;
388
440
  default:
389
- break;
441
+ goto normal;
390
442
  }
391
443
  }
392
- return genop(s, i);
393
444
  }
394
445
 
395
446
  static void
396
- scope_error(codegen_scope *s)
447
+ gen_return(codegen_scope *s, uint8_t op, uint16_t src)
397
448
  {
398
- exit(EXIT_FAILURE);
449
+ if (no_peephole(s)) {
450
+ genop_1(s, op, src);
451
+ }
452
+ else {
453
+ struct mrb_insn_data data = mrb_last_insn(s);
454
+
455
+ if (data.insn == OP_MOVE && src == data.a) {
456
+ s->pc = s->lastpc;
457
+ genop_1(s, op, data.b);
458
+ }
459
+ else if (data.insn != OP_RETURN) {
460
+ genop_1(s, op, src);
461
+ }
462
+ }
399
463
  }
400
464
 
401
465
  static void
402
- distcheck(codegen_scope *s, int diff)
466
+ gen_addsub(codegen_scope *s, uint8_t op, uint16_t dst)
403
467
  {
404
- if (diff > MAXARG_sBx || diff < -MAXARG_sBx) {
405
- codegen_error(s, "too distant jump address");
468
+ if (no_peephole(s)) {
469
+ normal:
470
+ genop_1(s, op, dst);
471
+ return;
472
+ }
473
+ else {
474
+ struct mrb_insn_data data = mrb_last_insn(s);
475
+
476
+ switch (data.insn) {
477
+ case OP_LOADI__1:
478
+ if (op == OP_ADD) op = OP_SUB;
479
+ else op = OP_ADD;
480
+ data.b = 1;
481
+ goto replace;
482
+ case OP_LOADI_0: case OP_LOADI_1: case OP_LOADI_2: case OP_LOADI_3:
483
+ case OP_LOADI_4: case OP_LOADI_5: case OP_LOADI_6: case OP_LOADI_7:
484
+ data.b = data.insn - OP_LOADI_0;
485
+ /* fall through */
486
+ case OP_LOADI:
487
+ replace:
488
+ if (data.b >= 128) goto normal;
489
+ s->pc = s->lastpc;
490
+ if (op == OP_ADD) {
491
+ genop_2(s, OP_ADDI, dst, (uint8_t)data.b);
492
+ }
493
+ else {
494
+ genop_2(s, OP_SUBI, dst, (uint8_t)data.b);
495
+ }
496
+ break;
497
+ default:
498
+ goto normal;
499
+ }
406
500
  }
407
501
  }
408
502
 
409
- static inline void
410
- dispatch(codegen_scope *s, int pc)
503
+ static int
504
+ dispatch(codegen_scope *s, uint16_t pos0)
411
505
  {
412
- int diff = s->pc - pc;
413
- mrb_code i = s->iseq[pc];
414
- int c = GET_OPCODE(i);
506
+ uint16_t newpos;
415
507
 
416
508
  s->lastlabel = s->pc;
417
- switch (c) {
418
- case OP_JMP:
419
- case OP_JMPIF:
420
- case OP_JMPNOT:
421
- case OP_ONERR:
422
- break;
423
- default:
424
- #ifndef MRB_DISABLE_STDIO
425
- fprintf(stderr, "bug: dispatch on non JMP op\n");
426
- #endif
427
- scope_error(s);
428
- break;
429
- }
430
- distcheck(s, diff);
431
- s->iseq[pc] = MKOP_AsBx(c, GETARG_A(i), diff);
509
+ newpos = PEEK_S(s->iseq+pos0);
510
+ emit_S(s, pos0, s->pc);
511
+ return newpos;
432
512
  }
433
513
 
434
514
  static void
435
- dispatch_linked(codegen_scope *s, int pc)
515
+ dispatch_linked(codegen_scope *s, uint16_t pos)
436
516
  {
437
- mrb_code i;
438
- int pos;
439
-
440
- if (!pc) return;
517
+ if (pos==0) return;
441
518
  for (;;) {
442
- i = s->iseq[pc];
443
- pos = GETARG_sBx(i);
444
- dispatch(s, pc);
445
- if (!pos) break;
446
- pc = pos;
519
+ pos = dispatch(s, pos);
520
+ if (pos==0) break;
447
521
  }
448
522
  }
449
523
 
450
524
  #define nregs_update do {if (s->sp > s->nregs) s->nregs = s->sp;} while (0)
451
525
  static void
452
- push_(codegen_scope *s)
526
+ push_n_(codegen_scope *s, int n)
453
527
  {
454
- if (s->sp > 511) {
528
+ if (s->sp+n >= 0xffff) {
455
529
  codegen_error(s, "too complex expression");
456
530
  }
457
- s->sp++;
531
+ s->sp+=n;
458
532
  nregs_update;
459
533
  }
460
534
 
461
535
  static void
462
- push_n_(codegen_scope *s, int n)
536
+ pop_n_(codegen_scope *s, int n)
463
537
  {
464
- if (s->sp+n > 511) {
465
- codegen_error(s, "too complex expression");
538
+ if ((int)s->sp-n < 0) {
539
+ codegen_error(s, "stack pointer underflow");
466
540
  }
467
- s->sp+=n;
468
- nregs_update;
541
+ s->sp-=n;
469
542
  }
470
543
 
471
- #define push() push_(s)
544
+ #define push() push_n_(s,1)
472
545
  #define push_n(n) push_n_(s,n)
473
- #define pop_(s) ((s)->sp--)
474
- #define pop() pop_(s)
475
- #define pop_n(n) (s->sp-=(n))
546
+ #define pop() pop_n_(s,1)
547
+ #define pop_n(n) pop_n_(s,n)
476
548
  #define cursp() (s->sp)
477
549
 
478
550
  static inline int
@@ -496,9 +568,12 @@ new_lit(codegen_scope *s, mrb_value val)
496
568
  #ifndef MRB_WITHOUT_FLOAT
497
569
  case MRB_TT_FLOAT:
498
570
  for (i=0; i<s->irep->plen; i++) {
571
+ mrb_float f1, f2;
499
572
  pv = &s->irep->pool[i];
500
573
  if (mrb_type(*pv) != MRB_TT_FLOAT) continue;
501
- if (mrb_float(*pv) == mrb_float(val)) return i;
574
+ f1 = mrb_float(*pv);
575
+ f2 = mrb_float(val);
576
+ if (f1 == f2 && !signbit(f1) == !signbit(f2)) return i;
502
577
  }
503
578
  break;
504
579
  #endif
@@ -545,52 +620,23 @@ new_lit(codegen_scope *s, mrb_value val)
545
620
  return i;
546
621
  }
547
622
 
548
- /* method symbols should be fit in 9 bits */
549
- #define MAXMSYMLEN 512
550
623
  /* maximum symbol numbers */
551
- #define MAXSYMLEN 65536
624
+ #define MAXSYMLEN 0x10000
552
625
 
553
626
  static int
554
- new_msym(codegen_scope *s, mrb_sym sym)
627
+ new_sym(codegen_scope *s, mrb_sym sym)
555
628
  {
556
629
  int i, len;
557
630
 
558
631
  mrb_assert(s->irep);
559
632
 
560
633
  len = s->irep->slen;
561
- if (len > MAXMSYMLEN) len = MAXMSYMLEN;
562
634
  for (i=0; i<len; i++) {
563
635
  if (s->irep->syms[i] == sym) return i;
564
- if (s->irep->syms[i] == 0) break;
565
636
  }
566
- if (i == MAXMSYMLEN) {
567
- codegen_error(s, "too many symbols (max " MRB_STRINGIZE(MAXMSYMLEN) ")");
568
- }
569
- s->irep->syms[i] = sym;
570
- if (i == s->irep->slen) s->irep->slen++;
571
- return i;
572
- }
573
-
574
- static int
575
- new_sym(codegen_scope *s, mrb_sym sym)
576
- {
577
- int i;
578
-
579
- for (i=0; i<s->irep->slen; i++) {
580
- if (s->irep->syms[i] == sym) return i;
581
- }
582
- if (s->irep->slen == MAXSYMLEN) {
583
- codegen_error(s, "too many symbols (max " MRB_STRINGIZE(MAXSYMLEN) ")");
584
- }
585
-
586
- if (s->irep->slen > MAXMSYMLEN/2 && s->scapa == MAXMSYMLEN) {
587
- s->scapa = MAXSYMLEN;
588
- s->irep->syms = (mrb_sym *)codegen_realloc(s, s->irep->syms, sizeof(mrb_sym)*MAXSYMLEN);
589
- for (i = s->irep->slen; i < MAXMSYMLEN; i++) {
590
- static const mrb_sym mrb_sym_zero = { 0 };
591
- s->irep->syms[i] = mrb_sym_zero;
592
- }
593
- s->irep->slen = MAXMSYMLEN;
637
+ if (s->irep->slen >= s->scapa) {
638
+ s->scapa *= 2;
639
+ s->irep->syms = (mrb_sym*)codegen_realloc(s, s->irep->syms, sizeof(mrb_sym)*s->scapa);
594
640
  }
595
641
  s->irep->syms[s->irep->slen] = sym;
596
642
  return s->irep->slen++;
@@ -608,8 +654,12 @@ node_len(node *tree)
608
654
  return n;
609
655
  }
610
656
 
657
+ #define nint(x) ((int)(intptr_t)(x))
658
+ #define nchar(x) ((char)(intptr_t)(x))
611
659
  #define nsym(x) ((mrb_sym)(intptr_t)(x))
660
+
612
661
  #define lv_name(lv) nsym((lv)->car)
662
+
613
663
  static int
614
664
  lv_idx(codegen_scope *s, mrb_sym id)
615
665
  {
@@ -631,7 +681,6 @@ for_body(codegen_scope *s, node *tree)
631
681
  int idx;
632
682
  struct loopinfo *lp;
633
683
  node *n2;
634
- mrb_code c;
635
684
 
636
685
  /* generate receiver */
637
686
  codegen(s, tree->cdr->car, VAL);
@@ -645,7 +694,7 @@ for_body(codegen_scope *s, node *tree)
645
694
 
646
695
  /* generate loop variable */
647
696
  n2 = tree->car;
648
- genop(s, MKOP_Ax(OP_ENTER, 0x40000));
697
+ genop_W(s, OP_ENTER, 0x40000);
649
698
  if (n2->car && !n2->car->cdr && !n2->cdr) {
650
699
  gen_assignment(s, n2->car->car, 1, NOVAL);
651
700
  }
@@ -659,25 +708,20 @@ for_body(codegen_scope *s, node *tree)
659
708
  /* loop body */
660
709
  codegen(s, tree->cdr->cdr->car, VAL);
661
710
  pop();
662
- if (s->pc > 0) {
663
- c = s->iseq[s->pc-1];
664
- if (GET_OPCODE(c) != OP_RETURN || GETARG_B(c) != OP_R_NORMAL || s->pc == s->lastlabel)
665
- genop_peep(s, MKOP_AB(OP_RETURN, cursp(), OP_R_NORMAL), NOVAL);
666
- }
711
+ gen_return(s, OP_RETURN, cursp());
667
712
  loop_pop(s, NOVAL);
668
713
  scope_finish(s);
669
714
  s = prev;
670
- genop(s, MKOP_Abc(OP_LAMBDA, cursp(), s->irep->rlen-1, OP_L_BLOCK));
715
+ genop_2(s, OP_BLOCK, cursp(), s->irep->rlen-1);
671
716
  push();pop(); /* space for a block */
672
717
  pop();
673
- idx = new_msym(s, mrb_intern_lit(s->mrb, "each"));
674
- genop(s, MKOP_ABC(OP_SENDB, cursp(), idx, 0));
718
+ idx = new_sym(s, mrb_intern_lit(s->mrb, "each"));
719
+ genop_3(s, OP_SENDB, cursp(), idx, 0);
675
720
  }
676
721
 
677
722
  static int
678
723
  lambda_body(codegen_scope *s, node *tree, int blk)
679
724
  {
680
- mrb_code c;
681
725
  codegen_scope *parent = s;
682
726
  s = scope_new(s->mrb, s, tree->car);
683
727
  if (s == NULL) {
@@ -688,78 +732,150 @@ lambda_body(codegen_scope *s, node *tree, int blk)
688
732
 
689
733
  if (blk) {
690
734
  struct loopinfo *lp = loop_push(s, LOOP_BLOCK);
691
- lp->pc1 = new_label(s);
735
+ lp->pc0 = new_label(s);
692
736
  }
693
737
  tree = tree->cdr;
694
- if (tree->car) {
738
+ if (tree->car == NULL) {
739
+ genop_W(s, OP_ENTER, 0);
740
+ }
741
+ else {
695
742
  mrb_aspec a;
696
743
  int ma, oa, ra, pa, ka, kd, ba;
697
744
  int pos, i;
698
- node *n, *opt;
745
+ node *opt;
746
+ node *margs, *pargs;
747
+ node *tail;
699
748
 
749
+ /* mandatory arguments */
700
750
  ma = node_len(tree->car->car);
701
- n = tree->car->car;
702
- while (n) {
703
- n = n->cdr;
704
- }
751
+ margs = tree->car->car;
752
+ tail = tree->car->cdr->cdr->cdr->cdr;
753
+
754
+ /* optional arguments */
705
755
  oa = node_len(tree->car->cdr->car);
756
+ /* rest argument? */
706
757
  ra = tree->car->cdr->cdr->car ? 1 : 0;
758
+ /* mandatory arugments after rest argument */
707
759
  pa = node_len(tree->car->cdr->cdr->cdr->car);
708
- ka = kd = 0;
709
- ba = tree->car->cdr->cdr->cdr->cdr ? 1 : 0;
760
+ pargs = tree->car->cdr->cdr->cdr->car;
761
+ /* keyword arguments */
762
+ ka = tail? node_len(tail->cdr->car) : 0;
763
+ /* keyword dictionary? */
764
+ kd = tail && tail->cdr->cdr->car? 1 : 0;
765
+ /* block argument? */
766
+ ba = tail && tail->cdr->cdr->cdr->car ? 1 : 0;
710
767
 
711
768
  if (ma > 0x1f || oa > 0x1f || pa > 0x1f || ka > 0x1f) {
712
769
  codegen_error(s, "too many formal arguments");
713
770
  }
714
- a = ((mrb_aspec)(ma & 0x1f) << 18)
715
- | ((mrb_aspec)(oa & 0x1f) << 13)
716
- | ((ra & 1) << 12)
717
- | ((pa & 0x1f) << 7)
718
- | ((ka & 0x1f) << 2)
719
- | ((kd & 1)<< 1)
720
- | (ba & 1);
721
- s->ainfo = (((ma+oa) & 0x3f) << 6) /* (12bits = 6:1:5) */
722
- | ((ra & 1) << 5)
723
- | (pa & 0x1f);
724
- genop(s, MKOP_Ax(OP_ENTER, a));
771
+ a = MRB_ARGS_REQ(ma)
772
+ | MRB_ARGS_OPT(oa)
773
+ | (ra? MRB_ARGS_REST() : 0)
774
+ | MRB_ARGS_POST(pa)
775
+ | MRB_ARGS_KEY(ka, kd)
776
+ | (ba? MRB_ARGS_BLOCK() : 0);
777
+ s->ainfo = (((ma+oa) & 0x3f) << 7) /* (12bits = 5:1:5:1) */
778
+ | ((ra & 0x1) << 6)
779
+ | ((pa & 0x1f) << 1)
780
+ | (kd & 0x1);
781
+ genop_W(s, OP_ENTER, a);
782
+ /* generate jump table for optional arguments initializer */
725
783
  pos = new_label(s);
726
784
  for (i=0; i<oa; i++) {
727
785
  new_label(s);
728
- genop(s, MKOP_sBx(OP_JMP, 0));
786
+ genjmp(s, OP_JMP, 0);
729
787
  }
730
788
  if (oa > 0) {
731
- genop(s, MKOP_sBx(OP_JMP, 0));
789
+ genjmp(s, OP_JMP, 0);
732
790
  }
733
791
  opt = tree->car->cdr->car;
734
792
  i = 0;
735
793
  while (opt) {
736
794
  int idx;
737
795
 
738
- dispatch(s, pos+i);
796
+ dispatch(s, pos+i*3+1);
739
797
  codegen(s, opt->car->cdr, VAL);
740
- idx = lv_idx(s, nsym(opt->car->car));
741
798
  pop();
742
- genop_peep(s, MKOP_AB(OP_MOVE, idx, cursp()), NOVAL);
799
+ idx = lv_idx(s, nsym(opt->car->car));
800
+ gen_move(s, idx, cursp(), 0);
743
801
  i++;
744
802
  opt = opt->cdr;
745
803
  }
746
804
  if (oa > 0) {
747
- dispatch(s, pos+i);
805
+ dispatch(s, pos+i*3+1);
806
+ }
807
+
808
+ /* keyword arguments */
809
+ if (tail) {
810
+ node *kwds = tail->cdr->car;
811
+ int kwrest = 0;
812
+
813
+ if (tail->cdr->cdr->car) {
814
+ kwrest = 1;
815
+ }
816
+ mrb_assert(nint(tail->car) == NODE_ARGS_TAIL);
817
+ mrb_assert(node_len(tail) == 4);
818
+
819
+ while (kwds) {
820
+ int jmpif_key_p, jmp_def_set = -1;
821
+ node *kwd = kwds->car, *def_arg = kwd->cdr->cdr->car;
822
+ mrb_sym kwd_sym = nsym(kwd->cdr->car);
823
+
824
+ mrb_assert(nint(kwd->car) == NODE_KW_ARG);
825
+
826
+ if (def_arg) {
827
+ genop_2(s, OP_KEY_P, lv_idx(s, kwd_sym), new_sym(s, kwd_sym));
828
+ jmpif_key_p = genjmp2(s, OP_JMPIF, lv_idx(s, kwd_sym), 0, 0);
829
+ codegen(s, def_arg, VAL);
830
+ pop();
831
+ gen_move(s, lv_idx(s, kwd_sym), cursp(), 0);
832
+ jmp_def_set = genjmp(s, OP_JMP, 0);
833
+ dispatch(s, jmpif_key_p);
834
+ }
835
+ genop_2(s, OP_KARG, lv_idx(s, kwd_sym), new_sym(s, kwd_sym));
836
+ if (jmp_def_set != -1) {
837
+ dispatch(s, jmp_def_set);
838
+ }
839
+ i++;
840
+
841
+ kwds = kwds->cdr;
842
+ }
843
+ if (tail->cdr->car && !kwrest) {
844
+ genop_0(s, OP_KEYEND);
845
+ }
846
+ }
847
+
848
+ /* argument destructuring */
849
+ if (margs) {
850
+ node *n = margs;
851
+
852
+ pos = 1;
853
+ while (n) {
854
+ if (nint(n->car->car) == NODE_MASGN) {
855
+ gen_vmassignment(s, n->car->cdr->car, pos, NOVAL);
856
+ }
857
+ pos++;
858
+ n = n->cdr;
859
+ }
860
+ }
861
+ if (pargs) {
862
+ node *n = margs;
863
+
864
+ pos = ma+oa+ra+1;
865
+ while (n) {
866
+ if (nint(n->car->car) == NODE_MASGN) {
867
+ gen_vmassignment(s, n->car->cdr->car, pos, NOVAL);
868
+ }
869
+ pos++;
870
+ n = n->cdr;
871
+ }
748
872
  }
749
873
  }
874
+
750
875
  codegen(s, tree->cdr->car, VAL);
751
876
  pop();
752
877
  if (s->pc > 0) {
753
- c = s->iseq[s->pc-1];
754
- if (GET_OPCODE(c) != OP_RETURN || GETARG_B(c) != OP_R_NORMAL || s->pc == s->lastlabel) {
755
- if (s->nregs == 0) {
756
- genop(s, MKOP_A(OP_LOADNIL, 0));
757
- genop(s, MKOP_AB(OP_RETURN, 0, OP_R_NORMAL));
758
- }
759
- else {
760
- genop_peep(s, MKOP_AB(OP_RETURN, cursp(), OP_R_NORMAL), NOVAL);
761
- }
762
- }
878
+ gen_return(s, OP_RETURN, cursp());
763
879
  }
764
880
  if (blk) {
765
881
  loop_pop(s, NOVAL);
@@ -773,24 +889,13 @@ scope_body(codegen_scope *s, node *tree, int val)
773
889
  {
774
890
  codegen_scope *scope = scope_new(s->mrb, s, tree->car);
775
891
  if (scope == NULL) {
776
- raise_error(s, "unexpected scope");
892
+ codegen_error(s, "unexpected scope");
777
893
  }
778
894
 
779
895
  codegen(scope, tree->cdr, VAL);
896
+ gen_return(scope, OP_RETURN, scope->sp-1);
780
897
  if (!s->iseq) {
781
- genop(scope, MKOP_A(OP_STOP, 0));
782
- }
783
- else if (!val) {
784
- genop(scope, MKOP_AB(OP_RETURN, 0, OP_R_NORMAL));
785
- }
786
- else {
787
- if (scope->nregs == 0) {
788
- genop(scope, MKOP_A(OP_LOADNIL, 0));
789
- genop(scope, MKOP_AB(OP_RETURN, 0, OP_R_NORMAL));
790
- }
791
- else {
792
- genop_peep(scope, MKOP_AB(OP_RETURN, scope->sp-1, OP_R_NORMAL), NOVAL);
793
- }
898
+ genop_0(scope, OP_STOP);
794
899
  }
795
900
  scope_finish(scope);
796
901
  if (!s->irep) {
@@ -800,9 +905,6 @@ scope_body(codegen_scope *s, node *tree, int val)
800
905
  return s->irep->rlen - 1;
801
906
  }
802
907
 
803
- #define nint(x) ((int)(intptr_t)(x))
804
- #define nchar(x) ((char)(intptr_t)(x))
805
-
806
908
  static mrb_bool
807
909
  nosplat(node *t)
808
910
  {
@@ -854,15 +956,15 @@ gen_values(codegen_scope *s, node *t, int val, int extra)
854
956
  }
855
957
  else {
856
958
  pop_n(n);
857
- genop(s, MKOP_ABC(OP_ARRAY, cursp(), cursp(), n));
959
+ genop_2(s, OP_ARRAY, cursp(), n);
858
960
  push();
859
961
  codegen(s, t->car, VAL);
860
962
  pop(); pop();
861
963
  if (is_splat) {
862
- genop_peep(s, MKOP_AB(OP_ARYCAT, cursp(), cursp()+1), NOVAL);
964
+ genop_1(s, OP_ARYCAT, cursp());
863
965
  }
864
966
  else {
865
- genop_peep(s, MKOP_AB(OP_ARYPUSH, cursp(), cursp()+1), NOVAL);
967
+ genop_1(s, OP_ARYPUSH, cursp());
866
968
  }
867
969
  }
868
970
  t = t->cdr;
@@ -871,10 +973,10 @@ gen_values(codegen_scope *s, node *t, int val, int extra)
871
973
  codegen(s, t->car, VAL);
872
974
  pop(); pop();
873
975
  if (nint(t->car->car) == NODE_SPLAT) {
874
- genop_peep(s, MKOP_AB(OP_ARYCAT, cursp(), cursp()+1), NOVAL);
976
+ genop_1(s, OP_ARYCAT, cursp());
875
977
  }
876
978
  else {
877
- genop_peep(s, MKOP_AB(OP_ARYPUSH, cursp(), cursp()+1), NOVAL);
979
+ genop_1(s, OP_ARYPUSH, cursp());
878
980
  }
879
981
  t = t->cdr;
880
982
  }
@@ -899,22 +1001,15 @@ static void
899
1001
  gen_call(codegen_scope *s, node *tree, mrb_sym name, int sp, int val, int safe)
900
1002
  {
901
1003
  mrb_sym sym = name ? name : nsym(tree->cdr->car);
902
- int idx, skip = 0;
1004
+ int skip = 0;
903
1005
  int n = 0, noop = 0, sendv = 0, blk = 0;
904
1006
 
905
1007
  codegen(s, tree->car, VAL); /* receiver */
906
1008
  if (safe) {
907
1009
  int recv = cursp()-1;
908
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
909
- push();
910
- genop(s, MKOP_AB(OP_MOVE, cursp(), recv));
911
- push_n(2); pop_n(2); /* space for one arg and a block */
912
- pop();
913
- idx = new_msym(s, mrb_intern_lit(s->mrb, "=="));
914
- genop(s, MKOP_ABC(OP_EQ, cursp(), idx, 1));
915
- skip = genop(s, MKOP_AsBx(OP_JMPIF, cursp(), 0));
1010
+ gen_move(s, cursp(), recv, 1);
1011
+ skip = genjmp2(s, OP_JMPNIL, cursp(), 0, val);
916
1012
  }
917
- idx = new_msym(s, sym);
918
1013
  tree = tree->cdr->cdr->car;
919
1014
  if (tree) {
920
1015
  n = gen_values(s, tree->car, VAL, sp?1:0);
@@ -923,14 +1018,15 @@ gen_call(codegen_scope *s, node *tree, mrb_sym name, int sp, int val, int safe)
923
1018
  push();
924
1019
  }
925
1020
  }
926
- if (sp) {
1021
+ if (sp) { /* last argument pushed (attr=) */
927
1022
  if (sendv) {
1023
+ gen_move(s, cursp(), sp, 0);
928
1024
  pop();
929
- genop(s, MKOP_AB(OP_ARYPUSH, cursp(), sp));
1025
+ genop_1(s, OP_ARYPUSH, cursp());
930
1026
  push();
931
1027
  }
932
1028
  else {
933
- genop(s, MKOP_AB(OP_MOVE, cursp(), sp));
1029
+ gen_move(s, cursp(), sp, 0);
934
1030
  push();
935
1031
  n++;
936
1032
  }
@@ -939,9 +1035,7 @@ gen_call(codegen_scope *s, node *tree, mrb_sym name, int sp, int val, int safe)
939
1035
  noop = 1;
940
1036
  codegen(s, tree->cdr, VAL);
941
1037
  pop();
942
- }
943
- else {
944
- blk = cursp();
1038
+ blk = 1;
945
1039
  }
946
1040
  push();pop();
947
1041
  pop_n(n+1);
@@ -950,39 +1044,40 @@ gen_call(codegen_scope *s, node *tree, mrb_sym name, int sp, int val, int safe)
950
1044
  const char *symname = mrb_sym2name_len(s->mrb, sym, &symlen);
951
1045
 
952
1046
  if (!noop && symlen == 1 && symname[0] == '+' && n == 1) {
953
- genop_peep(s, MKOP_ABC(OP_ADD, cursp(), idx, n), val);
1047
+ gen_addsub(s, OP_ADD, cursp());
954
1048
  }
955
1049
  else if (!noop && symlen == 1 && symname[0] == '-' && n == 1) {
956
- genop_peep(s, MKOP_ABC(OP_SUB, cursp(), idx, n), val);
1050
+ gen_addsub(s, OP_SUB, cursp());
957
1051
  }
958
1052
  else if (!noop && symlen == 1 && symname[0] == '*' && n == 1) {
959
- genop(s, MKOP_ABC(OP_MUL, cursp(), idx, n));
1053
+ genop_1(s, OP_MUL, cursp());
960
1054
  }
961
1055
  else if (!noop && symlen == 1 && symname[0] == '/' && n == 1) {
962
- genop(s, MKOP_ABC(OP_DIV, cursp(), idx, n));
1056
+ genop_1(s, OP_DIV, cursp());
963
1057
  }
964
1058
  else if (!noop && symlen == 1 && symname[0] == '<' && n == 1) {
965
- genop(s, MKOP_ABC(OP_LT, cursp(), idx, n));
1059
+ genop_1(s, OP_LT, cursp());
966
1060
  }
967
1061
  else if (!noop && symlen == 2 && symname[0] == '<' && symname[1] == '=' && n == 1) {
968
- genop(s, MKOP_ABC(OP_LE, cursp(), idx, n));
1062
+ genop_1(s, OP_LE, cursp());
969
1063
  }
970
1064
  else if (!noop && symlen == 1 && symname[0] == '>' && n == 1) {
971
- genop(s, MKOP_ABC(OP_GT, cursp(), idx, n));
1065
+ genop_1(s, OP_GT, cursp());
972
1066
  }
973
1067
  else if (!noop && symlen == 2 && symname[0] == '>' && symname[1] == '=' && n == 1) {
974
- genop(s, MKOP_ABC(OP_GE, cursp(), idx, n));
1068
+ genop_1(s, OP_GE, cursp());
975
1069
  }
976
1070
  else if (!noop && symlen == 2 && symname[0] == '=' && symname[1] == '=' && n == 1) {
977
- genop(s, MKOP_ABC(OP_EQ, cursp(), idx, n));
1071
+ genop_1(s, OP_EQ, cursp());
978
1072
  }
979
1073
  else {
980
- if (sendv) n = CALL_MAXARGS;
981
- if (blk > 0) { /* no block */
982
- genop(s, MKOP_ABC(OP_SEND, cursp(), idx, n));
1074
+ int idx = new_sym(s, sym);
1075
+
1076
+ if (sendv) {
1077
+ genop_2(s, blk ? OP_SENDVB : OP_SENDV, cursp(), idx);
983
1078
  }
984
1079
  else {
985
- genop(s, MKOP_ABC(OP_SENDB, cursp(), idx, n));
1080
+ genop_3(s, blk ? OP_SENDB : OP_SEND, cursp(), idx, n);
986
1081
  }
987
1082
  }
988
1083
  }
@@ -1004,13 +1099,15 @@ gen_assignment(codegen_scope *s, node *tree, int sp, int val)
1004
1099
  switch (type) {
1005
1100
  case NODE_GVAR:
1006
1101
  idx = new_sym(s, nsym(tree));
1007
- genop_peep(s, MKOP_ABx(OP_SETGLOBAL, sp, idx), val);
1102
+ genop_2(s, OP_SETGV, sp, idx);
1008
1103
  break;
1104
+ case NODE_ARG:
1009
1105
  case NODE_LVAR:
1010
1106
  idx = lv_idx(s, nsym(tree));
1011
1107
  if (idx > 0) {
1012
1108
  if (idx != sp) {
1013
- genop_peep(s, MKOP_AB(OP_MOVE, idx, sp), val);
1109
+ gen_move(s, idx, sp, val);
1110
+ if (val && on_eval(s)) genop_0(s, OP_NOP);
1014
1111
  }
1015
1112
  break;
1016
1113
  }
@@ -1021,7 +1118,7 @@ gen_assignment(codegen_scope *s, node *tree, int sp, int val)
1021
1118
  while (up) {
1022
1119
  idx = lv_idx(up, nsym(tree));
1023
1120
  if (idx > 0) {
1024
- genop_peep(s, MKOP_ABC(OP_SETUPVAR, sp, idx, lv), val);
1121
+ genop_3(s, OP_SETUPVAR, sp, idx, lv);
1025
1122
  break;
1026
1123
  }
1027
1124
  lv++;
@@ -1031,23 +1128,23 @@ gen_assignment(codegen_scope *s, node *tree, int sp, int val)
1031
1128
  break;
1032
1129
  case NODE_IVAR:
1033
1130
  idx = new_sym(s, nsym(tree));
1034
- genop_peep(s, MKOP_ABx(OP_SETIV, sp, idx), val);
1131
+ genop_2(s, OP_SETIV, sp, idx);
1035
1132
  break;
1036
1133
  case NODE_CVAR:
1037
1134
  idx = new_sym(s, nsym(tree));
1038
- genop_peep(s, MKOP_ABx(OP_SETCV, sp, idx), val);
1135
+ genop_2(s, OP_SETCV, sp, idx);
1039
1136
  break;
1040
1137
  case NODE_CONST:
1041
1138
  idx = new_sym(s, nsym(tree));
1042
- genop_peep(s, MKOP_ABx(OP_SETCONST, sp, idx), val);
1139
+ genop_2(s, OP_SETCONST, sp, idx);
1043
1140
  break;
1044
1141
  case NODE_COLON2:
1045
- idx = new_sym(s, nsym(tree->cdr));
1046
- genop_peep(s, MKOP_AB(OP_MOVE, cursp(), sp), NOVAL);
1142
+ gen_move(s, cursp(), sp, 0);
1047
1143
  push();
1048
1144
  codegen(s, tree->car, VAL);
1049
1145
  pop_n(2);
1050
- genop_peep(s, MKOP_ABx(OP_SETMCNST, cursp(), idx), val);
1146
+ idx = new_sym(s, nsym(tree->cdr));
1147
+ genop_2(s, OP_SETMCNST, sp, idx);
1051
1148
  break;
1052
1149
 
1053
1150
  case NODE_CALL:
@@ -1057,7 +1154,7 @@ gen_assignment(codegen_scope *s, node *tree, int sp, int val)
1057
1154
  type == NODE_SCALL);
1058
1155
  pop();
1059
1156
  if (val) {
1060
- genop_peep(s, MKOP_AB(OP_MOVE, cursp(), sp), val);
1157
+ gen_move(s, cursp(), sp, 0);
1061
1158
  }
1062
1159
  break;
1063
1160
 
@@ -1088,8 +1185,12 @@ gen_vmassignment(codegen_scope *s, node *tree, int rhs, int val)
1088
1185
  t = tree->car;
1089
1186
  n = 0;
1090
1187
  while (t) {
1091
- genop(s, MKOP_ABC(OP_AREF, cursp(), rhs, n));
1092
- gen_assignment(s, t->car, cursp(), NOVAL);
1188
+ int sp = cursp();
1189
+
1190
+ genop_3(s, OP_AREF, sp, rhs, n);
1191
+ push();
1192
+ gen_assignment(s, t->car, sp, NOVAL);
1193
+ pop();
1093
1194
  n++;
1094
1195
  t = t->cdr;
1095
1196
  }
@@ -1103,17 +1204,12 @@ gen_vmassignment(codegen_scope *s, node *tree, int rhs, int val)
1103
1204
  p = p->cdr;
1104
1205
  }
1105
1206
  }
1106
- if (val) {
1107
- genop(s, MKOP_AB(OP_MOVE, cursp(), rhs));
1108
- }
1109
- else {
1110
- pop();
1111
- }
1112
- push_n(post);
1113
- pop_n(post);
1114
- genop(s, MKOP_ABC(OP_APOST, cursp(), n, post));
1207
+ gen_move(s, cursp(), rhs, val);
1208
+ push_n(post+1);
1209
+ pop_n(post+1);
1210
+ genop_3(s, OP_APOST, cursp(), n, post);
1115
1211
  n = 1;
1116
- if (t->car) { /* rest */
1212
+ if (t->car && t->car != (node*)-1) { /* rest */
1117
1213
  gen_assignment(s, t->car, cursp(), NOVAL);
1118
1214
  }
1119
1215
  if (t->cdr && t->cdr->car) {
@@ -1124,20 +1220,20 @@ gen_vmassignment(codegen_scope *s, node *tree, int rhs, int val)
1124
1220
  n++;
1125
1221
  }
1126
1222
  }
1127
- if (!val) {
1128
- push();
1223
+ if (val) {
1224
+ gen_move(s, cursp(), rhs, 0);
1129
1225
  }
1130
1226
  }
1131
1227
  }
1132
1228
 
1133
1229
  static void
1134
- gen_send_intern(codegen_scope *s)
1230
+ gen_intern(codegen_scope *s)
1135
1231
  {
1136
- push();pop(); /* space for a block */
1137
1232
  pop();
1138
- genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern_lit(s->mrb, "intern")), 0));
1233
+ genop_1(s, OP_INTERN, cursp());
1139
1234
  push();
1140
1235
  }
1236
+
1141
1237
  static void
1142
1238
  gen_literal_array(codegen_scope *s, node *tree, mrb_bool sym, int val)
1143
1239
  {
@@ -1160,25 +1256,25 @@ gen_literal_array(codegen_scope *s, node *tree, mrb_bool sym, int val)
1160
1256
  j = 0;
1161
1257
  ++i;
1162
1258
  if (sym)
1163
- gen_send_intern(s);
1259
+ gen_intern(s);
1164
1260
  }
1165
1261
  break;
1166
1262
  }
1167
- if (j >= 2) {
1263
+ while (j >= 2) {
1168
1264
  pop(); pop();
1169
- genop_peep(s, MKOP_AB(OP_STRCAT, cursp(), cursp()+1), VAL);
1265
+ genop_1(s, OP_STRCAT, cursp());
1170
1266
  push();
1171
- j = 1;
1267
+ j--;
1172
1268
  }
1173
1269
  tree = tree->cdr;
1174
1270
  }
1175
1271
  if (j > 0) {
1176
1272
  ++i;
1177
1273
  if (sym)
1178
- gen_send_intern(s);
1274
+ gen_intern(s);
1179
1275
  }
1180
1276
  pop_n(i);
1181
- genop(s, MKOP_ABC(OP_ARRAY, cursp(), cursp(), i));
1277
+ genop_2(s, OP_ARRAY, cursp(), i);
1182
1278
  push();
1183
1279
  }
1184
1280
  else {
@@ -1197,7 +1293,7 @@ raise_error(codegen_scope *s, const char *msg)
1197
1293
  {
1198
1294
  int idx = new_lit(s, mrb_str_new_cstr(s->mrb, msg));
1199
1295
 
1200
- genop(s, MKOP_ABx(OP_ERR, 1, idx));
1296
+ genop_1(s, OP_ERR, idx);
1201
1297
  }
1202
1298
 
1203
1299
  #ifndef MRB_WITHOUT_FLOAT
@@ -1275,11 +1371,9 @@ static void
1275
1371
  gen_retval(codegen_scope *s, node *tree)
1276
1372
  {
1277
1373
  if (nint(tree->car) == NODE_SPLAT) {
1278
- genop(s, MKOP_ABC(OP_ARRAY, cursp(), cursp(), 0));
1279
- push();
1280
1374
  codegen(s, tree, VAL);
1281
- pop(); pop();
1282
- genop(s, MKOP_AB(OP_ARYCAT, cursp(), cursp()+1));
1375
+ pop();
1376
+ genop_1(s, OP_ARYDUP, cursp());
1283
1377
  }
1284
1378
  else {
1285
1379
  codegen(s, tree, VAL);
@@ -1295,7 +1389,7 @@ codegen(codegen_scope *s, node *tree, int val)
1295
1389
 
1296
1390
  if (!tree) {
1297
1391
  if (val) {
1298
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
1392
+ genop_1(s, OP_LOADNIL, cursp());
1299
1393
  push();
1300
1394
  }
1301
1395
  return;
@@ -1306,11 +1400,14 @@ codegen(codegen_scope *s, node *tree, int val)
1306
1400
  codegen_error(s, "too complex expression");
1307
1401
  }
1308
1402
  if (s->irep && s->filename_index != tree->filename_index) {
1309
- s->irep->filename = mrb_parser_get_filename(s->parser, s->filename_index);
1310
- mrb_debug_info_append_file(s->mrb, s->irep, s->debug_start_pos, s->pc);
1403
+ mrb_sym fname = mrb_parser_get_filename(s->parser, s->filename_index);
1404
+ const char *filename = mrb_sym2name_len(s->mrb, fname, NULL);
1405
+
1406
+ mrb_debug_info_append_file(s->mrb, s->irep->debug_info,
1407
+ filename, s->lines, s->debug_start_pos, s->pc);
1311
1408
  s->debug_start_pos = s->pc;
1312
1409
  s->filename_index = tree->filename_index;
1313
- s->filename = mrb_parser_get_filename(s->parser, tree->filename_index);
1410
+ s->filename_sym = mrb_parser_get_filename(s->parser, tree->filename_index);
1314
1411
  }
1315
1412
 
1316
1413
  nt = nint(tree->car);
@@ -1319,7 +1416,7 @@ codegen(codegen_scope *s, node *tree, int val)
1319
1416
  switch (nt) {
1320
1417
  case NODE_BEGIN:
1321
1418
  if (val && !tree) {
1322
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
1419
+ genop_1(s, OP_LOADNIL, cursp());
1323
1420
  push();
1324
1421
  }
1325
1422
  while (tree) {
@@ -1330,18 +1427,18 @@ codegen(codegen_scope *s, node *tree, int val)
1330
1427
 
1331
1428
  case NODE_RESCUE:
1332
1429
  {
1333
- int onerr, noexc, exend, pos1, pos2, tmp;
1430
+ int noexc, exend, pos1, pos2, tmp;
1334
1431
  struct loopinfo *lp;
1335
1432
 
1336
1433
  if (tree->car == NULL) goto exit;
1337
- onerr = genop(s, MKOP_Bx(OP_ONERR, 0));
1338
1434
  lp = loop_push(s, LOOP_BEGIN);
1339
- lp->pc1 = onerr;
1435
+ lp->pc0 = new_label(s);
1436
+ lp->pc1 = genjmp(s, OP_ONERR, 0);
1340
1437
  codegen(s, tree->car, VAL);
1341
1438
  pop();
1342
1439
  lp->type = LOOP_RESCUE;
1343
- noexc = genop(s, MKOP_Bx(OP_JMP, 0));
1344
- dispatch(s, onerr);
1440
+ noexc = genjmp(s, OP_JMP, 0);
1441
+ dispatch(s, lp->pc1);
1345
1442
  tree = tree->cdr;
1346
1443
  exend = 0;
1347
1444
  pos1 = 0;
@@ -1349,7 +1446,7 @@ codegen(codegen_scope *s, node *tree, int val)
1349
1446
  node *n2 = tree->car;
1350
1447
  int exc = cursp();
1351
1448
 
1352
- genop(s, MKOP_ABC(OP_RESCUE, exc, 0, 0));
1449
+ genop_1(s, OP_EXCEPT, exc);
1353
1450
  push();
1354
1451
  while (n2) {
1355
1452
  node *n3 = n2->car;
@@ -1360,30 +1457,29 @@ codegen(codegen_scope *s, node *tree, int val)
1360
1457
  do {
1361
1458
  if (n4 && n4->car && nint(n4->car->car) == NODE_SPLAT) {
1362
1459
  codegen(s, n4->car, VAL);
1363
- genop(s, MKOP_AB(OP_MOVE, cursp(), exc));
1460
+ gen_move(s, cursp(), exc, 0);
1364
1461
  push_n(2); pop_n(2); /* space for one arg and a block */
1365
1462
  pop();
1366
- genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern_lit(s->mrb, "__case_eqq")), 1));
1463
+ genop_3(s, OP_SEND, cursp(), new_sym(s, mrb_intern_lit(s->mrb, "__case_eqq")), 1);
1367
1464
  }
1368
1465
  else {
1369
1466
  if (n4) {
1370
1467
  codegen(s, n4->car, VAL);
1371
1468
  }
1372
1469
  else {
1373
- genop(s, MKOP_ABx(OP_GETCONST, cursp(), new_msym(s, mrb_intern_lit(s->mrb, "StandardError"))));
1470
+ genop_2(s, OP_GETCONST, cursp(), new_sym(s, mrb_intern_lit(s->mrb, "StandardError")));
1374
1471
  push();
1375
1472
  }
1376
1473
  pop();
1377
- genop(s, MKOP_ABC(OP_RESCUE, exc, cursp(), 1));
1474
+ genop_2(s, OP_RESCUE, exc, cursp());
1378
1475
  }
1379
- distcheck(s, pos2);
1380
- tmp = genop(s, MKOP_AsBx(OP_JMPIF, cursp(), pos2));
1476
+ tmp = genjmp2(s, OP_JMPIF, cursp(), pos2, val);
1381
1477
  pos2 = tmp;
1382
1478
  if (n4) {
1383
1479
  n4 = n4->cdr;
1384
1480
  }
1385
1481
  } while (n4);
1386
- pos1 = genop(s, MKOP_sBx(OP_JMP, 0));
1482
+ pos1 = genjmp(s, OP_JMP, 0);
1387
1483
  dispatch_linked(s, pos2);
1388
1484
 
1389
1485
  pop();
@@ -1394,21 +1490,20 @@ codegen(codegen_scope *s, node *tree, int val)
1394
1490
  codegen(s, n3->cdr->cdr->car, val);
1395
1491
  if (val) pop();
1396
1492
  }
1397
- distcheck(s, exend);
1398
- tmp = genop(s, MKOP_sBx(OP_JMP, exend));
1493
+ tmp = genjmp(s, OP_JMP, exend);
1399
1494
  exend = tmp;
1400
1495
  n2 = n2->cdr;
1401
1496
  push();
1402
1497
  }
1403
1498
  if (pos1) {
1404
1499
  dispatch(s, pos1);
1405
- genop(s, MKOP_A(OP_RAISE, exc));
1500
+ genop_1(s, OP_RAISE, exc);
1406
1501
  }
1407
1502
  }
1408
1503
  pop();
1409
1504
  tree = tree->cdr;
1410
1505
  dispatch(s, noexc);
1411
- genop(s, MKOP_A(OP_POPERR, 1));
1506
+ genop_1(s, OP_POPERR, 1);
1412
1507
  if (tree->car) {
1413
1508
  codegen(s, tree->car, val);
1414
1509
  }
@@ -1425,15 +1520,13 @@ codegen(codegen_scope *s, node *tree, int val)
1425
1520
  (nint(tree->cdr->cdr->car) == NODE_BEGIN &&
1426
1521
  tree->cdr->cdr->cdr)) {
1427
1522
  int idx;
1428
- int epush = s->pc;
1429
1523
 
1430
- genop(s, MKOP_Bx(OP_EPUSH, 0));
1431
1524
  s->ensure_level++;
1432
- codegen(s, tree->car, val);
1433
1525
  idx = scope_body(s, tree->cdr, NOVAL);
1434
- s->iseq[epush] = MKOP_Bx(OP_EPUSH, idx);
1526
+ genop_1(s, OP_EPUSH, idx);
1527
+ codegen(s, tree->car, val);
1435
1528
  s->ensure_level--;
1436
- genop_peep(s, MKOP_A(OP_EPOP, 1), NOVAL);
1529
+ genop_1(s, OP_EPOP, 1);
1437
1530
  }
1438
1531
  else { /* empty ensure ignored */
1439
1532
  codegen(s, tree->car, val);
@@ -1444,7 +1537,7 @@ codegen(codegen_scope *s, node *tree, int val)
1444
1537
  if (val) {
1445
1538
  int idx = lambda_body(s, tree, 1);
1446
1539
 
1447
- genop(s, MKOP_Abc(OP_LAMBDA, cursp(), idx, OP_L_LAMBDA));
1540
+ genop_2(s, OP_LAMBDA, cursp(), idx);
1448
1541
  push();
1449
1542
  }
1450
1543
  break;
@@ -1453,7 +1546,7 @@ codegen(codegen_scope *s, node *tree, int val)
1453
1546
  if (val) {
1454
1547
  int idx = lambda_body(s, tree, 1);
1455
1548
 
1456
- genop(s, MKOP_Abc(OP_LAMBDA, cursp(), idx, OP_L_BLOCK));
1549
+ genop_2(s, OP_BLOCK, cursp(), idx);
1457
1550
  push();
1458
1551
  }
1459
1552
  break;
@@ -1461,10 +1554,10 @@ codegen(codegen_scope *s, node *tree, int val)
1461
1554
  case NODE_IF:
1462
1555
  {
1463
1556
  int pos1, pos2;
1464
- node *e = tree->cdr->cdr->car;
1557
+ node *elsepart = tree->cdr->cdr->car;
1465
1558
 
1466
1559
  if (!tree->car) {
1467
- codegen(s, e, val);
1560
+ codegen(s, elsepart, val);
1468
1561
  goto exit;
1469
1562
  }
1470
1563
  switch (nint(tree->car->car)) {
@@ -1475,27 +1568,27 @@ codegen(codegen_scope *s, node *tree, int val)
1475
1568
  goto exit;
1476
1569
  case NODE_FALSE:
1477
1570
  case NODE_NIL:
1478
- codegen(s, e, val);
1571
+ codegen(s, elsepart, val);
1479
1572
  goto exit;
1480
1573
  }
1481
1574
  codegen(s, tree->car, VAL);
1482
1575
  pop();
1483
- pos1 = genop_peep(s, MKOP_AsBx(OP_JMPNOT, cursp(), 0), NOVAL);
1576
+ pos1 = genjmp2(s, OP_JMPNOT, cursp(), 0, val);
1484
1577
 
1485
1578
  codegen(s, tree->cdr->car, val);
1486
- if (e) {
1579
+ if (elsepart) {
1487
1580
  if (val) pop();
1488
- pos2 = genop(s, MKOP_sBx(OP_JMP, 0));
1581
+ pos2 = genjmp(s, OP_JMP, 0);
1489
1582
  dispatch(s, pos1);
1490
- codegen(s, e, val);
1583
+ codegen(s, elsepart, val);
1491
1584
  dispatch(s, pos2);
1492
1585
  }
1493
1586
  else {
1494
1587
  if (val) {
1495
1588
  pop();
1496
- pos2 = genop(s, MKOP_sBx(OP_JMP, 0));
1589
+ pos2 = genjmp(s, OP_JMP, 0);
1497
1590
  dispatch(s, pos1);
1498
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
1591
+ genop_1(s, OP_LOADNIL, cursp());
1499
1592
  dispatch(s, pos2);
1500
1593
  push();
1501
1594
  }
@@ -1512,7 +1605,7 @@ codegen(codegen_scope *s, node *tree, int val)
1512
1605
 
1513
1606
  codegen(s, tree->car, VAL);
1514
1607
  pop();
1515
- pos = genop(s, MKOP_AsBx(OP_JMPNOT, cursp(), 0));
1608
+ pos = genjmp2(s, OP_JMPNOT, cursp(), 0, val);
1516
1609
  codegen(s, tree->cdr, val);
1517
1610
  dispatch(s, pos);
1518
1611
  }
@@ -1524,7 +1617,7 @@ codegen(codegen_scope *s, node *tree, int val)
1524
1617
 
1525
1618
  codegen(s, tree->car, VAL);
1526
1619
  pop();
1527
- pos = genop(s, MKOP_AsBx(OP_JMPIF, cursp(), 0));
1620
+ pos = genjmp2(s, OP_JMPIF, cursp(), 0, val);
1528
1621
  codegen(s, tree->cdr, val);
1529
1622
  dispatch(s, pos);
1530
1623
  }
@@ -1534,14 +1627,14 @@ codegen(codegen_scope *s, node *tree, int val)
1534
1627
  {
1535
1628
  struct loopinfo *lp = loop_push(s, LOOP_NORMAL);
1536
1629
 
1537
- lp->pc1 = genop(s, MKOP_sBx(OP_JMP, 0));
1630
+ lp->pc0 = new_label(s);
1631
+ lp->pc1 = genjmp(s, OP_JMP, 0);
1538
1632
  lp->pc2 = new_label(s);
1539
1633
  codegen(s, tree->cdr, NOVAL);
1540
1634
  dispatch(s, lp->pc1);
1541
1635
  codegen(s, tree->car, VAL);
1542
1636
  pop();
1543
- distcheck(s, lp->pc2 - s->pc);
1544
- genop(s, MKOP_AsBx(OP_JMPIF, cursp(), lp->pc2 - s->pc));
1637
+ genjmp2(s, OP_JMPIF, cursp(), lp->pc2, NOVAL);
1545
1638
 
1546
1639
  loop_pop(s, val);
1547
1640
  }
@@ -1551,14 +1644,14 @@ codegen(codegen_scope *s, node *tree, int val)
1551
1644
  {
1552
1645
  struct loopinfo *lp = loop_push(s, LOOP_NORMAL);
1553
1646
 
1554
- lp->pc1 = genop(s, MKOP_sBx(OP_JMP, 0));
1647
+ lp->pc0 = new_label(s);
1648
+ lp->pc1 = genjmp(s, OP_JMP, 0);
1555
1649
  lp->pc2 = new_label(s);
1556
1650
  codegen(s, tree->cdr, NOVAL);
1557
1651
  dispatch(s, lp->pc1);
1558
1652
  codegen(s, tree->car, VAL);
1559
1653
  pop();
1560
- distcheck(s, lp->pc2 - s->pc);
1561
- genop(s, MKOP_AsBx(OP_JMPNOT, cursp(), lp->pc2 - s->pc));
1654
+ genjmp2(s, OP_JMPNOT, cursp(), lp->pc2, NOVAL);
1562
1655
 
1563
1656
  loop_pop(s, val);
1564
1657
  }
@@ -1587,43 +1680,40 @@ codegen(codegen_scope *s, node *tree, int val)
1587
1680
  while (n) {
1588
1681
  codegen(s, n->car, VAL);
1589
1682
  if (head) {
1590
- genop(s, MKOP_AB(OP_MOVE, cursp(), head));
1591
- push_n(2); pop_n(2); /* space for one arg and a block */
1592
- pop();
1683
+ gen_move(s, cursp(), head, 0);
1684
+ push(); push(); pop(); pop(); pop();
1593
1685
  if (nint(n->car->car) == NODE_SPLAT) {
1594
- genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern_lit(s->mrb, "__case_eqq")), 1));
1686
+ genop_3(s, OP_SEND, cursp(), new_sym(s, mrb_intern_lit(s->mrb, "__case_eqq")), 1);
1595
1687
  }
1596
1688
  else {
1597
- genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern_lit(s->mrb, "===")), 1));
1689
+ genop_3(s, OP_SEND, cursp(), new_sym(s, mrb_intern_lit(s->mrb, "===")), 1);
1598
1690
  }
1599
1691
  }
1600
1692
  else {
1601
1693
  pop();
1602
1694
  }
1603
- distcheck(s, pos2);
1604
- tmp = genop(s, MKOP_AsBx(OP_JMPIF, cursp(), pos2));
1695
+ tmp = genjmp2(s, OP_JMPIF, cursp(), pos2, NOVAL);
1605
1696
  pos2 = tmp;
1606
1697
  n = n->cdr;
1607
1698
  }
1608
1699
  if (tree->car->car) {
1609
- pos1 = genop(s, MKOP_sBx(OP_JMP, 0));
1700
+ pos1 = genjmp(s, OP_JMP, 0);
1610
1701
  dispatch_linked(s, pos2);
1611
1702
  }
1612
1703
  codegen(s, tree->car->cdr, val);
1613
1704
  if (val) pop();
1614
- distcheck(s, pos3);
1615
- tmp = genop(s, MKOP_sBx(OP_JMP, pos3));
1705
+ tmp = genjmp(s, OP_JMP, pos3);
1616
1706
  pos3 = tmp;
1617
1707
  if (pos1) dispatch(s, pos1);
1618
1708
  tree = tree->cdr;
1619
1709
  }
1620
1710
  if (val) {
1621
1711
  int pos = cursp();
1622
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
1712
+ genop_1(s, OP_LOADNIL, cursp());
1623
1713
  if (pos3) dispatch_linked(s, pos3);
1624
1714
  if (head) pop();
1625
1715
  if (cursp() != pos) {
1626
- genop(s, MKOP_AB(OP_MOVE, cursp(), pos));
1716
+ gen_move(s, cursp(), pos, 0);
1627
1717
  }
1628
1718
  push();
1629
1719
  }
@@ -1655,7 +1745,7 @@ codegen(codegen_scope *s, node *tree, int val)
1655
1745
  codegen(s, tree->cdr, val);
1656
1746
  if (val) {
1657
1747
  pop(); pop();
1658
- genop(s, MKOP_ABC(OP_RANGE, cursp(), cursp(), FALSE));
1748
+ genop_1(s, OP_RANGE_INC, cursp());
1659
1749
  push();
1660
1750
  }
1661
1751
  break;
@@ -1665,7 +1755,7 @@ codegen(codegen_scope *s, node *tree, int val)
1665
1755
  codegen(s, tree->cdr, val);
1666
1756
  if (val) {
1667
1757
  pop(); pop();
1668
- genop(s, MKOP_ABC(OP_RANGE, cursp(), cursp(), TRUE));
1758
+ genop_1(s, OP_RANGE_EXC, cursp());
1669
1759
  push();
1670
1760
  }
1671
1761
  break;
@@ -1676,7 +1766,7 @@ codegen(codegen_scope *s, node *tree, int val)
1676
1766
 
1677
1767
  codegen(s, tree->car, VAL);
1678
1768
  pop();
1679
- genop(s, MKOP_ABx(OP_GETMCNST, cursp(), sym));
1769
+ genop_2(s, OP_GETMCNST, cursp(), sym);
1680
1770
  if (val) push();
1681
1771
  }
1682
1772
  break;
@@ -1685,8 +1775,8 @@ codegen(codegen_scope *s, node *tree, int val)
1685
1775
  {
1686
1776
  int sym = new_sym(s, nsym(tree));
1687
1777
 
1688
- genop(s, MKOP_A(OP_OCLASS, cursp()));
1689
- genop(s, MKOP_ABx(OP_GETMCNST, cursp(), sym));
1778
+ genop_1(s, OP_OCLASS, cursp());
1779
+ genop_2(s, OP_GETMCNST, cursp(), sym);
1690
1780
  if (val) push();
1691
1781
  }
1692
1782
  break;
@@ -1699,7 +1789,7 @@ codegen(codegen_scope *s, node *tree, int val)
1699
1789
  if (n >= 0) {
1700
1790
  if (val) {
1701
1791
  pop_n(n);
1702
- genop(s, MKOP_ABC(OP_ARRAY, cursp(), cursp(), n));
1792
+ genop_2(s, OP_ARRAY, cursp(), n);
1703
1793
  push();
1704
1794
  }
1705
1795
  }
@@ -1710,21 +1800,47 @@ codegen(codegen_scope *s, node *tree, int val)
1710
1800
  break;
1711
1801
 
1712
1802
  case NODE_HASH:
1803
+ case NODE_KW_HASH:
1713
1804
  {
1714
1805
  int len = 0;
1715
1806
  mrb_bool update = FALSE;
1716
1807
 
1717
1808
  while (tree) {
1718
- codegen(s, tree->car->car, val);
1719
- codegen(s, tree->car->cdr, val);
1720
- len++;
1809
+ if (nint(tree->car->car->car) == NODE_KW_REST_ARGS) {
1810
+ if (len > 0) {
1811
+ pop_n(len*2);
1812
+ if (!update) {
1813
+ genop_2(s, OP_HASH, cursp(), len);
1814
+ }
1815
+ else {
1816
+ pop();
1817
+ genop_2(s, OP_HASHADD, cursp(), len);
1818
+ }
1819
+ push();
1820
+ }
1821
+ codegen(s, tree->car->cdr, VAL);
1822
+ if (len > 0 || update) {
1823
+ pop(); pop();
1824
+ genop_1(s, OP_HASHCAT, cursp());
1825
+ push();
1826
+ }
1827
+ update = TRUE;
1828
+ len = 0;
1829
+ }
1830
+ else {
1831
+ codegen(s, tree->car->car, val);
1832
+ codegen(s, tree->car->cdr, val);
1833
+ len++;
1834
+ }
1721
1835
  tree = tree->cdr;
1722
- if (val && len == 126) {
1836
+ if (val && len == 255) {
1723
1837
  pop_n(len*2);
1724
- genop(s, MKOP_ABC(OP_HASH, cursp(), cursp(), len));
1725
- if (update) {
1838
+ if (!update) {
1839
+ genop_2(s, OP_HASH, cursp(), len);
1840
+ }
1841
+ else {
1726
1842
  pop();
1727
- genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern_lit(s->mrb, "__update")), 1));
1843
+ genop_2(s, OP_HASHADD, cursp(), len);
1728
1844
  }
1729
1845
  push();
1730
1846
  update = TRUE;
@@ -1733,10 +1849,14 @@ codegen(codegen_scope *s, node *tree, int val)
1733
1849
  }
1734
1850
  if (val) {
1735
1851
  pop_n(len*2);
1736
- genop(s, MKOP_ABC(OP_HASH, cursp(), cursp(), len));
1737
- if (update) {
1852
+ if (!update) {
1853
+ genop_2(s, OP_HASH, cursp(), len);
1854
+ }
1855
+ else {
1738
1856
  pop();
1739
- genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern_lit(s->mrb, "__update")), 1));
1857
+ if (len > 0) {
1858
+ genop_2(s, OP_HASHADD, cursp(), len);
1859
+ }
1740
1860
  }
1741
1861
  push();
1742
1862
  }
@@ -1777,7 +1897,7 @@ codegen(codegen_scope *s, node *tree, int val)
1777
1897
  n++;
1778
1898
  }
1779
1899
  else {
1780
- genop(s, MKOP_A(OP_LOADNIL, rhs+n));
1900
+ genop_1(s, OP_LOADNIL, rhs+n);
1781
1901
  gen_assignment(s, t->car, rhs+n, NOVAL);
1782
1902
  }
1783
1903
  t = t->cdr;
@@ -1801,7 +1921,7 @@ codegen(codegen_scope *s, node *tree, int val)
1801
1921
  else {
1802
1922
  rn = len - post - n;
1803
1923
  }
1804
- genop(s, MKOP_ABC(OP_ARRAY, cursp(), rhs+n, rn));
1924
+ genop_3(s, OP_ARRAY2, cursp(), rhs+n, rn);
1805
1925
  gen_assignment(s, t->car, cursp(), NOVAL);
1806
1926
  n += rn;
1807
1927
  }
@@ -1816,7 +1936,7 @@ codegen(codegen_scope *s, node *tree, int val)
1816
1936
  }
1817
1937
  pop_n(len);
1818
1938
  if (val) {
1819
- genop(s, MKOP_ABC(OP_ARRAY, rhs, rhs, len));
1939
+ genop_2(s, OP_ARRAY, rhs, len);
1820
1940
  push();
1821
1941
  }
1822
1942
  }
@@ -1844,17 +1964,17 @@ codegen(codegen_scope *s, node *tree, int val)
1844
1964
  int onerr, noexc, exc;
1845
1965
  struct loopinfo *lp;
1846
1966
 
1847
- onerr = genop(s, MKOP_Bx(OP_ONERR, 0));
1967
+ onerr = genjmp(s, OP_ONERR, 0);
1848
1968
  lp = loop_push(s, LOOP_BEGIN);
1849
1969
  lp->pc1 = onerr;
1850
1970
  exc = cursp();
1851
1971
  codegen(s, tree->car, VAL);
1852
1972
  lp->type = LOOP_RESCUE;
1853
- genop(s, MKOP_A(OP_POPERR, 1));
1854
- noexc = genop(s, MKOP_Bx(OP_JMP, 0));
1973
+ genop_1(s, OP_POPERR, 1);
1974
+ noexc = genjmp(s, OP_JMP, 0);
1855
1975
  dispatch(s, onerr);
1856
- genop(s, MKOP_ABC(OP_RESCUE, exc, 0, 0));
1857
- genop(s, MKOP_A(OP_LOADF, exc));
1976
+ genop_1(s, OP_EXCEPT, exc);
1977
+ genop_1(s, OP_LOADF, exc);
1858
1978
  dispatch(s, noexc);
1859
1979
  loop_pop(s, NOVAL);
1860
1980
  }
@@ -1868,7 +1988,7 @@ codegen(codegen_scope *s, node *tree, int val)
1868
1988
  push();
1869
1989
  }
1870
1990
  codegen(s, n->car, VAL); /* receiver */
1871
- idx = new_msym(s, nsym(n->cdr->car));
1991
+ idx = new_sym(s, nsym(n->cdr->car));
1872
1992
  base = cursp()-1;
1873
1993
  if (n->cdr->cdr->car) {
1874
1994
  nargs = gen_values(s, n->cdr->cdr->car->car, VAL, 1);
@@ -1882,12 +2002,12 @@ codegen(codegen_scope *s, node *tree, int val)
1882
2002
  }
1883
2003
  }
1884
2004
  /* copy receiver and arguments */
1885
- genop(s, MKOP_AB(OP_MOVE, cursp(), base));
2005
+ gen_move(s, cursp(), base, 1);
1886
2006
  for (i=0; i<nargs; i++) {
1887
- genop(s, MKOP_AB(OP_MOVE, cursp()+i+1, base+i+1));
2007
+ gen_move(s, cursp()+i+1, base+i+1, 1);
1888
2008
  }
1889
2009
  push_n(nargs+2);pop_n(nargs+2); /* space for receiver, arguments and a block */
1890
- genop(s, MKOP_ABC(OP_SEND, cursp(), idx, callargs));
2010
+ genop_3(s, OP_SEND, cursp(), idx, callargs);
1891
2011
  push();
1892
2012
  }
1893
2013
  else {
@@ -1901,30 +2021,30 @@ codegen(codegen_scope *s, node *tree, int val)
1901
2021
  pop();
1902
2022
  if (val) {
1903
2023
  if (vsp >= 0) {
1904
- genop(s, MKOP_AB(OP_MOVE, vsp, cursp()));
2024
+ gen_move(s, vsp, cursp(), 1);
1905
2025
  }
1906
- pos = genop(s, MKOP_AsBx(name[0]=='|'?OP_JMPIF:OP_JMPNOT, cursp(), 0));
2026
+ pos = genjmp2(s, name[0]=='|'?OP_JMPIF:OP_JMPNOT, cursp(), 0, val);
1907
2027
  }
1908
2028
  else {
1909
- pos = genop_peep(s, MKOP_AsBx(name[0]=='|'?OP_JMPIF:OP_JMPNOT, cursp(), 0), NOVAL);
2029
+ pos = genjmp2(s, name[0]=='|'?OP_JMPIF:OP_JMPNOT, cursp(), 0, val);
1910
2030
  }
1911
2031
  codegen(s, tree->cdr->cdr->car, VAL);
1912
2032
  pop();
1913
2033
  if (val && vsp >= 0) {
1914
- genop(s, MKOP_AB(OP_MOVE, vsp, cursp()));
2034
+ gen_move(s, vsp, cursp(), 1);
1915
2035
  }
1916
2036
  if (nint(tree->car->car) == NODE_CALL) {
1917
2037
  if (callargs == CALL_MAXARGS) {
1918
2038
  pop();
1919
- genop(s, MKOP_AB(OP_ARYPUSH, cursp(), cursp()+1));
2039
+ genop_1(s, OP_ARYPUSH, cursp());
1920
2040
  }
1921
2041
  else {
1922
2042
  pop_n(callargs);
1923
2043
  callargs++;
1924
2044
  }
1925
2045
  pop();
1926
- idx = new_msym(s, attrsym(s, nsym(tree->car->cdr->cdr->car)));
1927
- genop(s, MKOP_ABC(OP_SEND, cursp(), idx, callargs));
2046
+ idx = new_sym(s, attrsym(s, nsym(tree->car->cdr->cdr->car)));
2047
+ genop_3(s, OP_SEND, cursp(), idx, callargs);
1928
2048
  }
1929
2049
  else {
1930
2050
  gen_assignment(s, tree->car, cursp(), val);
@@ -1936,52 +2056,52 @@ codegen(codegen_scope *s, node *tree, int val)
1936
2056
  push(); pop();
1937
2057
  pop(); pop();
1938
2058
 
1939
- idx = new_msym(s, sym);
1940
2059
  if (len == 1 && name[0] == '+') {
1941
- genop_peep(s, MKOP_ABC(OP_ADD, cursp(), idx, 1), val);
2060
+ gen_addsub(s, OP_ADD, cursp());
1942
2061
  }
1943
2062
  else if (len == 1 && name[0] == '-') {
1944
- genop_peep(s, MKOP_ABC(OP_SUB, cursp(), idx, 1), val);
2063
+ gen_addsub(s, OP_SUB, cursp());
1945
2064
  }
1946
2065
  else if (len == 1 && name[0] == '*') {
1947
- genop(s, MKOP_ABC(OP_MUL, cursp(), idx, 1));
2066
+ genop_1(s, OP_MUL, cursp());
1948
2067
  }
1949
2068
  else if (len == 1 && name[0] == '/') {
1950
- genop(s, MKOP_ABC(OP_DIV, cursp(), idx, 1));
2069
+ genop_1(s, OP_DIV, cursp());
1951
2070
  }
1952
2071
  else if (len == 1 && name[0] == '<') {
1953
- genop(s, MKOP_ABC(OP_LT, cursp(), idx, 1));
2072
+ genop_1(s, OP_LT, cursp());
1954
2073
  }
1955
2074
  else if (len == 2 && name[0] == '<' && name[1] == '=') {
1956
- genop(s, MKOP_ABC(OP_LE, cursp(), idx, 1));
2075
+ genop_1(s, OP_LE, cursp());
1957
2076
  }
1958
2077
  else if (len == 1 && name[0] == '>') {
1959
- genop(s, MKOP_ABC(OP_GT, cursp(), idx, 1));
2078
+ genop_1(s, OP_GT, cursp());
1960
2079
  }
1961
2080
  else if (len == 2 && name[0] == '>' && name[1] == '=') {
1962
- genop(s, MKOP_ABC(OP_GE, cursp(), idx, 1));
2081
+ genop_1(s, OP_GE, cursp());
1963
2082
  }
1964
2083
  else {
1965
- genop(s, MKOP_ABC(OP_SEND, cursp(), idx, 1));
2084
+ idx = new_sym(s, sym);
2085
+ genop_3(s, OP_SEND, cursp(), idx, 1);
1966
2086
  }
1967
2087
  if (callargs < 0) {
1968
2088
  gen_assignment(s, tree->car, cursp(), val);
1969
2089
  }
1970
2090
  else {
1971
2091
  if (val && vsp >= 0) {
1972
- genop(s, MKOP_AB(OP_MOVE, vsp, cursp()));
2092
+ gen_move(s, vsp, cursp(), 0);
1973
2093
  }
1974
2094
  if (callargs == CALL_MAXARGS) {
1975
2095
  pop();
1976
- genop(s, MKOP_AB(OP_ARYPUSH, cursp(), cursp()+1));
2096
+ genop_1(s, OP_ARYPUSH, cursp());
1977
2097
  }
1978
2098
  else {
1979
2099
  pop_n(callargs);
1980
2100
  callargs++;
1981
2101
  }
1982
2102
  pop();
1983
- idx = new_msym(s, attrsym(s,nsym(tree->car->cdr->cdr->car)));
1984
- genop(s, MKOP_ABC(OP_SEND, cursp(), idx, callargs));
2103
+ idx = new_sym(s, attrsym(s,nsym(tree->car->cdr->cdr->car)));
2104
+ genop_3(s, OP_SEND, cursp(), idx, callargs);
1985
2105
  }
1986
2106
  }
1987
2107
  break;
@@ -1998,7 +2118,7 @@ codegen(codegen_scope *s, node *tree, int val)
1998
2118
  s2 = s2->prev;
1999
2119
  if (!s2) break;
2000
2120
  }
2001
- genop(s, MKOP_ABx(OP_ARGARY, cursp(), (lv & 0xf)));
2121
+ genop_2S(s, OP_ARGARY, cursp(), (lv & 0xf));
2002
2122
  push(); push(); /* ARGARY pushes two values */
2003
2123
  pop(); pop();
2004
2124
  if (tree) {
@@ -2016,12 +2136,12 @@ codegen(codegen_scope *s, node *tree, int val)
2016
2136
  pop();
2017
2137
  }
2018
2138
  else {
2019
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
2139
+ genop_1(s, OP_LOADNIL, cursp());
2020
2140
  push(); pop();
2021
2141
  }
2022
2142
  pop_n(n+1);
2023
2143
  if (sendv) n = CALL_MAXARGS;
2024
- genop(s, MKOP_ABC(OP_SUPER, cursp(), 0, n));
2144
+ genop_2(s, OP_SUPER, cursp(), n);
2025
2145
  if (val) push();
2026
2146
  }
2027
2147
  break;
@@ -2038,14 +2158,14 @@ codegen(codegen_scope *s, node *tree, int val)
2038
2158
  if (!s2) break;
2039
2159
  }
2040
2160
  if (s2) ainfo = s2->ainfo;
2041
- genop(s, MKOP_ABx(OP_ARGARY, cursp(), (ainfo<<4)|(lv & 0xf)));
2161
+ genop_2S(s, OP_ARGARY, cursp(), (ainfo<<4)|(lv & 0xf));
2042
2162
  push(); push(); pop(); /* ARGARY pushes two values */
2043
2163
  if (tree && tree->cdr) {
2044
2164
  codegen(s, tree->cdr, VAL);
2045
2165
  pop();
2046
2166
  }
2047
2167
  pop(); pop();
2048
- genop(s, MKOP_ABC(OP_SUPER, cursp(), 0, CALL_MAXARGS));
2168
+ genop_2(s, OP_SUPER, cursp(), CALL_MAXARGS);
2049
2169
  if (val) push();
2050
2170
  }
2051
2171
  break;
@@ -2055,13 +2175,13 @@ codegen(codegen_scope *s, node *tree, int val)
2055
2175
  gen_retval(s, tree);
2056
2176
  }
2057
2177
  else {
2058
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
2178
+ genop_1(s, OP_LOADNIL, cursp());
2059
2179
  }
2060
2180
  if (s->loop) {
2061
- genop(s, MKOP_AB(OP_RETURN, cursp(), OP_R_RETURN));
2181
+ gen_return(s, OP_RETURN_BLK, cursp());
2062
2182
  }
2063
2183
  else {
2064
- genop_peep(s, MKOP_AB(OP_RETURN, cursp(), OP_R_NORMAL), NOVAL);
2184
+ gen_return(s, OP_RETURN, cursp());
2065
2185
  }
2066
2186
  if (val) push();
2067
2187
  break;
@@ -2088,9 +2208,9 @@ codegen(codegen_scope *s, node *tree, int val)
2088
2208
  }
2089
2209
  push();pop(); /* space for a block */
2090
2210
  pop_n(n+1);
2091
- genop(s, MKOP_ABx(OP_BLKPUSH, cursp(), (ainfo<<4)|(lv & 0xf)));
2211
+ genop_2S(s, OP_BLKPUSH, cursp(), (ainfo<<4)|(lv & 0xf));
2092
2212
  if (sendv) n = CALL_MAXARGS;
2093
- genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern_lit(s->mrb, "call")), n));
2213
+ genop_3(s, OP_SEND, cursp(), new_sym(s, mrb_intern_lit(s->mrb, "call")), n);
2094
2214
  if (val) push();
2095
2215
  }
2096
2216
  break;
@@ -2106,11 +2226,10 @@ codegen(codegen_scope *s, node *tree, int val)
2106
2226
  }
2107
2227
  else if (s->loop->type == LOOP_NORMAL) {
2108
2228
  if (s->ensure_level > s->loop->ensure_level) {
2109
- genop_peep(s, MKOP_A(OP_EPOP, s->ensure_level - s->loop->ensure_level), NOVAL);
2229
+ genop_1(s, OP_EPOP, s->ensure_level - s->loop->ensure_level);
2110
2230
  }
2111
2231
  codegen(s, tree, NOVAL);
2112
- distcheck(s, s->loop->pc1 - s->pc);
2113
- genop(s, MKOP_sBx(OP_JMP, s->loop->pc1 - s->pc));
2232
+ genjmp(s, OP_JMP, s->loop->pc0);
2114
2233
  }
2115
2234
  else {
2116
2235
  if (tree) {
@@ -2118,9 +2237,9 @@ codegen(codegen_scope *s, node *tree, int val)
2118
2237
  pop();
2119
2238
  }
2120
2239
  else {
2121
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
2240
+ genop_1(s, OP_LOADNIL, cursp());
2122
2241
  }
2123
- genop_peep(s, MKOP_AB(OP_RETURN, cursp(), OP_R_NORMAL), NOVAL);
2242
+ gen_return(s, OP_RETURN, cursp());
2124
2243
  }
2125
2244
  if (val) push();
2126
2245
  break;
@@ -2131,10 +2250,9 @@ codegen(codegen_scope *s, node *tree, int val)
2131
2250
  }
2132
2251
  else {
2133
2252
  if (s->ensure_level > s->loop->ensure_level) {
2134
- genop_peep(s, MKOP_A(OP_EPOP, s->ensure_level - s->loop->ensure_level), NOVAL);
2253
+ genop_1(s, OP_EPOP, s->ensure_level - s->loop->ensure_level);
2135
2254
  }
2136
- distcheck(s, s->loop->pc2 - s->pc);
2137
- genop(s, MKOP_sBx(OP_JMP, s->loop->pc2 - s->pc));
2255
+ genjmp(s, OP_JMP, s->loop->pc2);
2138
2256
  }
2139
2257
  if (val) push();
2140
2258
  break;
@@ -2161,13 +2279,12 @@ codegen(codegen_scope *s, node *tree, int val)
2161
2279
  }
2162
2280
  else {
2163
2281
  if (n > 0) {
2164
- genop_peep(s, MKOP_A(OP_POPERR, n), NOVAL);
2282
+ genop_1(s, OP_POPERR, n);
2165
2283
  }
2166
2284
  if (s->ensure_level > lp->ensure_level) {
2167
- genop_peep(s, MKOP_A(OP_EPOP, s->ensure_level - lp->ensure_level), NOVAL);
2285
+ genop_1(s, OP_EPOP, s->ensure_level - lp->ensure_level);
2168
2286
  }
2169
- distcheck(s, s->loop->pc1 - s->pc);
2170
- genop(s, MKOP_sBx(OP_JMP, lp->pc1 - s->pc));
2287
+ genjmp(s, OP_JMP, lp->pc0);
2171
2288
  }
2172
2289
  }
2173
2290
  if (val) push();
@@ -2179,7 +2296,8 @@ codegen(codegen_scope *s, node *tree, int val)
2179
2296
  int idx = lv_idx(s, nsym(tree));
2180
2297
 
2181
2298
  if (idx > 0) {
2182
- genop_peep(s, MKOP_AB(OP_MOVE, cursp(), idx), NOVAL);
2299
+ gen_move(s, cursp(), idx, val);
2300
+ if (val && on_eval(s)) genop_0(s, OP_NOP);
2183
2301
  }
2184
2302
  else {
2185
2303
  int lv = 0;
@@ -2188,7 +2306,7 @@ codegen(codegen_scope *s, node *tree, int val)
2188
2306
  while (up) {
2189
2307
  idx = lv_idx(up, nsym(tree));
2190
2308
  if (idx > 0) {
2191
- genop_peep(s, MKOP_ABC(OP_GETUPVAR, cursp(), idx, lv), VAL);
2309
+ genop_3(s, OP_GETUPVAR, cursp(), idx, lv);
2192
2310
  break;
2193
2311
  }
2194
2312
  lv++;
@@ -2200,29 +2318,29 @@ codegen(codegen_scope *s, node *tree, int val)
2200
2318
  break;
2201
2319
 
2202
2320
  case NODE_GVAR:
2203
- if (val) {
2321
+ {
2204
2322
  int sym = new_sym(s, nsym(tree));
2205
2323
 
2206
- genop(s, MKOP_ABx(OP_GETGLOBAL, cursp(), sym));
2207
- push();
2324
+ genop_2(s, OP_GETGV, cursp(), sym);
2325
+ if (val) push();
2208
2326
  }
2209
2327
  break;
2210
2328
 
2211
2329
  case NODE_IVAR:
2212
- if (val) {
2330
+ {
2213
2331
  int sym = new_sym(s, nsym(tree));
2214
2332
 
2215
- genop(s, MKOP_ABx(OP_GETIV, cursp(), sym));
2216
- push();
2333
+ genop_2(s, OP_GETIV, cursp(), sym);
2334
+ if (val) push();
2217
2335
  }
2218
2336
  break;
2219
2337
 
2220
2338
  case NODE_CVAR:
2221
- if (val) {
2339
+ {
2222
2340
  int sym = new_sym(s, nsym(tree));
2223
2341
 
2224
- genop(s, MKOP_ABx(OP_GETCV, cursp(), sym));
2225
- push();
2342
+ genop_2(s, OP_GETCV, cursp(), sym);
2343
+ if (val) push();
2226
2344
  }
2227
2345
  break;
2228
2346
 
@@ -2230,27 +2348,21 @@ codegen(codegen_scope *s, node *tree, int val)
2230
2348
  {
2231
2349
  int sym = new_sym(s, nsym(tree));
2232
2350
 
2233
- genop(s, MKOP_ABx(OP_GETCONST, cursp(), sym));
2234
- if (val) {
2235
- push();
2236
- }
2351
+ genop_2(s, OP_GETCONST, cursp(), sym);
2352
+ if (val) push();
2237
2353
  }
2238
2354
  break;
2239
2355
 
2240
2356
  case NODE_DEFINED:
2241
- codegen(s, tree, VAL);
2357
+ codegen(s, tree, val);
2242
2358
  break;
2243
2359
 
2244
2360
  case NODE_BACK_REF:
2245
2361
  if (val) {
2246
- char buf[3];
2247
- int sym;
2362
+ char buf[] = {'$', nchar(tree)};
2363
+ int sym = new_sym(s, mrb_intern(s->mrb, buf, sizeof(buf)));
2248
2364
 
2249
- buf[0] = '$';
2250
- buf[1] = nchar(tree);
2251
- buf[2] = 0;
2252
- sym = new_sym(s, mrb_intern_cstr(s->mrb, buf));
2253
- genop(s, MKOP_ABx(OP_GETGLOBAL, cursp(), sym));
2365
+ genop_2(s, OP_GETGV, cursp(), sym);
2254
2366
  push();
2255
2367
  }
2256
2368
  break;
@@ -2263,7 +2375,7 @@ codegen(codegen_scope *s, node *tree, int val)
2263
2375
 
2264
2376
  str = mrb_format(mrb, "$%S", mrb_fixnum_value(nint(tree)));
2265
2377
  sym = new_sym(s, mrb_intern_str(mrb, str));
2266
- genop(s, MKOP_ABx(OP_GETGLOBAL, cursp(), sym));
2378
+ genop_2(s, OP_GETGV, cursp(), sym);
2267
2379
  push();
2268
2380
  }
2269
2381
  break;
@@ -2273,7 +2385,7 @@ codegen(codegen_scope *s, node *tree, int val)
2273
2385
  break;
2274
2386
 
2275
2387
  case NODE_BLOCK_ARG:
2276
- codegen(s, tree, VAL);
2388
+ codegen(s, tree, val);
2277
2389
  break;
2278
2390
 
2279
2391
  case NODE_INT:
@@ -2281,7 +2393,6 @@ codegen(codegen_scope *s, node *tree, int val)
2281
2393
  char *p = (char*)tree->car;
2282
2394
  int base = nint(tree->cdr->car);
2283
2395
  mrb_int i;
2284
- mrb_code co;
2285
2396
  mrb_bool overflow;
2286
2397
 
2287
2398
  i = readint_mrb_int(s, p, base, FALSE, &overflow);
@@ -2290,19 +2401,19 @@ codegen(codegen_scope *s, node *tree, int val)
2290
2401
  double f = readint_float(s, p, base);
2291
2402
  int off = new_lit(s, mrb_float_value(s->mrb, f));
2292
2403
 
2293
- genop(s, MKOP_ABx(OP_LOADL, cursp(), off));
2404
+ genop_2(s, OP_LOADL, cursp(), off);
2294
2405
  }
2295
2406
  else
2296
2407
  #endif
2297
2408
  {
2298
- if (i < MAXARG_sBx && i > -MAXARG_sBx) {
2299
- co = MKOP_AsBx(OP_LOADI, cursp(), i);
2300
- }
2409
+ if (i == -1) genop_1(s, OP_LOADI__1, cursp());
2410
+ else if (i < 0) genop_2(s, OP_LOADINEG, cursp(), (uint16_t)-i);
2411
+ else if (i < 8) genop_1(s, OP_LOADI_0 + (uint8_t)i, cursp());
2412
+ else if (i <= 0xffff) genop_2(s, OP_LOADI, cursp(), (uint16_t)i);
2301
2413
  else {
2302
2414
  int off = new_lit(s, mrb_fixnum_value(i));
2303
- co = MKOP_ABx(OP_LOADL, cursp(), off);
2415
+ genop_2(s, OP_LOADL, cursp(), off);
2304
2416
  }
2305
- genop(s, co);
2306
2417
  }
2307
2418
  push();
2308
2419
  }
@@ -2315,7 +2426,7 @@ codegen(codegen_scope *s, node *tree, int val)
2315
2426
  mrb_float f = mrb_float_read(p, NULL);
2316
2427
  int off = new_lit(s, mrb_float_value(s->mrb, f));
2317
2428
 
2318
- genop(s, MKOP_ABx(OP_LOADL, cursp(), off));
2429
+ genop_2(s, OP_LOADL, cursp(), off);
2319
2430
  push();
2320
2431
  }
2321
2432
  break;
@@ -2324,16 +2435,15 @@ codegen(codegen_scope *s, node *tree, int val)
2324
2435
  case NODE_NEGATE:
2325
2436
  {
2326
2437
  nt = nint(tree->car);
2327
- tree = tree->cdr;
2328
2438
  switch (nt) {
2329
2439
  #ifndef MRB_WITHOUT_FLOAT
2330
2440
  case NODE_FLOAT:
2331
2441
  if (val) {
2332
- char *p = (char*)tree;
2442
+ char *p = (char*)tree->cdr;
2333
2443
  mrb_float f = mrb_float_read(p, NULL);
2334
2444
  int off = new_lit(s, mrb_float_value(s->mrb, -f));
2335
2445
 
2336
- genop(s, MKOP_ABx(OP_LOADL, cursp(), off));
2446
+ genop_2(s, OP_LOADL, cursp(), off);
2337
2447
  push();
2338
2448
  }
2339
2449
  break;
@@ -2341,10 +2451,9 @@ codegen(codegen_scope *s, node *tree, int val)
2341
2451
 
2342
2452
  case NODE_INT:
2343
2453
  if (val) {
2344
- char *p = (char*)tree->car;
2345
- int base = nint(tree->cdr->car);
2454
+ char *p = (char*)tree->cdr->car;
2455
+ int base = nint(tree->cdr->cdr->car);
2346
2456
  mrb_int i;
2347
- mrb_code co;
2348
2457
  mrb_bool overflow;
2349
2458
 
2350
2459
  i = readint_mrb_int(s, p, base, TRUE, &overflow);
@@ -2353,18 +2462,18 @@ codegen(codegen_scope *s, node *tree, int val)
2353
2462
  double f = readint_float(s, p, base);
2354
2463
  int off = new_lit(s, mrb_float_value(s->mrb, -f));
2355
2464
 
2356
- genop(s, MKOP_ABx(OP_LOADL, cursp(), off));
2465
+ genop_2(s, OP_LOADL, cursp(), off);
2357
2466
  }
2358
2467
  else {
2359
2468
  #endif
2360
- if (i < MAXARG_sBx && i > -MAXARG_sBx) {
2361
- co = MKOP_AsBx(OP_LOADI, cursp(), i);
2469
+ if (i == -1) genop_1(s, OP_LOADI__1, cursp());
2470
+ else if (i >= -0xffff) {
2471
+ genop_2(s, OP_LOADINEG, cursp(), (uint16_t)-i);
2362
2472
  }
2363
2473
  else {
2364
2474
  int off = new_lit(s, mrb_fixnum_value(i));
2365
- co = MKOP_ABx(OP_LOADL, cursp(), off);
2475
+ genop_2(s, OP_LOADL, cursp(), off);
2366
2476
  }
2367
- genop(s, co);
2368
2477
  #ifndef MRB_WITHOUT_FLOAT
2369
2478
  }
2370
2479
  #endif
@@ -2374,13 +2483,11 @@ codegen(codegen_scope *s, node *tree, int val)
2374
2483
 
2375
2484
  default:
2376
2485
  if (val) {
2377
- int sym = new_msym(s, mrb_intern_lit(s->mrb, "-"));
2378
-
2379
- genop(s, MKOP_ABx(OP_LOADI, cursp(), 0));
2380
- push();
2486
+ int sym = new_sym(s, mrb_intern_lit(s->mrb, "-@"));
2381
2487
  codegen(s, tree, VAL);
2382
- pop(); pop();
2383
- genop(s, MKOP_ABC(OP_SUB, cursp(), sym, 2));
2488
+ pop();
2489
+ genop_3(s, OP_SEND, cursp(), sym, 0);
2490
+ push();
2384
2491
  }
2385
2492
  else {
2386
2493
  codegen(s, tree, NOVAL);
@@ -2398,7 +2505,7 @@ codegen(codegen_scope *s, node *tree, int val)
2398
2505
  int off = new_lit(s, mrb_str_new(s->mrb, p, len));
2399
2506
 
2400
2507
  mrb_gc_arena_restore(s->mrb, ai);
2401
- genop(s, MKOP_ABx(OP_STRING, cursp(), off));
2508
+ genop_2(s, OP_STRING, cursp(), off);
2402
2509
  push();
2403
2510
  }
2404
2511
  break;
@@ -2411,7 +2518,7 @@ codegen(codegen_scope *s, node *tree, int val)
2411
2518
  node *n = tree;
2412
2519
 
2413
2520
  if (!n) {
2414
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
2521
+ genop_1(s, OP_LOADNIL, cursp());
2415
2522
  push();
2416
2523
  break;
2417
2524
  }
@@ -2420,7 +2527,7 @@ codegen(codegen_scope *s, node *tree, int val)
2420
2527
  while (n) {
2421
2528
  codegen(s, n->car, VAL);
2422
2529
  pop(); pop();
2423
- genop_peep(s, MKOP_AB(OP_STRCAT, cursp(), cursp()+1), VAL);
2530
+ genop_1(s, OP_STRCAT, cursp());
2424
2531
  push();
2425
2532
  n = n->cdr;
2426
2533
  }
@@ -2451,7 +2558,7 @@ codegen(codegen_scope *s, node *tree, int val)
2451
2558
  int ai = mrb_gc_arena_save(s->mrb);
2452
2559
  int sym = new_sym(s, mrb_intern_lit(s->mrb, "Kernel"));
2453
2560
 
2454
- genop(s, MKOP_A(OP_LOADSELF, cursp()));
2561
+ genop_1(s, OP_LOADSELF, cursp());
2455
2562
  push();
2456
2563
  codegen(s, tree->car, VAL);
2457
2564
  n = tree->cdr;
@@ -2462,14 +2569,14 @@ codegen(codegen_scope *s, node *tree, int val)
2462
2569
  }
2463
2570
  codegen(s, n->car, VAL);
2464
2571
  pop(); pop();
2465
- genop_peep(s, MKOP_AB(OP_STRCAT, cursp(), cursp()+1), VAL);
2572
+ genop_1(s, OP_STRCAT, cursp());
2466
2573
  push();
2467
2574
  n = n->cdr;
2468
2575
  }
2469
2576
  push(); /* for block */
2470
2577
  pop_n(3);
2471
2578
  sym = new_sym(s, mrb_intern_lit(s->mrb, "`"));
2472
- genop(s, MKOP_ABC(OP_SEND, cursp(), sym, 1));
2579
+ genop_3(s, OP_SEND, cursp(), sym, 1);
2473
2580
  if (val) push();
2474
2581
  mrb_gc_arena_restore(s->mrb, ai);
2475
2582
  }
@@ -2483,13 +2590,13 @@ codegen(codegen_scope *s, node *tree, int val)
2483
2590
  int off = new_lit(s, mrb_str_new(s->mrb, p, len));
2484
2591
  int sym;
2485
2592
 
2486
- genop(s, MKOP_A(OP_LOADSELF, cursp()));
2593
+ genop_1(s, OP_LOADSELF, cursp());
2487
2594
  push();
2488
- genop(s, MKOP_ABx(OP_STRING, cursp(), off));
2595
+ genop_2(s, OP_STRING, cursp(), off);
2489
2596
  push(); push();
2490
2597
  pop_n(3);
2491
2598
  sym = new_sym(s, mrb_intern_lit(s->mrb, "`"));
2492
- genop(s, MKOP_ABC(OP_SEND, cursp(), sym, 1));
2599
+ genop_3(s, OP_SEND, cursp(), sym, 1);
2493
2600
  if (val) push();
2494
2601
  mrb_gc_arena_restore(s->mrb, ai);
2495
2602
  }
@@ -2505,24 +2612,24 @@ codegen(codegen_scope *s, node *tree, int val)
2505
2612
  int off = new_lit(s, mrb_str_new_cstr(s->mrb, p1));
2506
2613
  int argc = 1;
2507
2614
 
2508
- genop(s, MKOP_A(OP_OCLASS, cursp()));
2509
- genop(s, MKOP_ABx(OP_GETMCNST, cursp(), sym));
2615
+ genop_1(s, OP_OCLASS, cursp());
2616
+ genop_2(s, OP_GETMCNST, cursp(), sym);
2510
2617
  push();
2511
- genop(s, MKOP_ABx(OP_STRING, cursp(), off));
2618
+ genop_2(s, OP_STRING, cursp(), off);
2512
2619
  push();
2513
2620
  if (p2 || p3) {
2514
2621
  if (p2) { /* opt */
2515
2622
  off = new_lit(s, mrb_str_new_cstr(s->mrb, p2));
2516
- genop(s, MKOP_ABx(OP_STRING, cursp(), off));
2623
+ genop_2(s, OP_STRING, cursp(), off);
2517
2624
  }
2518
2625
  else {
2519
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
2626
+ genop_1(s, OP_LOADNIL, cursp());
2520
2627
  }
2521
2628
  push();
2522
2629
  argc++;
2523
2630
  if (p3) { /* enc */
2524
2631
  off = new_lit(s, mrb_str_new(s->mrb, p3, 1));
2525
- genop(s, MKOP_ABx(OP_STRING, cursp(), off));
2632
+ genop_2(s, OP_STRING, cursp(), off);
2526
2633
  push();
2527
2634
  argc++;
2528
2635
  }
@@ -2530,7 +2637,7 @@ codegen(codegen_scope *s, node *tree, int val)
2530
2637
  push(); /* space for a block */
2531
2638
  pop_n(argc+2);
2532
2639
  sym = new_sym(s, mrb_intern_lit(s->mrb, "compile"));
2533
- genop(s, MKOP_ABC(OP_SEND, cursp(), sym, argc));
2640
+ genop_3(s, OP_SEND, cursp(), sym, argc);
2534
2641
  mrb_gc_arena_restore(s->mrb, ai);
2535
2642
  push();
2536
2643
  }
@@ -2545,15 +2652,15 @@ codegen(codegen_scope *s, node *tree, int val)
2545
2652
  int off;
2546
2653
  char *p;
2547
2654
 
2548
- genop(s, MKOP_A(OP_OCLASS, cursp()));
2549
- genop(s, MKOP_ABx(OP_GETMCNST, cursp(), sym));
2655
+ genop_1(s, OP_OCLASS, cursp());
2656
+ genop_2(s, OP_GETMCNST, cursp(), sym);
2550
2657
  push();
2551
2658
  codegen(s, n->car, VAL);
2552
2659
  n = n->cdr;
2553
2660
  while (n) {
2554
2661
  codegen(s, n->car, VAL);
2555
2662
  pop(); pop();
2556
- genop_peep(s, MKOP_AB(OP_STRCAT, cursp(), cursp()+1), VAL);
2663
+ genop_1(s, OP_STRCAT, cursp());
2557
2664
  push();
2558
2665
  n = n->cdr;
2559
2666
  }
@@ -2562,29 +2669,29 @@ codegen(codegen_scope *s, node *tree, int val)
2562
2669
  p = (char*)n->car;
2563
2670
  off = new_lit(s, mrb_str_new_cstr(s->mrb, p));
2564
2671
  codegen(s, tree->car, VAL);
2565
- genop(s, MKOP_ABx(OP_STRING, cursp(), off));
2672
+ genop_2(s, OP_STRING, cursp(), off);
2566
2673
  pop();
2567
- genop_peep(s, MKOP_AB(OP_STRCAT, cursp(), cursp()+1), VAL);
2674
+ genop_1(s, OP_STRCAT, cursp());
2568
2675
  push();
2569
2676
  }
2570
2677
  if (n->cdr->car) { /* opt */
2571
2678
  char *p2 = (char*)n->cdr->car;
2572
2679
  off = new_lit(s, mrb_str_new_cstr(s->mrb, p2));
2573
- genop(s, MKOP_ABx(OP_STRING, cursp(), off));
2680
+ genop_2(s, OP_STRING, cursp(), off);
2574
2681
  push();
2575
2682
  argc++;
2576
2683
  }
2577
2684
  if (n->cdr->cdr) { /* enc */
2578
2685
  char *p2 = (char*)n->cdr->cdr;
2579
2686
  off = new_lit(s, mrb_str_new_cstr(s->mrb, p2));
2580
- genop(s, MKOP_ABx(OP_STRING, cursp(), off));
2687
+ genop_2(s, OP_STRING, cursp(), off);
2581
2688
  push();
2582
2689
  argc++;
2583
2690
  }
2584
2691
  push(); /* space for a block */
2585
2692
  pop_n(argc+2);
2586
2693
  sym = new_sym(s, mrb_intern_lit(s->mrb, "compile"));
2587
- genop(s, MKOP_ABC(OP_SEND, cursp(), sym, argc));
2694
+ genop_3(s, OP_SEND, cursp(), sym, argc);
2588
2695
  mrb_gc_arena_restore(s->mrb, ai);
2589
2696
  push();
2590
2697
  }
@@ -2604,7 +2711,7 @@ codegen(codegen_scope *s, node *tree, int val)
2604
2711
  if (val) {
2605
2712
  int sym = new_sym(s, nsym(tree));
2606
2713
 
2607
- genop(s, MKOP_ABx(OP_LOADSYM, cursp(), sym));
2714
+ genop_2(s, OP_LOADSYM, cursp(), sym);
2608
2715
  push();
2609
2716
  }
2610
2717
  break;
@@ -2612,55 +2719,46 @@ codegen(codegen_scope *s, node *tree, int val)
2612
2719
  case NODE_DSYM:
2613
2720
  codegen(s, tree, val);
2614
2721
  if (val) {
2615
- gen_send_intern(s);
2722
+ gen_intern(s);
2616
2723
  }
2617
2724
  break;
2618
2725
 
2619
2726
  case NODE_SELF:
2620
2727
  if (val) {
2621
- genop(s, MKOP_A(OP_LOADSELF, cursp()));
2728
+ genop_1(s, OP_LOADSELF, cursp());
2622
2729
  push();
2623
2730
  }
2624
2731
  break;
2625
2732
 
2626
2733
  case NODE_NIL:
2627
2734
  if (val) {
2628
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
2735
+ genop_1(s, OP_LOADNIL, cursp());
2629
2736
  push();
2630
2737
  }
2631
2738
  break;
2632
2739
 
2633
2740
  case NODE_TRUE:
2634
2741
  if (val) {
2635
- genop(s, MKOP_A(OP_LOADT, cursp()));
2742
+ genop_1(s, OP_LOADT, cursp());
2636
2743
  push();
2637
2744
  }
2638
2745
  break;
2639
2746
 
2640
2747
  case NODE_FALSE:
2641
2748
  if (val) {
2642
- genop(s, MKOP_A(OP_LOADF, cursp()));
2749
+ genop_1(s, OP_LOADF, cursp());
2643
2750
  push();
2644
2751
  }
2645
2752
  break;
2646
2753
 
2647
2754
  case NODE_ALIAS:
2648
2755
  {
2649
- int a = new_msym(s, nsym(tree->car));
2650
- int b = new_msym(s, nsym(tree->cdr));
2651
- int c = new_msym(s, mrb_intern_lit(s->mrb, "alias_method"));
2756
+ int a = new_sym(s, nsym(tree->car));
2757
+ int b = new_sym(s, nsym(tree->cdr));
2652
2758
 
2653
- genop(s, MKOP_A(OP_TCLASS, cursp()));
2654
- push();
2655
- genop(s, MKOP_ABx(OP_LOADSYM, cursp(), a));
2656
- push();
2657
- genop(s, MKOP_ABx(OP_LOADSYM, cursp(), b));
2658
- push();
2659
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
2660
- push(); /* space for a block */
2661
- pop_n(4);
2662
- genop(s, MKOP_ABC(OP_SEND, cursp(), c, 2));
2759
+ genop_2(s, OP_ALIAS, a, b);
2663
2760
  if (val) {
2761
+ genop_1(s, OP_LOADNIL, cursp());
2664
2762
  push();
2665
2763
  }
2666
2764
  }
@@ -2668,41 +2766,15 @@ codegen(codegen_scope *s, node *tree, int val)
2668
2766
 
2669
2767
  case NODE_UNDEF:
2670
2768
  {
2671
- int undef = new_msym(s, mrb_intern_lit(s->mrb, "undef_method"));
2672
- int num = 0;
2673
2769
  node *t = tree;
2674
2770
 
2675
- genop(s, MKOP_A(OP_TCLASS, cursp()));
2676
- push();
2677
2771
  while (t) {
2678
- int symbol;
2679
- if (num >= CALL_MAXARGS - 1) {
2680
- pop_n(num);
2681
- genop(s, MKOP_ABC(OP_ARRAY, cursp(), cursp(), num));
2682
- while (t) {
2683
- symbol = new_msym(s, nsym(t->car));
2684
- push();
2685
- genop(s, MKOP_ABx(OP_LOADSYM, cursp(), symbol));
2686
- pop();
2687
- genop(s, MKOP_AB(OP_ARYPUSH, cursp(), cursp()+1));
2688
- t = t->cdr;
2689
- }
2690
- num = CALL_MAXARGS;
2691
- break;
2692
- }
2693
- symbol = new_msym(s, nsym(t->car));
2694
- genop(s, MKOP_ABx(OP_LOADSYM, cursp(), symbol));
2695
- push();
2772
+ int symbol = new_sym(s, nsym(t->car));
2773
+ genop_1(s, OP_UNDEF, symbol);
2696
2774
  t = t->cdr;
2697
- num++;
2698
- }
2699
- push();pop(); /* space for a block */
2700
- pop();
2701
- if (num < CALL_MAXARGS) {
2702
- pop_n(num);
2703
2775
  }
2704
- genop(s, MKOP_ABC(OP_SEND, cursp(), undef, num));
2705
2776
  if (val) {
2777
+ genop_1(s, OP_LOADNIL, cursp());
2706
2778
  push();
2707
2779
  }
2708
2780
  }
@@ -2711,13 +2783,14 @@ codegen(codegen_scope *s, node *tree, int val)
2711
2783
  case NODE_CLASS:
2712
2784
  {
2713
2785
  int idx;
2786
+ node *body;
2714
2787
 
2715
2788
  if (tree->car->car == (node*)0) {
2716
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
2789
+ genop_1(s, OP_LOADNIL, cursp());
2717
2790
  push();
2718
2791
  }
2719
2792
  else if (tree->car->car == (node*)1) {
2720
- genop(s, MKOP_A(OP_OCLASS, cursp()));
2793
+ genop_1(s, OP_OCLASS, cursp());
2721
2794
  push();
2722
2795
  }
2723
2796
  else {
@@ -2727,14 +2800,20 @@ codegen(codegen_scope *s, node *tree, int val)
2727
2800
  codegen(s, tree->cdr->car, VAL);
2728
2801
  }
2729
2802
  else {
2730
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
2803
+ genop_1(s, OP_LOADNIL, cursp());
2731
2804
  push();
2732
2805
  }
2733
2806
  pop(); pop();
2734
- idx = new_msym(s, nsym(tree->car->cdr));
2735
- genop(s, MKOP_AB(OP_CLASS, cursp(), idx));
2736
- idx = scope_body(s, tree->cdr->cdr->car, val);
2737
- genop(s, MKOP_ABx(OP_EXEC, cursp(), idx));
2807
+ idx = new_sym(s, nsym(tree->car->cdr));
2808
+ genop_2(s, OP_CLASS, cursp(), idx);
2809
+ body = tree->cdr->cdr->car;
2810
+ if (nint(body->cdr->car) == NODE_BEGIN && body->cdr->cdr == NULL) {
2811
+ genop_1(s, OP_LOADNIL, cursp());
2812
+ }
2813
+ else {
2814
+ idx = scope_body(s, body, val);
2815
+ genop_2(s, OP_EXEC, cursp(), idx);
2816
+ }
2738
2817
  if (val) {
2739
2818
  push();
2740
2819
  }
@@ -2746,21 +2825,27 @@ codegen(codegen_scope *s, node *tree, int val)
2746
2825
  int idx;
2747
2826
 
2748
2827
  if (tree->car->car == (node*)0) {
2749
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
2828
+ genop_1(s, OP_LOADNIL, cursp());
2750
2829
  push();
2751
2830
  }
2752
2831
  else if (tree->car->car == (node*)1) {
2753
- genop(s, MKOP_A(OP_OCLASS, cursp()));
2832
+ genop_1(s, OP_OCLASS, cursp());
2754
2833
  push();
2755
2834
  }
2756
2835
  else {
2757
2836
  codegen(s, tree->car->car, VAL);
2758
2837
  }
2759
2838
  pop();
2760
- idx = new_msym(s, nsym(tree->car->cdr));
2761
- genop(s, MKOP_AB(OP_MODULE, cursp(), idx));
2762
- idx = scope_body(s, tree->cdr->car, val);
2763
- genop(s, MKOP_ABx(OP_EXEC, cursp(), idx));
2839
+ idx = new_sym(s, nsym(tree->car->cdr));
2840
+ genop_2(s, OP_MODULE, cursp(), idx);
2841
+ if (nint(tree->cdr->car->cdr->car) == NODE_BEGIN &&
2842
+ tree->cdr->car->cdr->cdr == NULL) {
2843
+ genop_1(s, OP_LOADNIL, cursp());
2844
+ }
2845
+ else {
2846
+ idx = scope_body(s, tree->cdr->car, val);
2847
+ genop_2(s, OP_EXEC, cursp(), idx);
2848
+ }
2764
2849
  if (val) {
2765
2850
  push();
2766
2851
  }
@@ -2773,9 +2858,15 @@ codegen(codegen_scope *s, node *tree, int val)
2773
2858
 
2774
2859
  codegen(s, tree->car, VAL);
2775
2860
  pop();
2776
- genop(s, MKOP_AB(OP_SCLASS, cursp(), cursp()));
2777
- idx = scope_body(s, tree->cdr->car, val);
2778
- genop(s, MKOP_ABx(OP_EXEC, cursp(), idx));
2861
+ genop_1(s, OP_SCLASS, cursp());
2862
+ if (nint(tree->cdr->car->cdr->car) == NODE_BEGIN &&
2863
+ tree->cdr->car->cdr->cdr == NULL) {
2864
+ genop_1(s, OP_LOADNIL, cursp());
2865
+ }
2866
+ else {
2867
+ idx = scope_body(s, tree->cdr->car, val);
2868
+ genop_2(s, OP_EXEC, cursp(), idx);
2869
+ }
2779
2870
  if (val) {
2780
2871
  push();
2781
2872
  }
@@ -2784,17 +2875,17 @@ codegen(codegen_scope *s, node *tree, int val)
2784
2875
 
2785
2876
  case NODE_DEF:
2786
2877
  {
2787
- int sym = new_msym(s, nsym(tree->car));
2878
+ int sym = new_sym(s, nsym(tree->car));
2788
2879
  int idx = lambda_body(s, tree->cdr, 0);
2789
2880
 
2790
- genop(s, MKOP_A(OP_TCLASS, cursp()));
2881
+ genop_1(s, OP_TCLASS, cursp());
2791
2882
  push();
2792
- genop(s, MKOP_Abc(OP_LAMBDA, cursp(), idx, OP_L_METHOD));
2883
+ genop_2(s, OP_METHOD, cursp(), idx);
2793
2884
  push(); pop();
2794
2885
  pop();
2795
- genop(s, MKOP_AB(OP_METHOD, cursp(), sym));
2886
+ genop_2(s, OP_DEF, cursp(), sym);
2796
2887
  if (val) {
2797
- genop(s, MKOP_ABx(OP_LOADSYM, cursp(), sym));
2888
+ genop_2(s, OP_LOADSYM, cursp(), sym);
2798
2889
  push();
2799
2890
  }
2800
2891
  }
@@ -2803,18 +2894,18 @@ codegen(codegen_scope *s, node *tree, int val)
2803
2894
  case NODE_SDEF:
2804
2895
  {
2805
2896
  node *recv = tree->car;
2806
- int sym = new_msym(s, nsym(tree->cdr->car));
2897
+ int sym = new_sym(s, nsym(tree->cdr->car));
2807
2898
  int idx = lambda_body(s, tree->cdr->cdr, 0);
2808
2899
 
2809
2900
  codegen(s, recv, VAL);
2810
2901
  pop();
2811
- genop(s, MKOP_AB(OP_SCLASS, cursp(), cursp()));
2902
+ genop_1(s, OP_SCLASS, cursp());
2812
2903
  push();
2813
- genop(s, MKOP_Abc(OP_LAMBDA, cursp(), idx, OP_L_METHOD));
2904
+ genop_2(s, OP_METHOD, cursp(), idx);
2814
2905
  pop();
2815
- genop(s, MKOP_AB(OP_METHOD, cursp(), sym));
2906
+ genop_2(s, OP_DEF, cursp(), sym);
2816
2907
  if (val) {
2817
- genop(s, MKOP_ABx(OP_LOADSYM, cursp(), sym));
2908
+ genop_2(s, OP_LOADSYM, cursp(), sym);
2818
2909
  push();
2819
2910
  }
2820
2911
  }
@@ -2876,7 +2967,7 @@ scope_new(mrb_state *mrb, codegen_scope *prev, node *lv)
2876
2967
  p->irep->pool = (mrb_value*)mrb_malloc(mrb, sizeof(mrb_value)*p->pcapa);
2877
2968
  p->irep->plen = 0;
2878
2969
 
2879
- p->scapa = MAXMSYMLEN;
2970
+ p->scapa = 256;
2880
2971
  p->irep->syms = (mrb_sym*)mrb_malloc(mrb, sizeof(mrb_sym)*p->scapa);
2881
2972
  p->irep->slen = 0;
2882
2973
 
@@ -2901,18 +2992,16 @@ scope_new(mrb_state *mrb, codegen_scope *prev, node *lv)
2901
2992
  }
2902
2993
  p->ai = mrb_gc_arena_save(mrb);
2903
2994
 
2904
- p->filename = prev->filename;
2905
- if (p->filename) {
2995
+ p->filename_sym = prev->filename_sym;
2996
+ if (p->filename_sym) {
2906
2997
  p->lines = (uint16_t*)mrb_malloc(mrb, sizeof(short)*p->icapa);
2907
2998
  }
2908
2999
  p->lineno = prev->lineno;
2909
3000
 
2910
3001
  /* debug setting */
2911
3002
  p->debug_start_pos = 0;
2912
- if (p->filename) {
3003
+ if (p->filename_sym) {
2913
3004
  mrb_debug_info_alloc(mrb, p->irep);
2914
- p->irep->filename = p->filename;
2915
- p->irep->lines = p->lines;
2916
3005
  }
2917
3006
  else {
2918
3007
  p->irep->debug_info = NULL;
@@ -2930,34 +3019,23 @@ scope_finish(codegen_scope *s)
2930
3019
  {
2931
3020
  mrb_state *mrb = s->mrb;
2932
3021
  mrb_irep *irep = s->irep;
2933
- size_t fname_len;
2934
- char *fname;
2935
3022
 
2936
3023
  irep->flags = 0;
2937
3024
  if (s->iseq) {
2938
3025
  irep->iseq = (mrb_code *)codegen_realloc(s, s->iseq, sizeof(mrb_code)*s->pc);
2939
3026
  irep->ilen = s->pc;
2940
- if (s->lines) {
2941
- irep->lines = (uint16_t *)codegen_realloc(s, s->lines, sizeof(uint16_t)*s->pc);
2942
- }
2943
- else {
2944
- irep->lines = 0;
2945
- }
2946
3027
  }
2947
3028
  irep->pool = (mrb_value*)codegen_realloc(s, irep->pool, sizeof(mrb_value)*irep->plen);
2948
3029
  irep->syms = (mrb_sym*)codegen_realloc(s, irep->syms, sizeof(mrb_sym)*irep->slen);
2949
3030
  irep->reps = (mrb_irep**)codegen_realloc(s, irep->reps, sizeof(mrb_irep*)*irep->rlen);
2950
- if (s->filename) {
2951
- irep->filename = mrb_parser_get_filename(s->parser, s->filename_index);
2952
- mrb_debug_info_append_file(mrb, irep, s->debug_start_pos, s->pc);
3031
+ if (s->filename_sym) {
3032
+ mrb_sym fname = mrb_parser_get_filename(s->parser, s->filename_index);
3033
+ const char *filename = mrb_sym2name_len(s->mrb, fname, NULL);
2953
3034
 
2954
- fname_len = strlen(s->filename);
2955
- fname = (char*)codegen_malloc(s, fname_len + 1);
2956
- memcpy(fname, s->filename, fname_len);
2957
- fname[fname_len] = '\0';
2958
- irep->filename = fname;
2959
- irep->own_filename = TRUE;
3035
+ mrb_debug_info_append_file(s->mrb, s->irep->debug_info,
3036
+ filename, s->lines, s->debug_start_pos, s->pc);
2960
3037
  }
3038
+ mrb_free(s->mrb, s->lines);
2961
3039
 
2962
3040
  irep->nlocals = s->nlocals;
2963
3041
  irep->nregs = s->nregs;
@@ -2972,7 +3050,7 @@ loop_push(codegen_scope *s, enum looptype t)
2972
3050
  struct loopinfo *p = (struct loopinfo *)codegen_palloc(s, sizeof(struct loopinfo));
2973
3051
 
2974
3052
  p->type = t;
2975
- p->pc1 = p->pc2 = p->pc3 = 0;
3053
+ p->pc0 = p->pc1 = p->pc2 = p->pc3 = 0;
2976
3054
  p->prev = s->loop;
2977
3055
  p->ensure_level = s->ensure_level;
2978
3056
  p->acc = cursp();
@@ -3014,27 +3092,26 @@ loop_break(codegen_scope *s, node *tree)
3014
3092
  return;
3015
3093
  }
3016
3094
  if (n > 0) {
3017
- genop_peep(s, MKOP_A(OP_POPERR, n), NOVAL);
3095
+ genop_1(s, OP_POPERR, n);
3018
3096
  }
3019
3097
 
3020
3098
  if (loop->type == LOOP_NORMAL) {
3021
3099
  int tmp;
3022
3100
 
3023
3101
  if (s->ensure_level > s->loop->ensure_level) {
3024
- genop_peep(s, MKOP_A(OP_EPOP, s->ensure_level - s->loop->ensure_level), NOVAL);
3102
+ genop_1(s, OP_EPOP, s->ensure_level - s->loop->ensure_level);
3025
3103
  }
3026
3104
  if (tree) {
3027
- genop_peep(s, MKOP_AB(OP_MOVE, loop->acc, cursp()), NOVAL);
3105
+ gen_move(s, loop->acc, cursp(), 0);
3028
3106
  }
3029
- distcheck(s, s->loop->pc3);
3030
- tmp = genop(s, MKOP_sBx(OP_JMP, loop->pc3));
3107
+ tmp = genjmp(s, OP_JMP, loop->pc3);
3031
3108
  loop->pc3 = tmp;
3032
3109
  }
3033
3110
  else {
3034
3111
  if (!tree) {
3035
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
3112
+ genop_1(s, OP_LOADNIL, cursp());
3036
3113
  }
3037
- genop(s, MKOP_AB(OP_RETURN, cursp(), OP_R_BREAK));
3114
+ gen_return(s, OP_BREAK, cursp());
3038
3115
  }
3039
3116
  }
3040
3117
  }
@@ -3043,15 +3120,15 @@ static void
3043
3120
  loop_pop(codegen_scope *s, int val)
3044
3121
  {
3045
3122
  if (val) {
3046
- genop(s, MKOP_A(OP_LOADNIL, cursp()));
3123
+ genop_1(s, OP_LOADNIL, cursp());
3047
3124
  }
3048
3125
  dispatch_linked(s, s->loop->pc3);
3049
3126
  s->loop = s->loop->prev;
3050
3127
  if (val) push();
3051
3128
  }
3052
3129
 
3053
- MRB_API struct RProc*
3054
- mrb_generate_code(mrb_state *mrb, parser_state *p)
3130
+ static struct RProc*
3131
+ generate_code(mrb_state *mrb, parser_state *p, int val)
3055
3132
  {
3056
3133
  codegen_scope *scope = scope_new(mrb, 0, 0);
3057
3134
  struct RProc *proc;
@@ -3062,13 +3139,13 @@ mrb_generate_code(mrb_state *mrb, parser_state *p)
3062
3139
  }
3063
3140
  scope->mrb = mrb;
3064
3141
  scope->parser = p;
3065
- scope->filename = p->filename;
3142
+ scope->filename_sym = p->filename_sym;
3066
3143
  scope->filename_index = p->current_filename_index;
3067
3144
 
3068
3145
  MRB_TRY(&scope->jmp) {
3069
- mrb->jmp = &scope->jmp;
3146
+ mrb->jmp = &scope->jmp;
3070
3147
  /* prepare irep */
3071
- codegen(scope, p->tree, NOVAL);
3148
+ codegen(scope, p->tree, val);
3072
3149
  proc = mrb_proc_new(mrb, scope->irep);
3073
3150
  mrb_irep_decref(mrb, scope->irep);
3074
3151
  mrb_pool_close(scope->mpool);
@@ -3087,3 +3164,77 @@ mrb_generate_code(mrb_state *mrb, parser_state *p)
3087
3164
  }
3088
3165
  MRB_END_EXC(&scope->jmp);
3089
3166
  }
3167
+
3168
+ MRB_API struct RProc*
3169
+ mrb_generate_code(mrb_state *mrb, parser_state *p)
3170
+ {
3171
+ return generate_code(mrb, p, VAL);
3172
+ }
3173
+
3174
+ void
3175
+ mrb_irep_remove_lv(mrb_state *mrb, mrb_irep *irep)
3176
+ {
3177
+ int i;
3178
+
3179
+ if (irep->lv) {
3180
+ mrb_free(mrb, irep->lv);
3181
+ irep->lv = NULL;
3182
+ }
3183
+
3184
+ for (i = 0; i < irep->rlen; ++i) {
3185
+ mrb_irep_remove_lv(mrb, irep->reps[i]);
3186
+ }
3187
+ }
3188
+
3189
+ #undef OPCODE
3190
+ #define Z 1
3191
+ #define S 3
3192
+ #define W 4
3193
+ /* instruction sizes */
3194
+ uint8_t mrb_insn_size[] = {
3195
+ #define B 2
3196
+ #define BB 3
3197
+ #define BBB 4
3198
+ #define BS 4
3199
+ #define SB 4
3200
+ #define OPCODE(_,x) x,
3201
+ #include "mruby/ops.h"
3202
+ #undef OPCODE
3203
+ #undef B
3204
+ #undef BB
3205
+ #undef BS
3206
+ #undef SB
3207
+ #undef BBB
3208
+ };
3209
+ /* EXT1 instruction sizes */
3210
+ uint8_t mrb_insn_size1[] = {
3211
+ #define B 3
3212
+ #define BB 4
3213
+ #define BBB 5
3214
+ #define BS 5
3215
+ #define SB 5
3216
+ #define OPCODE(_,x) x,
3217
+ #include "mruby/ops.h"
3218
+ #undef OPCODE
3219
+ #undef B
3220
+ };
3221
+ /* EXT2 instruction sizes */
3222
+ uint8_t mrb_insn_size2[] = {
3223
+ #define B 2
3224
+ #define OPCODE(_,x) x,
3225
+ #include "mruby/ops.h"
3226
+ #undef OPCODE
3227
+ #undef BB
3228
+ #undef BBB
3229
+ #undef BS
3230
+ #undef SB
3231
+ };
3232
+ /* EXT3 instruction sizes */
3233
+ #define BB 5
3234
+ #define BBB 6
3235
+ #define BS 4
3236
+ #define SB 5
3237
+ uint8_t mrb_insn_size3[] = {
3238
+ #define OPCODE(_,x) x,
3239
+ #include "mruby/ops.h"
3240
+ };