debase-ruby_core_source 0.10.2 → 0.10.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (339) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +34 -0
  3. data/README.md +6 -2
  4. data/Rakefile +6 -3
  5. data/debase-ruby_core_source.gemspec +2 -1
  6. data/lib/debase/ruby_core_source.rb +6 -5
  7. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/addr2line.h +0 -0
  8. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ccan/build_assert/build_assert.h +0 -0
  9. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ccan/check_type/check_type.h +0 -0
  10. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ccan/container_of/container_of.h +0 -0
  11. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ccan/list/list.h +0 -0
  12. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ccan/str/str.h +0 -0
  13. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/constant.h +1 -0
  14. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/debug_counter.h +0 -0
  15. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/dln.h +0 -0
  16. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/encindex.h +2 -0
  17. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/eval_intern.h +0 -0
  18. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/gc.h +0 -0
  19. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/id.h +0 -0
  20. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/id_table.h +0 -0
  21. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/insns.inc +2 -2
  22. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/insns_info.inc +157 -157
  23. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/internal.h +5 -4
  24. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/iseq.h +2 -2
  25. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/known_errors.inc +0 -0
  26. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/method.h +0 -0
  27. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/node.h +0 -0
  28. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/node_name.inc +0 -0
  29. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/opt_sc.inc +0 -0
  30. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/optinsn.inc +0 -0
  31. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/optunifs.inc +0 -0
  32. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/parse.h +0 -0
  33. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/probes_helper.h +0 -0
  34. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/regenc.h +0 -0
  35. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/regint.h +0 -0
  36. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/regparse.h +0 -0
  37. data/lib/debase/ruby_core_source/ruby-2.5.1-p57/revision.h +1 -0
  38. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ruby_assert.h +0 -0
  39. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ruby_atomic.h +0 -0
  40. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/siphash.h +0 -0
  41. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/symbol.h +0 -0
  42. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/thread_pthread.h +0 -0
  43. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/thread_win32.h +0 -0
  44. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/timev.h +0 -0
  45. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/transcode_data.h +0 -0
  46. data/lib/debase/ruby_core_source/ruby-2.5.1-p57/version.h +73 -0
  47. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm.inc +13 -13
  48. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm_call_iseq_optimized.inc +0 -0
  49. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm_core.h +3 -4
  50. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/vm_debug.h +0 -0
  51. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm_exec.h +0 -0
  52. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm_insnhelper.h +0 -0
  53. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm_opts.h +1 -2
  54. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vmtc.inc +2 -2
  55. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/addr2line.h +1 -1
  56. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/build_assert/build_assert.h +0 -0
  57. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/check_type/check_type.h +0 -0
  58. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/container_of/container_of.h +0 -0
  59. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/list/list.h +20 -5
  60. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/str/str.h +0 -0
  61. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/constant.h +1 -0
  62. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/debug_counter.h +283 -0
  63. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/dln.h +0 -0
  64. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/encindex.h +2 -0
  65. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/eval_intern.h +45 -53
  66. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/gc.h +2 -3
  67. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/hrtime.h +168 -0
  68. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/id.h +4 -2
  69. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/id_table.h +0 -0
  70. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/insns.inc +249 -0
  71. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/insns_info.inc +9374 -0
  72. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/internal.h +608 -100
  73. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/iseq.h +127 -91
  74. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/known_errors.inc +477 -432
  75. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/method.h +28 -15
  76. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/mjit.h +148 -0
  77. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/mjit_compile.inc +4224 -0
  78. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/node.h +449 -0
  79. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/node_name.inc +6 -18
  80. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/opt_sc.inc +109 -0
  81. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/optinsn.inc +128 -0
  82. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/optunifs.inc +43 -0
  83. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/parse.h +210 -0
  84. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/probes_helper.h +42 -0
  85. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/regenc.h +1 -1
  86. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/regint.h +0 -0
  87. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/regparse.h +1 -1
  88. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/revision.h +1 -0
  89. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ruby_assert.h +6 -0
  90. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ruby_atomic.h +14 -3
  91. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/siphash.h +1 -1
  92. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/symbol.h +1 -1
  93. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/thread_pthread.h +75 -0
  94. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/thread_win32.h +0 -0
  95. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/timev.h +53 -0
  96. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/transcode_data.h +0 -0
  97. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/transient_heap.h +60 -0
  98. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/version.h +7 -7
  99. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/vm.inc +4502 -0
  100. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/vm_call_iseq_optimized.inc +213 -0
  101. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/vm_core.h +385 -182
  102. data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/vm_debug.h +0 -0
  103. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/vm_exec.h +33 -13
  104. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/vm_insnhelper.h +316 -0
  105. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/vm_opts.h +18 -5
  106. data/lib/debase/ruby_core_source/ruby-2.6.0-p0/vmtc.inc +243 -0
  107. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/addr2line.h +21 -0
  108. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ccan/build_assert/build_assert.h +40 -0
  109. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ccan/check_type/check_type.h +63 -0
  110. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ccan/container_of/container_of.h +142 -0
  111. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ccan/list/list.h +788 -0
  112. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ccan/str/str.h +16 -0
  113. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/constant.h +51 -0
  114. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/debug_counter.h +283 -0
  115. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/dln.h +51 -0
  116. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/encindex.h +69 -0
  117. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/eval_intern.h +333 -0
  118. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/gc.h +116 -0
  119. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/hrtime.h +168 -0
  120. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/id.h +252 -0
  121. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/id_table.h +31 -0
  122. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/insns.inc +249 -0
  123. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/insns_info.inc +9374 -0
  124. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/internal.h +2470 -0
  125. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/iseq.h +304 -0
  126. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/known_errors.inc +791 -0
  127. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/method.h +229 -0
  128. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/mjit.h +148 -0
  129. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/mjit_compile.inc +4226 -0
  130. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/node.h +449 -0
  131. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/node_name.inc +200 -0
  132. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/opt_sc.inc +109 -0
  133. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/optinsn.inc +128 -0
  134. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/optunifs.inc +43 -0
  135. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.5-p114}/parse.h +47 -31
  136. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/probes_helper.h +42 -0
  137. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/regenc.h +254 -0
  138. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/regint.h +938 -0
  139. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/regparse.h +370 -0
  140. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/revision.h +1 -0
  141. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ruby_assert.h +60 -0
  142. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ruby_atomic.h +244 -0
  143. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/siphash.h +48 -0
  144. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/symbol.h +112 -0
  145. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/thread_pthread.h +75 -0
  146. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/thread_win32.h +36 -0
  147. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/timev.h +53 -0
  148. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/transcode_data.h +139 -0
  149. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/transient_heap.h +60 -0
  150. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.5-p114}/version.h +7 -7
  151. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm.inc +4504 -0
  152. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm_call_iseq_optimized.inc +213 -0
  153. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm_core.h +1910 -0
  154. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm_debug.h +37 -0
  155. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm_exec.h +202 -0
  156. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm_insnhelper.h +316 -0
  157. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm_opts.h +70 -0
  158. data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vmtc.inc +243 -0
  159. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/addr2line.h +21 -0
  160. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/builtin.h +78 -0
  161. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ccan/build_assert/build_assert.h +40 -0
  162. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ccan/check_type/check_type.h +63 -0
  163. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ccan/container_of/container_of.h +142 -0
  164. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ccan/list/list.h +788 -0
  165. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ccan/str/str.h +16 -0
  166. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/constant.h +50 -0
  167. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/debug_counter.h +390 -0
  168. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/dln.h +51 -0
  169. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/encindex.h +69 -0
  170. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/eval_intern.h +312 -0
  171. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/gc.h +131 -0
  172. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/hrtime.h +168 -0
  173. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/id.h +290 -0
  174. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/id_table.h +34 -0
  175. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/insns.inc +253 -0
  176. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/insns_info.inc +9197 -0
  177. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/internal.h +2697 -0
  178. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/iseq.h +312 -0
  179. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/known_errors.inc +791 -0
  180. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/method.h +229 -0
  181. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/mjit.h +177 -0
  182. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/mjit_compile.inc +7779 -0
  183. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/node.h +476 -0
  184. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/node_name.inc +208 -0
  185. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/opt_sc.inc +109 -0
  186. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/optinsn.inc +128 -0
  187. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/optunifs.inc +43 -0
  188. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/parse.h +210 -0
  189. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/probes_helper.h +42 -0
  190. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/regenc.h +254 -0
  191. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/regint.h +938 -0
  192. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/regparse.h +370 -0
  193. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/revision.h +2 -0
  194. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ruby_assert.h +15 -0
  195. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ruby_atomic.h +244 -0
  196. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/siphash.h +48 -0
  197. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/symbol.h +119 -0
  198. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/thread_pthread.h +75 -0
  199. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/thread_win32.h +36 -0
  200. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/timev.h +56 -0
  201. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/transcode_data.h +139 -0
  202. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/transient_heap.h +62 -0
  203. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/variable.h +9 -0
  204. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/version.h +77 -0
  205. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm.inc +5466 -0
  206. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm_call_iseq_optimized.inc +237 -0
  207. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm_core.h +1968 -0
  208. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm_debug.h +34 -0
  209. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm_exec.h +193 -0
  210. data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.7.0-p0}/vm_insnhelper.h +81 -64
  211. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm_opts.h +72 -0
  212. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vmtc.inc +247 -0
  213. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/addr2line.h +20 -0
  214. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/builtin.h +83 -0
  215. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ccan/build_assert/build_assert.h +40 -0
  216. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ccan/check_type/check_type.h +63 -0
  217. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ccan/container_of/container_of.h +142 -0
  218. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ccan/list/list.h +788 -0
  219. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ccan/str/str.h +16 -0
  220. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/constant.h +55 -0
  221. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/debug_counter.h +423 -0
  222. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/dln.h +36 -0
  223. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/encindex.h +70 -0
  224. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/eval_intern.h +312 -0
  225. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/gc.h +140 -0
  226. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/hrtime.h +168 -0
  227. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/id.h +290 -0
  228. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/id_table.h +36 -0
  229. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/insns.inc +249 -0
  230. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/insns_info.inc +8979 -0
  231. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal.h +107 -0
  232. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/array.h +114 -0
  233. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/bignum.h +246 -0
  234. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/bits.h +566 -0
  235. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/class.h +168 -0
  236. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/compar.h +50 -0
  237. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/compile.h +32 -0
  238. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/compilers.h +108 -0
  239. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/complex.h +29 -0
  240. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/cont.h +25 -0
  241. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/dir.h +17 -0
  242. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/enc.h +20 -0
  243. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/encoding.h +28 -0
  244. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/enum.h +19 -0
  245. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/enumerator.h +22 -0
  246. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/error.h +131 -0
  247. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/eval.h +33 -0
  248. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/file.h +39 -0
  249. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/fixnum.h +185 -0
  250. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/gc.h +154 -0
  251. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/hash.h +240 -0
  252. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/imemo.h +243 -0
  253. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/inits.h +51 -0
  254. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/io.h +35 -0
  255. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/load.h +19 -0
  256. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/loadpath.h +17 -0
  257. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/math.h +24 -0
  258. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/missing.h +19 -0
  259. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/mjit.h +29 -0
  260. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/numeric.h +252 -0
  261. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/object.h +83 -0
  262. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/parse.h +23 -0
  263. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/proc.h +32 -0
  264. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/process.h +136 -0
  265. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/random.h +17 -0
  266. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/range.h +37 -0
  267. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/rational.h +69 -0
  268. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/re.h +29 -0
  269. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/sanitizers.h +191 -0
  270. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/scheduler.h +35 -0
  271. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/serial.h +24 -0
  272. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/signal.h +22 -0
  273. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/static_assert.h +17 -0
  274. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/string.h +135 -0
  275. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/struct.h +154 -0
  276. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/symbol.h +41 -0
  277. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/thread.h +60 -0
  278. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/time.h +35 -0
  279. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/transcode.h +21 -0
  280. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/util.h +31 -0
  281. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/variable.h +83 -0
  282. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/vm.h +135 -0
  283. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/warnings.h +17 -0
  284. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/iseq.h +304 -0
  285. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/known_errors.inc +791 -0
  286. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/method.h +245 -0
  287. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/mjit.h +197 -0
  288. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/mjit_compile.inc +8082 -0
  289. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/node.h +484 -0
  290. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/node_name.inc +210 -0
  291. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/opt_sc.inc +109 -0
  292. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/optinsn.inc +128 -0
  293. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/optunifs.inc +43 -0
  294. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/parse.h +211 -0
  295. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/probes_helper.h +44 -0
  296. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ractor.h +271 -0
  297. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ractor_pub.h +50 -0
  298. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/regenc.h +254 -0
  299. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/regint.h +938 -0
  300. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/regparse.h +370 -0
  301. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/revision.h +2 -0
  302. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ruby_assert.h +15 -0
  303. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ruby_atomic.h +236 -0
  304. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/siphash.h +48 -0
  305. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/symbol.h +119 -0
  306. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/thread_pthread.h +106 -0
  307. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/thread_win32.h +66 -0
  308. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/timev.h +57 -0
  309. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/transcode_data.h +138 -0
  310. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/transient_heap.h +61 -0
  311. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/variable.h +21 -0
  312. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/version.h +89 -0
  313. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm.inc +5360 -0
  314. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_call_iseq_optimized.inc +244 -0
  315. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_callinfo.h +457 -0
  316. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_core.h +1952 -0
  317. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_debug.h +116 -0
  318. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_exec.h +196 -0
  319. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_insnhelper.h +260 -0
  320. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_opts.h +73 -0
  321. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_sync.h +97 -0
  322. data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vmtc.inc +243 -0
  323. data/lib/debase/ruby_core_source/version.rb +1 -1
  324. metadata +335 -102
  325. data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/insns.inc +0 -118
  326. data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/insns_info.inc +0 -827
  327. data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/node.h +0 -523
  328. data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/opt_sc.inc +0 -809
  329. data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/optinsn.inc +0 -77
  330. data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/optunifs.inc +0 -49
  331. data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/probes_helper.h +0 -43
  332. data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/revision.h +0 -1
  333. data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/vm.inc +0 -2935
  334. data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/vm_call_iseq_optimized.inc +0 -212
  335. data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/vmtc.inc +0 -115
  336. data/lib/debase/ruby_core_source/ruby-2.5.0-rc1/debug_counter.h +0 -109
  337. data/lib/debase/ruby_core_source/ruby-2.5.0-rc1/revision.h +0 -1
  338. data/lib/debase/ruby_core_source/ruby-2.5.0-rc1/thread_pthread.h +0 -54
  339. data/lib/debase/ruby_core_source/ruby-2.5.0-rc1/timev.h +0 -42
