debase-ruby_core_source 0.10.2 → 0.10.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -914,8 +914,8 @@ struct vm_throw_data {
914
914
 
915
915
  struct vm_ifunc_argc {
916
916
  #if SIZEOF_INT * 2 > SIZEOF_VALUE
917
- int min: (SIZEOF_VALUE * CHAR_BIT) / 2;
918
- int max: (SIZEOF_VALUE * CHAR_BIT) / 2;
917
+ signed int min: (SIZEOF_VALUE * CHAR_BIT) / 2;
918
+ signed int max: (SIZEOF_VALUE * CHAR_BIT) / 2;
919
919
  #else
920
920
  int min, max;
921
921
  #endif
@@ -1110,7 +1110,7 @@ VALUE rb_invcmp(VALUE, VALUE);
1110
1110
  struct rb_block;
1111
1111
  int rb_dvar_defined(ID, const struct rb_block *);
1112
1112
  int rb_local_defined(ID, const struct rb_block *);
1113
- CONSTFUNC(const char * rb_insns_name(int i));
1113
+ const char * rb_insns_name(int i);
1114
1114
  VALUE rb_insns_name_array(void);
1115
1115
 
1116
1116
  /* complex.c */
@@ -1136,7 +1136,7 @@ void Init_ext(void);
1136
1136
 
1137
1137
  /* encoding.c */
1138
1138
  ID rb_id_encoding(void);
1139
- CONSTFUNC(void rb_gc_mark_encodings(void));
1139
+ void rb_gc_mark_encodings(void);
1140
1140
  rb_encoding *rb_enc_get_from_index(int index);
1141
1141
  rb_encoding *rb_enc_check_str(VALUE str1, VALUE str2);
1142
1142
  int rb_encdb_replicate(const char *alias, const char *orig);
@@ -1754,6 +1754,7 @@ VALUE rb_to_symbol_type(VALUE obj);
1754
1754
  /* struct.c */
1755
1755
  VALUE rb_struct_init_copy(VALUE copy, VALUE s);
1756
1756
  VALUE rb_struct_lookup(VALUE s, VALUE idx);
1757
+ VALUE rb_struct_s_keyword_init(VALUE klass);
1757
1758
 
1758
1759
  /* time.c */
1759
1760
  struct timeval rb_time_timeval(VALUE);
@@ -2,7 +2,7 @@
2
2
 
3
3
  iseq.h -
4
4
 
5
- $Author: mame $
5
+ $Author: ko1 $
6
6
  created at: 04/01/01 23:36:57 JST
7
7
 
8
8
  Copyright (C) 2004-2008 Koichi Sasada
@@ -189,6 +189,7 @@ VALUE rb_iseq_label(const rb_iseq_t *iseq);
189
189
  VALUE rb_iseq_base_label(const rb_iseq_t *iseq);
190
190
  VALUE rb_iseq_first_lineno(const rb_iseq_t *iseq);
191
191
  VALUE rb_iseq_method_name(const rb_iseq_t *iseq);
192
+ void rb_iseq_code_range(const rb_iseq_t *iseq, int *first_lineno, int *first_column, int *last_lineno, int *last_column);
192
193
 
193
194
  /* proc.c */
194
195
  const rb_iseq_t *rb_method_iseq(VALUE body);
@@ -202,7 +203,6 @@ struct rb_compile_option_struct {
202
203
  unsigned int operands_unification: 1;
203
204
  unsigned int instructions_unification: 1;
204
205
  unsigned int stack_caching: 1;
205
- unsigned int trace_instruction: 1;
206
206
  unsigned int frozen_string_literal: 1;
207
207
  unsigned int debug_frozen_string_literal: 1;
208
208
  unsigned int coverage_enabled: 1;
@@ -0,0 +1 @@
1
+ #define RUBY_REVISION 63029
@@ -0,0 +1,73 @@
1
+ #define RUBY_VERSION "2.5.1"
2
+ #define RUBY_RELEASE_DATE "2018-03-29"
3
+ #define RUBY_PATCHLEVEL 57
4
+
5
+ #define RUBY_RELEASE_YEAR 2018
6
+ #define RUBY_RELEASE_MONTH 3
7
+ #define RUBY_RELEASE_DAY 29
8
+
9
+ #include "ruby/version.h"
10
+
11
+ #ifndef TOKEN_PASTE
12
+ #define TOKEN_PASTE(x,y) x##y
13
+ #endif
14
+ #define ONLY_ONE_DIGIT(x) TOKEN_PASTE(10,x) < 1000
15
+ #define WITH_ZERO_PADDING(x) TOKEN_PASTE(0,x)
16
+ #define RUBY_BIRTH_YEAR_STR STRINGIZE(RUBY_BIRTH_YEAR)
17
+ #define RUBY_RELEASE_YEAR_STR STRINGIZE(RUBY_RELEASE_YEAR)
18
+ #if ONLY_ONE_DIGIT(RUBY_RELEASE_MONTH)
19
+ #define RUBY_RELEASE_MONTH_STR STRINGIZE(WITH_ZERO_PADDING(RUBY_RELEASE_MONTH))
20
+ #else
21
+ #define RUBY_RELEASE_MONTH_STR STRINGIZE(RUBY_RELEASE_MONTH)
22
+ #endif
23
+ #if ONLY_ONE_DIGIT(RUBY_RELEASE_DAY)
24
+ #define RUBY_RELEASE_DAY_STR STRINGIZE(WITH_ZERO_PADDING(RUBY_RELEASE_DAY))
25
+ #else
26
+ #define RUBY_RELEASE_DAY_STR STRINGIZE(RUBY_RELEASE_DAY)
27
+ #endif
28
+
29
+ #if !defined RUBY_LIB_VERSION && defined RUBY_LIB_VERSION_STYLE
30
+ # if RUBY_LIB_VERSION_STYLE == 3
31
+ # define RUBY_LIB_VERSION STRINGIZE(RUBY_API_VERSION_MAJOR)"."STRINGIZE(RUBY_API_VERSION_MINOR)"."STRINGIZE(RUBY_API_VERSION_TEENY)
32
+ # elif RUBY_LIB_VERSION_STYLE == 2
33
+ # define RUBY_LIB_VERSION STRINGIZE(RUBY_API_VERSION_MAJOR)"."STRINGIZE(RUBY_API_VERSION_MINOR)
34
+ # endif
35
+ #endif
36
+
37
+ #if RUBY_PATCHLEVEL == -1
38
+ #define RUBY_PATCHLEVEL_STR "dev"
39
+ #else
40
+ #define RUBY_PATCHLEVEL_STR "p"STRINGIZE(RUBY_PATCHLEVEL)
41
+ #endif
42
+
43
+ #ifndef RUBY_REVISION
44
+ # include "revision.h"
45
+ #endif
46
+ #ifndef RUBY_REVISION
47
+ # define RUBY_REVISION 0
48
+ #endif
49
+
50
+ #if RUBY_REVISION
51
+ # if RUBY_PATCHLEVEL == -1
52
+ # ifndef RUBY_BRANCH_NAME
53
+ # define RUBY_BRANCH_NAME "trunk"
54
+ # endif
55
+ # define RUBY_REVISION_STR " "RUBY_BRANCH_NAME" "STRINGIZE(RUBY_REVISION)
56
+ # else
57
+ # define RUBY_REVISION_STR " revision "STRINGIZE(RUBY_REVISION)
58
+ # endif
59
+ #else
60
+ # define RUBY_REVISION_STR ""
61
+ #endif
62
+
63
+ # define RUBY_DESCRIPTION \
64
+ "ruby "RUBY_VERSION \
65
+ RUBY_PATCHLEVEL_STR \
66
+ " ("RUBY_RELEASE_DATE \
67
+ RUBY_REVISION_STR") " \
68
+ "["RUBY_PLATFORM"]"
69
+ # define RUBY_COPYRIGHT \
70
+ "ruby - Copyright (C) " \
71
+ RUBY_BIRTH_YEAR_STR"-" \
72
+ RUBY_RELEASE_YEAR_STR" " \
73
+ RUBY_AUTHOR
@@ -1214,7 +1214,7 @@ INSN_ENTRY(checkmatch){START_OF_ORIGINAL_INSN(checkmatch);
1214
1214
  INSN_ENTRY(checkkeyword){START_OF_ORIGINAL_INSN(checkkeyword);
1215
1215
  {
1216
1216
  VALUE ret;
1217
- rb_num_t keyword_index = (rb_num_t)GET_OPERAND(2);
1217
+ lindex_t keyword_index = (lindex_t)GET_OPERAND(2);
1218
1218
  lindex_t kw_bits_index = (lindex_t)GET_OPERAND(1);
1219
1219
 
1220
1220
  DEBUG_ENTER_INSN("checkkeyword");
@@ -1239,21 +1239,21 @@ INSN_ENTRY(checkkeyword){START_OF_ORIGINAL_INSN(checkkeyword);
1239
1239
  #undef INSN_LABEL
1240
1240
  #undef LABEL_IS_SC
1241
1241
  END_INSN(checkkeyword);}}}
1242
- INSN_ENTRY(tracebranch){START_OF_ORIGINAL_INSN(tracebranch);
1242
+ INSN_ENTRY(tracecoverage){START_OF_ORIGINAL_INSN(tracecoverage);
1243
1243
  {
1244
1244
  VALUE data = (VALUE)GET_OPERAND(2);
1245
1245
  rb_num_t nf = (rb_num_t)GET_OPERAND(1);
1246
1246
 
1247
- DEBUG_ENTER_INSN("tracebranch");
1247
+ DEBUG_ENTER_INSN("tracecoverage");
1248
1248
  ADD_PC(1+2);
1249
1249
  PREFETCH(GET_PC());
1250
- #define CURRENT_INSN_tracebranch 1
1250
+ #define CURRENT_INSN_tracecoverage 1
1251
1251
  #define INSN_IS_SC() 0
1252
- #define INSN_LABEL(lab) LABEL_tracebranch_##lab
1252
+ #define INSN_LABEL(lab) LABEL_tracecoverage_##lab
1253
1253
  #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1254
- COLLECT_USAGE_INSN(BIN(tracebranch));
1255
- COLLECT_USAGE_OPERAND(BIN(tracebranch), 0, nf);
1256
- COLLECT_USAGE_OPERAND(BIN(tracebranch), 1, data);
1254
+ COLLECT_USAGE_INSN(BIN(tracecoverage));
1255
+ COLLECT_USAGE_OPERAND(BIN(tracecoverage), 0, nf);
1256
+ COLLECT_USAGE_OPERAND(BIN(tracecoverage), 1, data);
1257
1257
  {
1258
1258
  #line 790 "insns.def"
1259
1259
  rb_event_flag_t flag = (rb_event_flag_t)nf;
@@ -1262,11 +1262,11 @@ INSN_ENTRY(tracebranch){START_OF_ORIGINAL_INSN(tracebranch);
1262
1262
  EXEC_EVENT_HOOK(ec, flag, GET_SELF(), 0, 0, 0 /* id and klass are resolved at callee */, data);
1263
1263
 
1264
1264
  #line 1265 "vm.inc"
1265
- #undef CURRENT_INSN_tracebranch
1265
+ #undef CURRENT_INSN_tracecoverage
1266
1266
  #undef INSN_IS_SC
1267
1267
  #undef INSN_LABEL
1268
1268
  #undef LABEL_IS_SC
1269
- END_INSN(tracebranch);}}}
1269
+ END_INSN(tracecoverage);}}}
1270
1270
  INSN_ENTRY(defineclass){START_OF_ORIGINAL_INSN(defineclass);
1271
1271
  {
1272
1272
  VALUE val;
@@ -3294,13 +3294,13 @@ INSN_ENTRY(trace_checkkeyword){
3294
3294
  DISPATCH_ORIGINAL_INSN(checkkeyword);
3295
3295
 
3296
3296
  END_INSN(trace_checkkeyword);}}}
3297
- INSN_ENTRY(trace_tracebranch){
3297
+ INSN_ENTRY(trace_tracecoverage){
3298
3298
  {
3299
3299
  {
3300
3300
  vm_trace(ec, GET_CFP(), GET_PC());
3301
- DISPATCH_ORIGINAL_INSN(tracebranch);
3301
+ DISPATCH_ORIGINAL_INSN(tracecoverage);
3302
3302
 
3303
- END_INSN(trace_tracebranch);}}}
3303
+ END_INSN(trace_tracecoverage);}}}
3304
3304
  INSN_ENTRY(trace_defineclass){
3305
3305
  {
3306
3306
  {
@@ -2,7 +2,7 @@
2
2
 
3
3
  vm_core.h -
4
4
 
5
- $Author: ko1 $
5
+ $Author: naruse $
6
6
  created at: 04/01/01 19:41:38 JST
7
7
 
8
8
  Copyright (C) 2004-2007 Koichi Sasada
@@ -1561,8 +1561,6 @@ void rb_vm_register_special_exception_str(enum ruby_special_exceptions sp, VALUE
1561
1561
 
1562
1562
  void rb_gc_mark_machine_stack(const rb_execution_context_t *ec);
1563
1563
 
1564
- int rb_autoloading_value(VALUE mod, ID id, VALUE* value);
1565
-
1566
1564
  void rb_vm_rewrite_cref(rb_cref_t *node, VALUE old_klass, VALUE new_klass, rb_cref_t **new_cref_ptr);
1567
1565
 
1568
1566
  const rb_callable_method_entry_t *rb_vm_frame_method_entry(const rb_control_frame_t *cfp);
@@ -1755,7 +1753,8 @@ RUBY_SYMBOL_EXPORT_BEGIN
1755
1753
  int rb_thread_check_trap_pending(void);
1756
1754
 
1757
1755
  /* #define RUBY_EVENT_RESERVED_FOR_INTERNAL_USE 0x030000 */ /* from vm_core.h */
1758
- #define RUBY_EVENT_COVERAGE_BRANCH 0x010000
1756
+ #define RUBY_EVENT_COVERAGE_LINE 0x010000
1757
+ #define RUBY_EVENT_COVERAGE_BRANCH 0x020000
1759
1758
 
1760
1759
  extern VALUE rb_get_coverages(void);
1761
1760
  extern void rb_set_coverages(VALUE, int, VALUE);
@@ -3,7 +3,7 @@
3
3
 
4
4
  vm_opts.h - VM optimize option
5
5
 
6
- $Author: nobu $
6
+ $Author: ko1 $
7
7
 
8
8
  Copyright (C) 2004-2007 Koichi Sasada
9
9
 
@@ -18,7 +18,6 @@
18
18
  * Following definitions are default values.
19
19
  */
20
20
 
21
- #define OPT_TRACE_INSTRUCTION 1
22
21
  #define OPT_TAILCALL_OPTIMIZATION 0
23
22
  #define OPT_PEEPHOLE_OPTIMIZATION 1
24
23
  #define OPT_SPECIALISED_INSTRUCTION 1
@@ -58,7 +58,7 @@ static const void *const insns_address_table[] = {
58
58
  LABEL_PTR(defined),
59
59
  LABEL_PTR(checkmatch),
60
60
  LABEL_PTR(checkkeyword),
61
- LABEL_PTR(tracebranch),
61
+ LABEL_PTR(tracecoverage),
62
62
  LABEL_PTR(defineclass),
63
63
  LABEL_PTR(send),
64
64
  LABEL_PTR(opt_str_freeze),
@@ -156,7 +156,7 @@ static const void *const insns_address_table[] = {
156
156
  LABEL_PTR(trace_defined),
157
157
  LABEL_PTR(trace_checkmatch),
158
158
  LABEL_PTR(trace_checkkeyword),
159
- LABEL_PTR(trace_tracebranch),
159
+ LABEL_PTR(trace_tracecoverage),
160
160
  LABEL_PTR(trace_defineclass),
161
161
  LABEL_PTR(trace_send),
162
162
  LABEL_PTR(trace_opt_str_freeze),
@@ -11,7 +11,7 @@
11
11
  #ifndef RUBY_ADDR2LINE_H
12
12
  #define RUBY_ADDR2LINE_H
13
13
 
14
- #ifdef USE_ELF
14
+ #if (defined(USE_ELF) || defined(HAVE_MACH_O_LOADER_H))
15
15
 
16
16
  void
17
17
  rb_dump_backtrace_with_lines(int num_traces, void **traces);
@@ -57,7 +57,7 @@ struct list_head
57
57
  * Example:
58
58
  * static struct list_head my_list = LIST_HEAD_INIT(my_list);
59
59
  */
60
- #define LIST_HEAD_INIT(name) { { &name.n, &name.n } }
60
+ #define LIST_HEAD_INIT(name) { { &(name).n, &(name).n } }
61
61
 
62
62
  /**
63
63
  * LIST_HEAD - define and initialize an empty list_head
@@ -237,6 +237,21 @@ static inline int list_empty_nodebug(const struct list_head *h)
237
237
  }
238
238
  #endif
239
239
 
240
+ /**
241
+ * list_empty_nocheck - is a list empty?
242
+ * @h: the list_head
243
+ *
244
+ * If the list is empty, returns true. This doesn't perform any
245
+ * debug check for list consistency, so it can be called without
246
+ * locks, racing with the list being modified. This is ok for
247
+ * checks where an incorrect result is not an issue (optimized
248
+ * bail out path for example).
249
+ */
250
+ static inline bool list_empty_nocheck(const struct list_head *h)
251
+ {
252
+ return h->n.next == &h->n;
253
+ }
254
+
240
255
  /**
241
256
  * list_del - delete an entry from an (unknown) linked list.
242
257
  * @n: the list_node to delete from the list.
@@ -647,12 +662,12 @@ static inline void list_prepend_list_(struct list_head *to,
647
662
  * so you can break and continue as normal.
648
663
  *
649
664
  * WARNING! Being the low-level macro that it is, this wrapper doesn't know
650
- * nor care about the type of @i. The only assumtion made is that @i points
665
+ * nor care about the type of @i. The only assumption made is that @i points
651
666
  * to a chunk of memory that at some @offset, relative to @i, contains a
652
- * properly filled `struct node_list' which in turn contains pointers to
653
- * memory chunks and it's turtles all the way down. Whith all that in mind
667
+ * properly filled `struct list_node' which in turn contains pointers to
668
+ * memory chunks and it's turtles all the way down. With all that in mind
654
669
  * remember that given the wrong pointer/offset couple this macro will
655
- * happilly churn all you memory untill SEGFAULT stops it, in other words
670
+ * happily churn all you memory until SEGFAULT stops it, in other words
656
671
  * caveat emptor.
657
672
  *
658
673
  * It is worth mentioning that one of legitimate use-cases for that wrapper
@@ -46,5 +46,6 @@ int rb_public_const_defined(VALUE klass, ID id);
46
46
  int rb_public_const_defined_at(VALUE klass, ID id);
47
47
  int rb_public_const_defined_from(VALUE klass, ID id);
48
48
  rb_const_entry_t *rb_const_lookup(VALUE klass, ID id);
49
+ int rb_autoloading_value(VALUE mod, ID id, VALUE *value, rb_const_flag_t *flag);
49
50
 
50
51
  #endif /* CONSTANT_H */
@@ -0,0 +1,283 @@
1
+ /**********************************************************************
2
+
3
+ debug_counter.h -
4
+
5
+ created at: Tue Feb 21 16:51:18 2017
6
+
7
+ Copyright (C) 2017 Koichi Sasada
8
+
9
+ **********************************************************************/
10
+
11
+ #ifndef USE_DEBUG_COUNTER
12
+ #define USE_DEBUG_COUNTER 0
13
+ #endif
14
+
15
+ #ifdef RB_DEBUG_COUNTER
16
+
17
+ /*
18
+ * method cache (mc) counts.
19
+ *
20
+ * * mc_inline_hit/miss: inline mc hit/miss counts (VM send insn)
21
+ * * mc_global_hit/miss: global method cache hit/miss counts
22
+ * two types: (1) inline cache miss (VM send insn)
23
+ * (2) called from C (rb_funcall).
24
+ * * mc_global_state_miss: inline mc miss by global_state miss.
25
+ * * mc_class_serial_miss: ... by mc_class_serial_miss
26
+ * * mc_cme_complement: cme complement counts.
27
+ * * mc_cme_complement_hit: cme cache hit counts.
28
+ * * mc_search_super: search_method() call counts.
29
+ */
30
+ RB_DEBUG_COUNTER(mc_inline_hit)
31
+ RB_DEBUG_COUNTER(mc_inline_miss)
32
+ RB_DEBUG_COUNTER(mc_global_hit)
33
+ RB_DEBUG_COUNTER(mc_global_miss)
34
+ RB_DEBUG_COUNTER(mc_global_state_miss)
35
+ RB_DEBUG_COUNTER(mc_class_serial_miss)
36
+ RB_DEBUG_COUNTER(mc_cme_complement)
37
+ RB_DEBUG_COUNTER(mc_cme_complement_hit)
38
+ RB_DEBUG_COUNTER(mc_search_super)
39
+
40
+ /*
41
+ * control frame push counts.
42
+ *
43
+ * * frame_push: frame push counts.
44
+ * * frame_push_*: frame push counts per each type.
45
+ * * frame_R2R: Ruby frame to Ruby frame
46
+ * * frame_R2C: Ruby frame to C frame
47
+ * * frame_C2C: C frame to C frame
48
+ * * frame_C2R: C frame to Ruby frame
49
+ */
50
+ RB_DEBUG_COUNTER(frame_push)
51
+ RB_DEBUG_COUNTER(frame_push_method)
52
+ RB_DEBUG_COUNTER(frame_push_block)
53
+ RB_DEBUG_COUNTER(frame_push_class)
54
+ RB_DEBUG_COUNTER(frame_push_top)
55
+ RB_DEBUG_COUNTER(frame_push_cfunc)
56
+ RB_DEBUG_COUNTER(frame_push_ifunc)
57
+ RB_DEBUG_COUNTER(frame_push_eval)
58
+ RB_DEBUG_COUNTER(frame_push_rescue)
59
+ RB_DEBUG_COUNTER(frame_push_dummy)
60
+
61
+ RB_DEBUG_COUNTER(frame_R2R)
62
+ RB_DEBUG_COUNTER(frame_R2C)
63
+ RB_DEBUG_COUNTER(frame_C2C)
64
+ RB_DEBUG_COUNTER(frame_C2R)
65
+
66
+ /* instance variable counts
67
+ *
68
+ * * ivar_get_ic_hit/miss: ivar_get inline cache (ic) hit/miss counts (VM insn)
69
+ * * ivar_get_ic_miss_serial: ivar_get ic miss reason by serial (VM insn)
70
+ * * ivar_get_ic_miss_unset: ... by unset (VM insn)
71
+ * * ivar_get_ic_miss_noobject: ... by "not T_OBJECT" (VM insn)
72
+ * * ivar_set_...: same counts with ivar_set (VM insn)
73
+ * * ivar_get/set_base: call counts of "rb_ivar_get/set()".
74
+ * because of (1) ic miss.
75
+ * (2) direct call by C extensions.
76
+ */
77
+ RB_DEBUG_COUNTER(ivar_get_ic_hit)
78
+ RB_DEBUG_COUNTER(ivar_get_ic_miss)
79
+ RB_DEBUG_COUNTER(ivar_get_ic_miss_serial)
80
+ RB_DEBUG_COUNTER(ivar_get_ic_miss_unset)
81
+ RB_DEBUG_COUNTER(ivar_get_ic_miss_noobject)
82
+ RB_DEBUG_COUNTER(ivar_set_ic_hit)
83
+ RB_DEBUG_COUNTER(ivar_set_ic_miss)
84
+ RB_DEBUG_COUNTER(ivar_set_ic_miss_serial)
85
+ RB_DEBUG_COUNTER(ivar_set_ic_miss_unset)
86
+ RB_DEBUG_COUNTER(ivar_set_ic_miss_oorange)
87
+ RB_DEBUG_COUNTER(ivar_set_ic_miss_noobject)
88
+ RB_DEBUG_COUNTER(ivar_get_base)
89
+ RB_DEBUG_COUNTER(ivar_set_base)
90
+
91
+ /* local variable counts
92
+ *
93
+ * * lvar_get: total lvar get counts (VM insn)
94
+ * * lvar_get_dynamic: lvar get counts if accessing upper env (VM insn)
95
+ * * lvar_set*: same as "get"
96
+ * * lvar_set_slowpath: counts using vm_env_write_slowpath()
97
+ */
98
+ RB_DEBUG_COUNTER(lvar_get)
99
+ RB_DEBUG_COUNTER(lvar_get_dynamic)
100
+ RB_DEBUG_COUNTER(lvar_set)
101
+ RB_DEBUG_COUNTER(lvar_set_dynamic)
102
+ RB_DEBUG_COUNTER(lvar_set_slowpath)
103
+
104
+ /* GC counts:
105
+ *
106
+ * * count: simple count
107
+ * * _minor: minor gc
108
+ * * _major: major gc
109
+ * * other suffix is corresponding to last_gc_info or
110
+ * gc_profile_record_flag in gc.c.
111
+ */
112
+ RB_DEBUG_COUNTER(gc_count)
113
+ RB_DEBUG_COUNTER(gc_minor_newobj)
114
+ RB_DEBUG_COUNTER(gc_minor_malloc)
115
+ RB_DEBUG_COUNTER(gc_minor_method)
116
+ RB_DEBUG_COUNTER(gc_minor_capi)
117
+ RB_DEBUG_COUNTER(gc_minor_stress)
118
+ RB_DEBUG_COUNTER(gc_major_nofree)
119
+ RB_DEBUG_COUNTER(gc_major_oldgen)
120
+ RB_DEBUG_COUNTER(gc_major_shady)
121
+ RB_DEBUG_COUNTER(gc_major_force)
122
+ RB_DEBUG_COUNTER(gc_major_oldmalloc)
123
+
124
+ /* object allocation counts:
125
+ *
126
+ * * obj_newobj: newobj counts
127
+ * * obj_newobj_slowpath: newobj with slowpath counts
128
+ * * obj_newobj_wb_unprotected: newobj for wb_unprotecte.
129
+ * * obj_free: obj_free() counts
130
+ * * obj_promote: promoted counts (oldgen)
131
+ * * obj_wb_unprotect: wb unprotect counts
132
+ *
133
+ * * obj_[type]_[attr]: *free'ed counts* for each type.
134
+ * Note that it is not a allocated counts.
135
+ * * [type]
136
+ * * _obj: T_OBJECT
137
+ * * _str: T_STRING
138
+ * * _ary: T_ARRAY
139
+ * * _xxx: T_XXX (hash, struct, ...)
140
+ *
141
+ * * [attr]
142
+ * * _ptr: R?? is not embed.
143
+ * * _embed: R?? is embed.
144
+ * * _transient: R?? uses transient heap.
145
+ * * type specific attr.
146
+ * * str_shared: str is shared.
147
+ * * str_nofree: nofree
148
+ * * str_fstr: fstr
149
+ * * hash_empty: hash is empty
150
+ * * hash_under4: has under 4 entries
151
+ * * hash_ge4: has n entries (4<=n<8)
152
+ * * hash_ge8: has n entries (8<=n)
153
+ * * data_empty: T_DATA but no memory free.
154
+ * * data_xfree: free'ed by xfree().
155
+ * * data_imm_free: free'ed immediately.
156
+ * * data_zombie: free'ed with zombie.
157
+ * * imemo_*: T_IMEMO with each type.
158
+ */
159
+ RB_DEBUG_COUNTER(obj_newobj)
160
+ RB_DEBUG_COUNTER(obj_newobj_slowpath)
161
+ RB_DEBUG_COUNTER(obj_newobj_wb_unprotected)
162
+ RB_DEBUG_COUNTER(obj_free)
163
+ RB_DEBUG_COUNTER(obj_promote)
164
+ RB_DEBUG_COUNTER(obj_wb_unprotect)
165
+
166
+ RB_DEBUG_COUNTER(obj_obj_embed)
167
+ RB_DEBUG_COUNTER(obj_obj_transient)
168
+ RB_DEBUG_COUNTER(obj_obj_ptr)
169
+
170
+ RB_DEBUG_COUNTER(obj_str_ptr)
171
+ RB_DEBUG_COUNTER(obj_str_embed)
172
+ RB_DEBUG_COUNTER(obj_str_shared)
173
+ RB_DEBUG_COUNTER(obj_str_nofree)
174
+ RB_DEBUG_COUNTER(obj_str_fstr)
175
+
176
+ RB_DEBUG_COUNTER(obj_ary_embed)
177
+ RB_DEBUG_COUNTER(obj_ary_transient)
178
+ RB_DEBUG_COUNTER(obj_ary_ptr)
179
+
180
+ RB_DEBUG_COUNTER(obj_hash_empty)
181
+ RB_DEBUG_COUNTER(obj_hash_under4)
182
+ RB_DEBUG_COUNTER(obj_hash_ge4)
183
+ RB_DEBUG_COUNTER(obj_hash_ge8)
184
+ RB_DEBUG_COUNTER(obj_hash_ar)
185
+ RB_DEBUG_COUNTER(obj_hash_st)
186
+ RB_DEBUG_COUNTER(obj_hash_transient)
187
+
188
+ RB_DEBUG_COUNTER(obj_hash_force_convert)
189
+
190
+ RB_DEBUG_COUNTER(obj_struct_embed)
191
+ RB_DEBUG_COUNTER(obj_struct_transient)
192
+ RB_DEBUG_COUNTER(obj_struct_ptr)
193
+
194
+ RB_DEBUG_COUNTER(obj_regexp_ptr)
195
+
196
+ RB_DEBUG_COUNTER(obj_data_empty)
197
+ RB_DEBUG_COUNTER(obj_data_xfree)
198
+ RB_DEBUG_COUNTER(obj_data_imm_free)
199
+ RB_DEBUG_COUNTER(obj_data_zombie)
200
+
201
+ RB_DEBUG_COUNTER(obj_match_ptr)
202
+ RB_DEBUG_COUNTER(obj_file_ptr)
203
+ RB_DEBUG_COUNTER(obj_bignum_ptr)
204
+
205
+ RB_DEBUG_COUNTER(obj_symbol)
206
+
207
+ RB_DEBUG_COUNTER(obj_imemo_ment)
208
+ RB_DEBUG_COUNTER(obj_imemo_iseq)
209
+ RB_DEBUG_COUNTER(obj_imemo_env)
210
+ RB_DEBUG_COUNTER(obj_imemo_tmpbuf)
211
+ RB_DEBUG_COUNTER(obj_imemo_ast)
212
+ RB_DEBUG_COUNTER(obj_imemo_cref)
213
+ RB_DEBUG_COUNTER(obj_imemo_svar)
214
+ RB_DEBUG_COUNTER(obj_imemo_throw_data)
215
+ RB_DEBUG_COUNTER(obj_imemo_ifunc)
216
+ RB_DEBUG_COUNTER(obj_imemo_memo)
217
+ RB_DEBUG_COUNTER(obj_imemo_parser_strterm)
218
+
219
+ RB_DEBUG_COUNTER(obj_iclass_ptr)
220
+ RB_DEBUG_COUNTER(obj_class_ptr)
221
+ RB_DEBUG_COUNTER(obj_module_ptr)
222
+
223
+ /* heap function counts
224
+ *
225
+ * * heap_xmalloc/realloc/xfree: call counts
226
+ */
227
+ RB_DEBUG_COUNTER(heap_xmalloc)
228
+ RB_DEBUG_COUNTER(heap_xrealloc)
229
+ RB_DEBUG_COUNTER(heap_xfree)
230
+
231
+ /* transient_heap */
232
+ RB_DEBUG_COUNTER(theap_alloc)
233
+ RB_DEBUG_COUNTER(theap_alloc_fail)
234
+ RB_DEBUG_COUNTER(theap_evacuate)
235
+
236
+ /* load (not implemented yet) */
237
+ /*
238
+ RB_DEBUG_COUNTER(load_files)
239
+ RB_DEBUG_COUNTER(load_path_is_not_realpath)
240
+ */
241
+ #endif
242
+
243
+ #ifndef RUBY_DEBUG_COUNTER_H
244
+ #define RUBY_DEBUG_COUNTER_H 1
245
+
246
+ #if !defined(__GNUC__) && USE_DEBUG_COUNTER
247
+ #error "USE_DEBUG_COUNTER is not supported by other than __GNUC__"
248
+ #endif
249
+
250
+ enum rb_debug_counter_type {
251
+ #define RB_DEBUG_COUNTER(name) RB_DEBUG_COUNTER_##name,
252
+ #include __FILE__
253
+ RB_DEBUG_COUNTER_MAX
254
+ #undef RB_DEBUG_COUNTER
255
+ };
256
+
257
+ #if USE_DEBUG_COUNTER
258
+ #include "ruby/ruby.h"
259
+
260
+ extern size_t rb_debug_counter[];
261
+
262
+ inline static int
263
+ rb_debug_counter_add(enum rb_debug_counter_type type, int add, int cond)
264
+ {
265
+ if (cond) {
266
+ rb_debug_counter[(int)type] += add;
267
+ }
268
+ return cond;
269
+ }
270
+
271
+ #define RB_DEBUG_COUNTER_INC(type) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, 1)
272
+ #define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (!rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, !(cond)))
273
+ #define RB_DEBUG_COUNTER_INC_IF(type, cond) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, (cond))
274
+
275
+ #else
276
+ #define RB_DEBUG_COUNTER_INC(type) ((void)0)
277
+ #define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (cond)
278
+ #define RB_DEBUG_COUNTER_INC_IF(type, cond) (cond)
279
+ #endif
280
+
281
+ void rb_debug_counter_show_results(const char *msg);
282
+
283
+ #endif /* RUBY_DEBUG_COUNTER_H */