@@ -1,118 +0,0 @@
1
- /** -*-c-*-
2
- This file contains YARV instructions list.
3
-
4
- ----
5
- This file is auto generated by insns2vm.rb
6
- DO NOT TOUCH!
7
-
8
- If you want to fix something, you must edit 'template/insns.inc.tmpl'
9
- or tool/insns2vm.rb
10
- */
11
-
12
-
13
- /* BIN : Basic Instruction Name */
14
- #define BIN(n) YARVINSN_##n
15
-
16
- enum ruby_vminsn_type {
17
- BIN(nop),
18
- BIN(getlocal),
19
- BIN(setlocal),
20
- BIN(getspecial),
21
- BIN(setspecial),
22
- BIN(getinstancevariable),
23
- BIN(setinstancevariable),
24
- BIN(getclassvariable),
25
- BIN(setclassvariable),
26
- BIN(getconstant),
27
- BIN(setconstant),
28
- BIN(getglobal),
29
- BIN(setglobal),
30
- BIN(putnil),
31
- BIN(putself),
32
- BIN(putobject),
33
- BIN(putspecialobject),
34
- BIN(putiseq),
35
- BIN(putstring),
36
- BIN(concatstrings),
37
- BIN(tostring),
38
- BIN(freezestring),
39
- BIN(toregexp),
40
- BIN(intern),
41
- BIN(newarray),
42
- BIN(duparray),
43
- BIN(expandarray),
44
- BIN(concatarray),
45
- BIN(splatarray),
46
- BIN(newhash),
47
- BIN(newrange),
48
- BIN(pop),
49
- BIN(dup),
50
- BIN(dupn),
51
- BIN(swap),
52
- BIN(reverse),
53
- BIN(reput),
54
- BIN(topn),
55
- BIN(setn),
56
- BIN(adjuststack),
57
- BIN(defined),
58
- BIN(checkmatch),
59
- BIN(checkkeyword),
60
- BIN(trace),
61
- BIN(trace2),
62
- BIN(defineclass),
63
- BIN(send),
64
- BIN(opt_str_freeze),
65
- BIN(opt_str_uminus),
66
- BIN(opt_newarray_max),
67
- BIN(opt_newarray_min),
68
- BIN(opt_send_without_block),
69
- BIN(invokesuper),
70
- BIN(invokeblock),
71
- BIN(leave),
72
- BIN(throw),
73
- BIN(jump),
74
- BIN(branchif),
75
- BIN(branchunless),
76
- BIN(branchnil),
77
- BIN(branchiftype),
78
- BIN(getinlinecache),
79
- BIN(setinlinecache),
80
- BIN(once),
81
- BIN(opt_case_dispatch),
82
- BIN(opt_plus),
83
- BIN(opt_minus),
84
- BIN(opt_mult),
85
- BIN(opt_div),
86
- BIN(opt_mod),
87
- BIN(opt_eq),
88
- BIN(opt_neq),
89
- BIN(opt_lt),
90
- BIN(opt_le),
91
- BIN(opt_gt),
92
- BIN(opt_ge),
93
- BIN(opt_ltlt),
94
- BIN(opt_aref),
95
- BIN(opt_aset),
96
- BIN(opt_aset_with),
97
- BIN(opt_aref_with),
98
- BIN(opt_length),
99
- BIN(opt_size),
100
- BIN(opt_empty_p),
101
- BIN(opt_succ),
102
- BIN(opt_not),
103
- BIN(opt_regexpmatch1),
104
- BIN(opt_regexpmatch2),
105
- BIN(opt_call_c_function),
106
- BIN(bitblt),
107
- BIN(answer),
108
- BIN(getlocal_OP__WC__0),
109
- BIN(getlocal_OP__WC__1),
110
- BIN(setlocal_OP__WC__0),
111
- BIN(setlocal_OP__WC__1),
112
- BIN(putobject_OP_INT2FIX_O_0_C_),
113
- BIN(putobject_OP_INT2FIX_O_1_C_),
114
- VM_INSTRUCTION_SIZE
115
- };
116
-
117
- #define ASSERT_VM_INSTRUCTION_SIZE(array) \
118
- STATIC_ASSERT(numberof_##array, numberof(array) == VM_INSTRUCTION_SIZE)
@@ -1,827 +0,0 @@
1
- /** -*-c-*-
2
- This file contains instruction information for yarv instruction sequence.
3
-
4
- ----
5
- This file is auto generated by insns2vm.rb
6
- DO NOT TOUCH!
7
-
8
- If you want to fix something, you must edit 'template/insns_info.inc.tmpl'
9
- or tool/insns2vm.rb
10
- */
11
-
12
- #define TS_OFFSET 'O'
13
- #define TS_NUM 'N'
14
- #define TS_LINDEX 'L'
15
- #define TS_VALUE 'V'
16
- #define TS_ID 'I'
17
- #define TS_GENTRY 'G'
18
- #define TS_IC 'K'
19
- #define TS_CALLINFO 'C'
20
- #define TS_CALLCACHE 'E'
21
- #define TS_CDHASH 'H'
22
- #define TS_ISEQ 'S'
23
- #define TS_VARIABLE '.'
24
- #define TS_FUNCPTR 'F'
25
-
26
- static const unsigned short insn_name_info_offset[] = {
27
- 0,
28
- 4,
29
- 13,
30
- 22,
31
- 33,
32
- 44,
33
- 64,
34
- 84,
35
- 101,
36
- 118,
37
- 130,
38
- 142,
39
- 152,
40
- 162,
41
- 169,
42
- 177,
43
- 187,
44
- 204,
45
- 212,
46
- 222,
47
- 236,
48
- 245,
49
- 258,
50
- 267,
51
- 274,
52
- 283,
53
- 292,
54
- 304,
55
- 316,
56
- 327,
57
- 335,
58
- 344,
59
- 348,
60
- 352,
61
- 357,
62
- 362,
63
- 370,
64
- 376,
65
- 381,
66
- 386,
67
- 398,
68
- 406,
69
- 417,
70
- 430,
71
- 436,
72
- 443,
73
- 455,
74
- 460,
75
- 475,
76
- 490,
77
- 507,
78
- 524,
79
- 547,
80
- 559,
81
- 571,
82
- 577,
83
- 583,
84
- 588,
85
- 597,
86
- 610,
87
- 620,
88
- 633,
89
- 648,
90
- 663,
91
- 668,
92
- 686,
93
- 695,
94
- 705,
95
- 714,
96
- 722,
97
- 730,
98
- 737,
99
- 745,
100
- 752,
101
- 759,
102
- 766,
103
- 773,
104
- 782,
105
- 791,
106
- 800,
107
- 814,
108
- 828,
109
- 839,
110
- 848,
111
- 860,
112
- 869,
113
- 877,
114
- 894,
115
- 911,
116
- 931,
117
- 938,
118
- 945,
119
- 964,
120
- 983,
121
- 1002,
122
- 1021,
123
- 1049,
124
- };
125
-
126
- ASSERT_VM_INSTRUCTION_SIZE(insn_name_info_offset);
127
-
128
- static const char insn_name_info_base[1077] = ""
129
- "nop\0"
130
- "getlocal\0"
131
- "setlocal\0"
132
- "getspecial\0"
133
- "setspecial\0"
134
- "getinstancevariable\0"
135
- "setinstancevariable\0"
136
- "getclassvariable\0"
137
- "setclassvariable\0"
138
- "getconstant\0"
139
- "setconstant\0"
140
- "getglobal\0"
141
- "setglobal\0"
142
- "putnil\0"
143
- "putself\0"
144
- "putobject\0"
145
- "putspecialobject\0"
146
- "putiseq\0"
147
- "putstring\0"
148
- "concatstrings\0"
149
- "tostring\0"
150
- "freezestring\0"
151
- "toregexp\0"
152
- "intern\0"
153
- "newarray\0"
154
- "duparray\0"
155
- "expandarray\0"
156
- "concatarray\0"
157
- "splatarray\0"
158
- "newhash\0"
159
- "newrange\0"
160
- "pop\0"
161
- "dup\0"
162
- "dupn\0"
163
- "swap\0"
164
- "reverse\0"
165
- "reput\0"
166
- "topn\0"
167
- "setn\0"
168
- "adjuststack\0"
169
- "defined\0"
170
- "checkmatch\0"
171
- "checkkeyword\0"
172
- "trace\0"
173
- "trace2\0"
174
- "defineclass\0"
175
- "send\0"
176
- "opt_str_freeze\0"
177
- "opt_str_uminus\0"
178
- "opt_newarray_max\0"
179
- "opt_newarray_min\0"
180
- "opt_send_without_block\0"
181
- "invokesuper\0"
182
- "invokeblock\0"
183
- "leave\0"
184
- "throw\0"
185
- "jump\0"
186
- "branchif\0"
187
- "branchunless\0"
188
- "branchnil\0"
189
- "branchiftype\0"
190
- "getinlinecache\0"
191
- "setinlinecache\0"
192
- "once\0"
193
- "opt_case_dispatch\0"
194
- "opt_plus\0"
195
- "opt_minus\0"
196
- "opt_mult\0"
197
- "opt_div\0"
198
- "opt_mod\0"
199
- "opt_eq\0"
200
- "opt_neq\0"
201
- "opt_lt\0"
202
- "opt_le\0"
203
- "opt_gt\0"
204
- "opt_ge\0"
205
- "opt_ltlt\0"
206
- "opt_aref\0"
207
- "opt_aset\0"
208
- "opt_aset_with\0"
209
- "opt_aref_with\0"
210
- "opt_length\0"
211
- "opt_size\0"
212
- "opt_empty_p\0"
213
- "opt_succ\0"
214
- "opt_not\0"
215
- "opt_regexpmatch1\0"
216
- "opt_regexpmatch2\0"
217
- "opt_call_c_function\0"
218
- "bitblt\0"
219
- "answer\0"
220
- "getlocal_OP__WC__0\0"
221
- "getlocal_OP__WC__1\0"
222
- "setlocal_OP__WC__0\0"
223
- "setlocal_OP__WC__1\0"
224
- "putobject_OP_INT2FIX_O_0_C_\0"
225
- "putobject_OP_INT2FIX_O_1_C_\0"
226
- ;
227
-
228
- #define insn_name_info insn_name_info_base+insn_name_info_offset
229
-
230
- static const char insn_operand_info[][8] = {
231
- "\1""",
232
- "\3""LN",
233
- "\3""LN",
234
- "\3""NN",
235
- "\2""N",
236
- "\3""IK",
237
- "\3""IK",
238
- "\2""I",
239
- "\2""I",
240
- "\2""I",
241
- "\2""I",
242
- "\2""G",
243
- "\2""G",
244
- "\1""",
245
- "\1""",
246
- "\2""V",
247
- "\2""N",
248
- "\2""S",
249
- "\2""V",
250
- "\2""N",
251
- "\1""",
252
- "\2""V",
253
- "\3""NN",
254
- "\1""",
255
- "\2""N",
256
- "\2""V",
257
- "\3""NN",
258
- "\1""",
259
- "\2""V",
260
- "\2""N",
261
- "\2""N",
262
- "\1""",
263
- "\1""",
264
- "\2""N",
265
- "\1""",
266
- "\2""N",
267
- "\1""",
268
- "\2""N",
269
- "\2""N",
270
- "\2""N",
271
- "\4""NVV",
272
- "\2""N",
273
- "\3""LN",
274
- "\2""N",
275
- "\3""NV",
276
- "\4""ISN",
277
- "\4""CES",
278
- "\2""V",
279
- "\2""V",
280
- "\2""N",
281
- "\2""N",
282
- "\3""CE",
283
- "\4""CES",
284
- "\2""C",
285
- "\1""",
286
- "\2""N",
287
- "\2""O",
288
- "\2""O",
289
- "\2""O",
290
- "\2""O",
291
- "\3""NO",
292
- "\3""OK",
293
- "\2""K",
294
- "\3""SK",
295
- "\3""HO",
296
- "\3""CE",
297
- "\3""CE",
298
- "\3""CE",
299
- "\3""CE",
300
- "\3""CE",
301
- "\3""CE",
302
- "\5""CECE",
303
- "\3""CE",
304
- "\3""CE",
305
- "\3""CE",
306
- "\3""CE",
307
- "\3""CE",
308
- "\3""CE",
309
- "\3""CE",
310
- "\4""CEV",
311
- "\4""CEV",
312
- "\3""CE",
313
- "\3""CE",
314
- "\3""CE",
315
- "\3""CE",
316
- "\3""CE",
317
- "\2""V",
318
- "\3""CE",
319
- "\2""F",
320
- "\1""",
321
- "\1""",
322
- "\2""L",
323
- "\2""L",
324
- "\2""L",
325
- "\2""L",
326
- "\1""",
327
- "\1""",
328
- };
329
-
330
- ASSERT_VM_INSTRUCTION_SIZE(insn_operand_info);
331
-
332
- #ifdef USE_INSN_RET_NUM
333
- static const unsigned short insn_stack_push_num_info[] = {
334
- 0,
335
- 1,
336
- 0,
337
- 1,
338
- 0,
339
- 1,
340
- 0,
341
- 1,
342
- 0,
343
- 1,
344
- 0,
345
- 1,
346
- 0,
347
- 1,
348
- 1,
349
- 1,
350
- 1,
351
- 1,
352
- 1,
353
- 1,
354
- 1,
355
- 1,
356
- 1,
357
- 1,
358
- 1,
359
- 1,
360
- 1,
361
- 1,
362
- 1,
363
- 1,
364
- 1,
365
- 0,
366
- 2,
367
- 1,
368
- 2,
369
- 1,
370
- 1,
371
- 1,
372
- 1,
373
- 1,
374
- 1,
375
- 1,
376
- 1,
377
- 0,
378
- 0,
379
- 1,
380
- 1,
381
- 1,
382
- 1,
383
- 1,
384
- 1,
385
- 1,
386
- 1,
387
- 1,
388
- 1,
389
- 1,
390
- 0,
391
- 0,
392
- 0,
393
- 0,
394
- 0,
395
- 1,
396
- 1,
397
- 1,
398
- 0,
399
- 1,
400
- 1,
401
- 1,
402
- 1,
403
- 1,
404
- 1,
405
- 1,
406
- 1,
407
- 1,
408
- 1,
409
- 1,
410
- 1,
411
- 1,
412
- 1,
413
- 1,
414
- 1,
415
- 1,
416
- 1,
417
- 1,
418
- 1,
419
- 1,
420
- 1,
421
- 1,
422
- 0,
423
- 1,
424
- 1,
425
- 1,
426
- 1,
427
- 0,
428
- 0,
429
- 1,
430
- 1,
431
- };
432
-
433
- ASSERT_VM_INSTRUCTION_SIZE(insn_stack_push_num_info);
434
- #endif
435
-
436
- #ifdef USE_INSN_STACK_INCREASE
437
- static int
438
- insn_stack_increase(int depth, int insn, VALUE *opes)
439
- {
440
- switch (insn) {
441
- case BIN(nop): {
442
- return depth + 0;
443
- }
444
- case BIN(getlocal): {
445
- return depth + 1;
446
- }
447
- case BIN(setlocal): {
448
- return depth + -1;
449
- }
450
- case BIN(getspecial): {
451
- return depth + 1;
452
- }
453
- case BIN(setspecial): {
454
- return depth + -1;
455
- }
456
- case BIN(getinstancevariable): {
457
- return depth + 1;
458
- }
459
- case BIN(setinstancevariable): {
460
- return depth + -1;
461
- }
462
- case BIN(getclassvariable): {
463
- return depth + 1;
464
- }
465
- case BIN(setclassvariable): {
466
- return depth + -1;
467
- }
468
- case BIN(getconstant): {
469
- return depth + 0;
470
- }
471
- case BIN(setconstant): {
472
- return depth + -2;
473
- }
474
- case BIN(getglobal): {
475
- return depth + 1;
476
- }
477
- case BIN(setglobal): {
478
- return depth + -1;
479
- }
480
- case BIN(putnil): {
481
- return depth + 1;
482
- }
483
- case BIN(putself): {
484
- return depth + 1;
485
- }
486
- case BIN(putobject): {
487
- return depth + 1;
488
- }
489
- case BIN(putspecialobject): {
490
- return depth + 1;
491
- }
492
- case BIN(putiseq): {
493
- return depth + 1;
494
- }
495
- case BIN(putstring): {
496
- return depth + 1;
497
- }
498
- case BIN(concatstrings): {
499
- int inc = 0;
500
- int num = FIX2INT(opes[0]);
501
- inc += 1 - num;;
502
- return depth + inc;
503
- }
504
- case BIN(tostring): {
505
- return depth + -1;
506
- }
507
- case BIN(freezestring): {
508
- return depth + 0;
509
- }
510
- case BIN(toregexp): {
511
- int inc = 0;
512
- int cnt = FIX2INT(opes[1]);
513
- inc += 1 - cnt;;
514
- return depth + inc;
515
- }
516
- case BIN(intern): {
517
- return depth + 0;
518
- }
519
- case BIN(newarray): {
520
- int inc = 0;
521
- int num = FIX2INT(opes[0]);
522
- inc += 1 - num;;
523
- return depth + inc;
524
- }
525
- case BIN(duparray): {
526
- return depth + 1;
527
- }
528
- case BIN(expandarray): {
529
- int inc = 0;
530
- int num = FIX2INT(opes[0]);
531
- int flag = FIX2INT(opes[1]);
532
- inc += num - 1 + (flag & 1 ? 1 : 0);;
533
- return depth + inc;
534
- }
535
- case BIN(concatarray): {
536
- return depth + -1;
537
- }
538
- case BIN(splatarray): {
539
- return depth + 0;
540
- }
541
- case BIN(newhash): {
542
- int inc = 0;
543
- int num = FIX2INT(opes[0]);
544
- inc += 1 - num;;
545
- return depth + inc;
546
- }
547
- case BIN(newrange): {
548
- return depth + -1;
549
- }
550
- case BIN(pop): {
551
- return depth + -1;
552
- }
553
- case BIN(dup): {
554
- return depth + 1;
555
- }
556
- case BIN(dupn): {
557
- int inc = 0;
558
- int n = FIX2INT(opes[0]);
559
- inc += n;;
560
- return depth + inc;
561
- }
562
- case BIN(swap): {
563
- return depth + 0;
564
- }
565
- case BIN(reverse): {
566
- int inc = 0;
567
- inc += 0;;
568
- return depth + inc;
569
- }
570
- case BIN(reput): {
571
- int inc = 0;
572
- inc += 0;;
573
- return depth + inc;
574
- }
575
- case BIN(topn): {
576
- int inc = 0;
577
- inc += 1;;
578
- return depth + inc;
579
- }
580
- case BIN(setn): {
581
- int inc = 0;
582
- inc += 0;
583
- return depth + inc;
584
- }
585
- case BIN(adjuststack): {
586
- int inc = 0;
587
- int n = FIX2INT(opes[0]);
588
- inc -= n;
589
- return depth + inc;
590
- }
591
- case BIN(defined): {
592
- return depth + 0;
593
- }
594
- case BIN(checkmatch): {
595
- return depth + -1;
596
- }
597
- case BIN(checkkeyword): {
598
- return depth + 1;
599
- }
600
- case BIN(trace): {
601
- return depth + 0;
602
- }
603
- case BIN(trace2): {
604
- return depth + 0;
605
- }
606
- case BIN(defineclass): {
607
- return depth + -1;
608
- }
609
- case BIN(send): {
610
- int inc = 0;
611
- CALL_INFO ci = (CALL_INFO)(opes[0]);
612
- inc += - (int)(ci->orig_argc + ((ci->flag & VM_CALL_ARGS_BLOCKARG) ? 1 : 0));;
613
- return depth + inc;
614
- }
615
- case BIN(opt_str_freeze): {
616
- return depth + 1;
617
- }
618
- case BIN(opt_str_uminus): {
619
- return depth + 1;
620
- }
621
- case BIN(opt_newarray_max): {
622
- int inc = 0;
623
- int num = FIX2INT(opes[0]);
624
- inc += 1 - num;;
625
- return depth + inc;
626
- }
627
- case BIN(opt_newarray_min): {
628
- int inc = 0;
629
- int num = FIX2INT(opes[0]);
630
- inc += 1 - num;;
631
- return depth + inc;
632
- }
633
- case BIN(opt_send_without_block): {
634
- int inc = 0;
635
- CALL_INFO ci = (CALL_INFO)(opes[0]);
636
- inc += -ci->orig_argc;;
637
- return depth + inc;
638
- }
639
- case BIN(invokesuper): {
640
- int inc = 0;
641
- CALL_INFO ci = (CALL_INFO)(opes[0]);
642
- inc += - (int)(ci->orig_argc + ((ci->flag & VM_CALL_ARGS_BLOCKARG) ? 1 : 0));;
643
- return depth + inc;
644
- }
645
- case BIN(invokeblock): {
646
- int inc = 0;
647
- CALL_INFO ci = (CALL_INFO)(opes[0]);
648
- inc += 1 - ci->orig_argc;;
649
- return depth + inc;
650
- }
651
- case BIN(leave): {
652
- return depth + 0;
653
- }
654
- case BIN(throw): {
655
- return depth + 0;
656
- }
657
- case BIN(jump): {
658
- return depth + 0;
659
- }
660
- case BIN(branchif): {
661
- return depth + -1;
662
- }
663
- case BIN(branchunless): {
664
- return depth + -1;
665
- }
666
- case BIN(branchnil): {
667
- return depth + -1;
668
- }
669
- case BIN(branchiftype): {
670
- return depth + -1;
671
- }
672
- case BIN(getinlinecache): {
673
- return depth + 1;
674
- }
675
- case BIN(setinlinecache): {
676
- return depth + 0;
677
- }
678
- case BIN(once): {
679
- return depth + 1;
680
- }
681
- case BIN(opt_case_dispatch): {
682
- int inc = 0;
683
- inc += -1;;
684
- return depth + inc;
685
- }
686
- case BIN(opt_plus): {
687
- return depth + -1;
688
- }
689
- case BIN(opt_minus): {
690
- return depth + -1;
691
- }
692
- case BIN(opt_mult): {
693
- return depth + -1;
694
- }
695
- case BIN(opt_div): {
696
- return depth + -1;
697
- }
698
- case BIN(opt_mod): {
699
- return depth + -1;
700
- }
701
- case BIN(opt_eq): {
702
- return depth + -1;
703
- }
704
- case BIN(opt_neq): {
705
- return depth + -1;
706
- }
707
- case BIN(opt_lt): {
708
- return depth + -1;
709
- }
710
- case BIN(opt_le): {
711
- return depth + -1;
712
- }
713
- case BIN(opt_gt): {
714
- return depth + -1;
715
- }
716
- case BIN(opt_ge): {
717
- return depth + -1;
718
- }
719
- case BIN(opt_ltlt): {
720
- return depth + -1;
721
- }
722
- case BIN(opt_aref): {
723
- return depth + -1;
724
- }
725
- case BIN(opt_aset): {
726
- return depth + -2;
727
- }
728
- case BIN(opt_aset_with): {
729
- return depth + -1;
730
- }
731
- case BIN(opt_aref_with): {
732
- return depth + 0;
733
- }
734
- case BIN(opt_length): {
735
- return depth + 0;
736
- }
737
- case BIN(opt_size): {
738
- return depth + 0;
739
- }
740
- case BIN(opt_empty_p): {
741
- return depth + 0;
742
- }
743
- case BIN(opt_succ): {
744
- return depth + 0;
745
- }
746
- case BIN(opt_not): {
747
- return depth + 0;
748
- }
749
- case BIN(opt_regexpmatch1): {
750
- return depth + 0;
751
- }
752
- case BIN(opt_regexpmatch2): {
753
- return depth + -1;
754
- }
755
- case BIN(opt_call_c_function): {
756
- return depth + 0;
757
- }
758
- case BIN(bitblt): {
759
- return depth + 1;
760
- }
761
- case BIN(answer): {
762
- return depth + 1;
763
- }
764
- case BIN(getlocal_OP__WC__0): {
765
- return depth + 1;
766
- }
767
- case BIN(getlocal_OP__WC__1): {
768
- return depth + 1;
769
- }
770
- case BIN(setlocal_OP__WC__0): {
771
- return depth + -1;
772
- }
773
- case BIN(setlocal_OP__WC__1): {
774
- return depth + -1;
775
- }
776
- case BIN(putobject_OP_INT2FIX_O_0_C_): {
777
- return depth + 1;
778
- }
779
- case BIN(putobject_OP_INT2FIX_O_1_C_): {
780
- return depth + 1;
781
- }
782
- default:
783
- rb_bug("insn_sp_increase: unreachable");
784
- }
785
- return 0;
786
- }
787
- #endif
788
-
789
- /* some utilities */
790
-
791
- static int
792
- insn_len(VALUE insn)
793
- {
794
- return (unsigned char)insn_operand_info[(int)insn][0];
795
- }
796
-
797
- static const char *
798
- insn_name(VALUE insn)
799
- {
800
- return insn_name_info[(int)insn];
801
- }
802
-
803
- static const char *
804
- insn_op_types(VALUE insn)
805
- {
806
- return insn_operand_info[(int)insn]+1;
807
- }
808
-
809
- static int
810
- insn_op_type(VALUE insn, long pos)
811
- {
812
- int len = insn_len(insn) - 1;
813
- if (pos < len) {
814
- return insn_operand_info[(int)insn][pos+1];
815
- }
816
- else{
817
- return 0;
818
- }
819
- }
820
-
821
- #ifdef USE_INSN_RET_NUM
822
- static int
823
- insn_ret_num(VALUE insn)
824
- {
825
- return insn_stack_push_num_info[(int)insn];
826
- }
827
- #endif