debase-ruby_core_source 3.3.6 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/CHANGELOG.md +6 -0
  4. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/builtin.h +7 -1
  5. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/darray.h +1 -3
  6. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/id.h +5 -0
  7. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/insns.inc +2 -0
  8. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/insns_info.inc +310 -175
  9. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/basic_operators.h +1 -0
  10. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/bits.h +82 -0
  11. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/encoding.h +2 -0
  12. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/error.h +26 -0
  13. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/fixnum.h +1 -0
  14. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/gc.h +14 -6
  15. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/imemo.h +6 -1
  16. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/io.h +1 -1
  17. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/parse.h +2 -1
  18. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/proc.h +1 -0
  19. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/ractor.h +4 -0
  20. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/sanitizers.h +31 -39
  21. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/string.h +22 -10
  22. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/thread.h +23 -0
  23. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/vm.h +1 -1
  24. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/method.h +1 -0
  25. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/optunifs.inc +1 -1
  26. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/parse.h +2 -2
  27. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/ast.h +427 -3
  28. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/defines.h +8 -7
  29. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/diagnostic.h +1 -0
  30. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/extension.h +1 -1
  31. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/prism.h +47 -11
  32. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/version.h +2 -2
  33. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism_compile.h +5 -5
  34. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/ractor_core.h +6 -6
  35. data/lib/debase/ruby_core_source/ruby-3.4.0/revision.h +5 -0
  36. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/rubyparser.h +3 -2
  37. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/thread_pthread.h +0 -1
  38. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/version.h +1 -1
  39. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm.inc +151 -88
  40. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_core.h +40 -12
  41. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_sync.h +3 -3
  42. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vmtc.inc +2 -0
  43. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/yjit.h +1 -0
  44. data/lib/debase/ruby_core_source/version.rb +1 -1
  45. metadata +147 -293
  46. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  47. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  48. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  49. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/id.h +0 -343
  50. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  51. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  52. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/array.h +0 -151
  53. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/basic_operators.h +0 -63
  54. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/bits.h +0 -568
  55. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +0 -283
  56. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/error.h +0 -216
  57. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/fixnum.h +0 -184
  58. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/gc.h +0 -334
  59. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/hash.h +0 -191
  60. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/imemo.h +0 -260
  61. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/io.h +0 -140
  62. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/parse.h +0 -117
  63. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/ractor.h +0 -6
  64. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/sanitizers.h +0 -297
  65. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/string.h +0 -182
  66. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/thread.h +0 -79
  67. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/vm.h +0 -137
  68. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  69. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/method.h +0 -255
  70. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  71. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  72. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/ast.h +0 -6245
  73. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/defines.h +0 -206
  74. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/diagnostic.h +0 -433
  75. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/extension.h +0 -19
  76. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/node.h +0 -150
  77. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/options.h +0 -305
  78. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/parser.h +0 -891
  79. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  80. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/static_literals.h +0 -120
  81. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_char.h +0 -205
  82. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_constant_pool.h +0 -226
  83. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_integer.h +0 -119
  84. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_newline_list.h +0 -102
  85. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string.h +0 -174
  86. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  87. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/version.h +0 -29
  88. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism_compile.h +0 -88
  89. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ractor_core.h +0 -393
  90. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  91. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  92. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/rubyparser.h +0 -1430
  93. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/shape.h +0 -233
  94. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  95. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/thread_pthread.h +0 -166
  96. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  97. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  98. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  99. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_core.h +0 -2236
  100. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  101. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  102. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  103. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  104. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  105. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/build_assert/build_assert.h +0 -40
  106. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/check_type/check_type.h +0 -63
  107. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/container_of/container_of.h +0 -142
  108. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/list/list.h +0 -791
  109. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/str/str.h +0 -17
  110. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  111. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  112. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  113. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  114. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/id_table.h +0 -39
  115. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/bignum.h +0 -244
  116. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/cmdlineopt.h +0 -65
  117. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compar.h +0 -29
  118. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compile.h +0 -34
  119. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compilers.h +0 -107
  120. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/complex.h +0 -29
  121. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/cont.h +0 -35
  122. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/dir.h +0 -16
  123. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enc.h +0 -19
  124. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +0 -36
  125. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enum.h +0 -18
  126. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enumerator.h +0 -21
  127. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/eval.h +0 -33
  128. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/file.h +0 -38
  129. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/inits.h +0 -47
  130. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/load.h +0 -18
  131. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/loadpath.h +0 -16
  132. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/math.h +0 -23
  133. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/missing.h +0 -19
  134. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/numeric.h +0 -274
  135. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/object.h +0 -63
  136. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/proc.h +0 -30
  137. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/process.h +0 -124
  138. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/random.h +0 -17
  139. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/range.h +0 -40
  140. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/rational.h +0 -71
  141. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/re.h +0 -28
  142. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/ruby_parser.h +0 -102
  143. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/serial.h +0 -23
  144. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/signal.h +0 -24
  145. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/st.h +0 -11
  146. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/static_assert.h +0 -16
  147. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/struct.h +0 -127
  148. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/symbol.h +0 -45
  149. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/time.h +0 -34
  150. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/transcode.h +0 -23
  151. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/util.h +0 -27
  152. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/variable.h +0 -72
  153. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/warnings.h +0 -16
  154. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal.h +0 -108
  155. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/iseq.h +0 -340
  156. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/node.h +0 -111
  157. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  158. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  159. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  160. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  161. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_st.h +0 -162
  162. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_value.h +0 -106
  163. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/encoding.h +0 -283
  164. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/pack.h +0 -163
  165. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/prettyprint.h +0 -34
  166. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +0 -336
  167. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_buffer.h +0 -218
  168. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_list.h +0 -97
  169. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_memchr.h +0 -29
  170. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strncasecmp.h +0 -32
  171. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strpbrk.h +0 -46
  172. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  173. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  174. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  175. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  176. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  177. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  178. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_assert.h +0 -14
  179. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_atomic.h +0 -23
  180. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  181. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/thread_none.h +0 -21
  182. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  183. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  184. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  185. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  186. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  187. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_debug.h +0 -124
  188. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  189. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_opts.h +0 -67
  190. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  191. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/addr2line.h +0 -0
  192. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/build_assert/build_assert.h +0 -0
  193. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/check_type/check_type.h +0 -0
  194. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/container_of/container_of.h +0 -0
  195. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/list/list.h +0 -0
  196. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/str/str.h +0 -0
  197. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/constant.h +0 -0
  198. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/debug_counter.h +0 -0
  199. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/dln.h +0 -0
  200. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/encindex.h +0 -0
  201. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/eval_intern.h +0 -0
  202. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/hrtime.h +0 -0
  203. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/id_table.h +0 -0
  204. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/array.h +0 -0
  205. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/bignum.h +0 -0
  206. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/class.h +0 -0
  207. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/cmdlineopt.h +0 -0
  208. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/compar.h +0 -0
  209. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/compile.h +0 -0
  210. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/compilers.h +0 -0
  211. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/complex.h +0 -0
  212. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/cont.h +0 -0
  213. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/dir.h +0 -0
  214. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/enc.h +0 -0
  215. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/enum.h +0 -0
  216. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/enumerator.h +0 -0
  217. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/eval.h +0 -0
  218. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/file.h +0 -0
  219. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/hash.h +0 -0
  220. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/inits.h +0 -0
  221. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/load.h +0 -0
  222. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/loadpath.h +0 -0
  223. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/math.h +0 -0
  224. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/missing.h +0 -0
  225. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/numeric.h +0 -0
  226. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/object.h +0 -0
  227. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/process.h +0 -0
  228. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/random.h +0 -0
  229. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/range.h +0 -0
  230. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/rational.h +0 -0
  231. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/re.h +0 -0
  232. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/ruby_parser.h +0 -0
  233. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/serial.h +0 -0
  234. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/signal.h +0 -0
  235. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/st.h +0 -0
  236. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/static_assert.h +0 -0
  237. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/struct.h +0 -0
  238. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/symbol.h +0 -0
  239. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/time.h +0 -0
  240. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/transcode.h +0 -0
  241. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/util.h +0 -0
  242. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/variable.h +0 -0
  243. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/warnings.h +0 -0
  244. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal.h +0 -0
  245. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/iseq.h +0 -0
  246. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/known_errors.inc +0 -0
  247. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/node.h +0 -0
  248. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/node_name.inc +0 -0
  249. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/optinsn.inc +0 -0
  250. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_bits.h +0 -0
  251. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_node.h +0 -0
  252. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_st.h +0 -0
  253. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_value.h +0 -0
  254. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/encoding.h +0 -0
  255. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/node.h +0 -0
  256. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/options.h +0 -0
  257. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/pack.h +0 -0
  258. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/parser.h +0 -0
  259. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/prettyprint.h +0 -0
  260. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/regexp.h +0 -0
  261. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/static_literals.h +0 -0
  262. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_buffer.h +0 -0
  263. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_char.h +0 -0
  264. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_constant_pool.h +0 -0
  265. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_integer.h +0 -0
  266. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_list.h +0 -0
  267. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_memchr.h +0 -0
  268. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_newline_list.h +0 -0
  269. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_string.h +0 -0
  270. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_strncasecmp.h +0 -0
  271. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_strpbrk.h +0 -0
  272. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/probes_helper.h +0 -0
  273. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/regenc.h +0 -0
  274. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/regint.h +0 -0
  275. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/regparse.h +0 -0
  276. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/rjit.h +0 -0
  277. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/rjit_c.h +0 -0
  278. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ruby_assert.h +0 -0
  279. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ruby_atomic.h +0 -0
  280. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/shape.h +0 -0
  281. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/siphash.h +0 -0
  282. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/symbol.h +0 -0
  283. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/thread_none.h +0 -0
  284. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/thread_win32.h +0 -0
  285. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/timev.h +0 -0
  286. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/transcode_data.h +0 -0
  287. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/variable.h +0 -0
  288. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_call_iseq_optimized.inc +0 -0
  289. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_callinfo.h +0 -0
  290. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_debug.h +0 -0
  291. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_exec.h +0 -0
  292. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_insnhelper.h +0 -0
  293. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_opts.h +0 -0
@@ -1,191 +0,0 @@
1
- #ifndef RUBY_DARRAY_H
2
- #define RUBY_DARRAY_H
3
-
4
- #include <stdint.h>
5
- #include <stddef.h>
6
- #include <stdlib.h>
7
-
8
- #include "internal/bits.h"
9
-
10
- // Type for a dynamic array. Use to declare a dynamic array.
11
- // It is a pointer so it fits in st_table nicely. Designed
12
- // to be fairly type-safe.
13
- //
14
- // NULL is a valid empty dynamic array.
15
- //
16
- // Example:
17
- // rb_darray(char) char_array = NULL;
18
- // rb_darray_append(&char_array, 'e');
19
- // printf("pushed %c\n", *rb_darray_ref(char_array, 0));
20
- // rb_darray_free(char_array);
21
- //
22
- #define rb_darray(T) struct { rb_darray_meta_t meta; T data[]; } *
23
-
24
- // Copy an element out of the array. Warning: not bounds checked.
25
- //
26
- // T rb_darray_get(rb_darray(T) ary, size_t idx);
27
- //
28
- #define rb_darray_get(ary, idx) ((ary)->data[(idx)])
29
-
30
- // Assign to an element. Warning: not bounds checked.
31
- //
32
- // void rb_darray_set(rb_darray(T) ary, size_t idx, T element);
33
- //
34
- #define rb_darray_set(ary, idx, element) ((ary)->data[(idx)] = (element))
35
-
36
- // Get a pointer to an element. Warning: not bounds checked.
37
- //
38
- // T *rb_darray_ref(rb_darray(T) ary, size_t idx);
39
- //
40
- #define rb_darray_ref(ary, idx) (&((ary)->data[(idx)]))
41
-
42
- /* Copy a new element into the array. ptr_to_ary is evaluated multiple times.
43
- *
44
- * void rb_darray_append(rb_darray(T) *ptr_to_ary, T element);
45
- */
46
- #define rb_darray_append(ptr_to_ary, element) \
47
- rb_darray_append_impl(ptr_to_ary, element)
48
-
49
- #define rb_darray_append_impl(ptr_to_ary, element) do { \
50
- rb_darray_ensure_space((ptr_to_ary), \
51
- sizeof(**(ptr_to_ary)), \
52
- sizeof((*(ptr_to_ary))->data[0])); \
53
- rb_darray_set(*(ptr_to_ary), \
54
- (*(ptr_to_ary))->meta.size, \
55
- (element)); \
56
- (*(ptr_to_ary))->meta.size++; \
57
- } while (0)
58
-
59
- // Iterate over items of the array in a for loop
60
- //
61
- #define rb_darray_foreach(ary, idx_name, elem_ptr_var) \
62
- for (size_t idx_name = 0; idx_name < rb_darray_size(ary) && ((elem_ptr_var) = rb_darray_ref(ary, idx_name)); ++idx_name)
63
-
64
- // Iterate over valid indices in the array in a for loop
65
- //
66
- #define rb_darray_for(ary, idx_name) \
67
- for (size_t idx_name = 0; idx_name < rb_darray_size(ary); ++idx_name)
68
-
69
- /* Make a dynamic array of a certain size. All bytes backing the elements are set to zero.
70
- * Return 1 on success and 0 on failure.
71
- *
72
- * Note that NULL is a valid empty dynamic array.
73
- *
74
- * void rb_darray_make(rb_darray(T) *ptr_to_ary, size_t size);
75
- */
76
- #define rb_darray_make(ptr_to_ary, size) \
77
- rb_darray_make_impl((ptr_to_ary), size, sizeof(**(ptr_to_ary)), sizeof((*(ptr_to_ary))->data[0]))
78
-
79
- /* Resize the darray to a new capacity. The new capacity must be greater than
80
- * or equal to the size of the darray.
81
- *
82
- * void rb_darray_resize_capa(rb_darray(T) *ptr_to_ary, size_t capa);
83
- */
84
- #define rb_darray_resize_capa(ptr_to_ary, capa) \
85
- rb_darray_resize_capa_impl((ptr_to_ary), capa, sizeof(**(ptr_to_ary)), sizeof((*(ptr_to_ary))->data[0]))
86
-
87
- #define rb_darray_data_ptr(ary) ((ary)->data)
88
-
89
- typedef struct rb_darray_meta {
90
- size_t size;
91
- size_t capa;
92
- } rb_darray_meta_t;
93
-
94
- /* Set the size of the array to zero without freeing the backing memory.
95
- * Allows reusing the same array. */
96
- static inline void
97
- rb_darray_clear(void *ary)
98
- {
99
- rb_darray_meta_t *meta = ary;
100
- if (meta) {
101
- meta->size = 0;
102
- }
103
- }
104
-
105
- // Get the size of the dynamic array.
106
- //
107
- static inline size_t
108
- rb_darray_size(const void *ary)
109
- {
110
- const rb_darray_meta_t *meta = ary;
111
- return meta ? meta->size : 0;
112
- }
113
-
114
- // Get the capacity of the dynamic array.
115
- //
116
- static inline size_t
117
- rb_darray_capa(const void *ary)
118
- {
119
- const rb_darray_meta_t *meta = ary;
120
- return meta ? meta->capa : 0;
121
- }
122
-
123
- /* Free the dynamic array. */
124
- static inline void
125
- rb_darray_free(void *ary)
126
- {
127
- xfree(ary);
128
- }
129
-
130
- /* Internal function. Resizes the capacity of a darray. The new capacity must
131
- * be greater than or equal to the size of the darray. */
132
- static inline void
133
- rb_darray_resize_capa_impl(void *ptr_to_ary, size_t new_capa, size_t header_size, size_t element_size)
134
- {
135
- rb_darray_meta_t **ptr_to_ptr_to_meta = ptr_to_ary;
136
- rb_darray_meta_t *meta = *ptr_to_ptr_to_meta;
137
-
138
- rb_darray_meta_t *new_ary = xrealloc(meta, new_capa * element_size + header_size);
139
-
140
- if (meta == NULL) {
141
- /* First allocation. Initialize size. On subsequence allocations
142
- * realloc takes care of carrying over the size. */
143
- new_ary->size = 0;
144
- }
145
-
146
- RUBY_ASSERT(new_ary->size <= new_capa);
147
-
148
- new_ary->capa = new_capa;
149
-
150
- // We don't have access to the type of the dynamic array in function context.
151
- // Write out result with memcpy to avoid strict aliasing issue.
152
- memcpy(ptr_to_ary, &new_ary, sizeof(new_ary));
153
- }
154
-
155
- // Internal function
156
- // Ensure there is space for one more element.
157
- // Note: header_size can be bigger than sizeof(rb_darray_meta_t) when T is __int128_t, for example.
158
- static inline void
159
- rb_darray_ensure_space(void *ptr_to_ary, size_t header_size, size_t element_size)
160
- {
161
- rb_darray_meta_t **ptr_to_ptr_to_meta = ptr_to_ary;
162
- rb_darray_meta_t *meta = *ptr_to_ptr_to_meta;
163
- size_t current_capa = rb_darray_capa(meta);
164
- if (rb_darray_size(meta) < current_capa) return;
165
-
166
- // Double the capacity
167
- size_t new_capa = current_capa == 0 ? 1 : current_capa * 2;
168
-
169
- rb_darray_resize_capa_impl(ptr_to_ary, new_capa, header_size, element_size);
170
- }
171
-
172
- static inline void
173
- rb_darray_make_impl(void *ptr_to_ary, size_t array_size, size_t header_size, size_t element_size)
174
- {
175
- rb_darray_meta_t **ptr_to_ptr_to_meta = ptr_to_ary;
176
- if (array_size == 0) {
177
- *ptr_to_ptr_to_meta = NULL;
178
- return;
179
- }
180
-
181
- rb_darray_meta_t *meta = xcalloc(array_size * element_size + header_size, 1);
182
-
183
- meta->size = array_size;
184
- meta->capa = array_size;
185
-
186
- // We don't have access to the type of the dynamic array in function context.
187
- // Write out result with memcpy to avoid strict aliasing issue.
188
- memcpy(ptr_to_ary, &meta, sizeof(meta));
189
- }
190
-
191
- #endif /* RUBY_DARRAY_H */
@@ -1,423 +0,0 @@
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
- // method cache (IMC: inline method cache)
18
- RB_DEBUG_COUNTER(mc_inline_hit) // IMC hit
19
- RB_DEBUG_COUNTER(mc_inline_miss_klass) // IMC miss by different class
20
- RB_DEBUG_COUNTER(mc_inline_miss_invalidated) // IMC miss by invalidated ME
21
- RB_DEBUG_COUNTER(mc_inline_miss_empty) // IMC miss because prev is empty slot
22
- RB_DEBUG_COUNTER(mc_inline_miss_same_cc) // IMC miss, but same CC
23
- RB_DEBUG_COUNTER(mc_inline_miss_same_cme) // IMC miss, but same CME
24
- RB_DEBUG_COUNTER(mc_inline_miss_same_def) // IMC miss, but same definition
25
- RB_DEBUG_COUNTER(mc_inline_miss_diff) // IMC miss, different methods
26
-
27
- RB_DEBUG_COUNTER(cvar_write_inline_hit) // cvar cache hit on write
28
- RB_DEBUG_COUNTER(cvar_read_inline_hit) // cvar cache hit on read
29
- RB_DEBUG_COUNTER(cvar_inline_miss) // miss inline cache
30
- RB_DEBUG_COUNTER(cvar_class_invalidate) // invalidate cvar cache when define a cvar that's defined on a subclass
31
- RB_DEBUG_COUNTER(cvar_include_invalidate) // invalidate cvar cache on module include or prepend
32
-
33
- RB_DEBUG_COUNTER(mc_cme_complement) // number of acquiring complement CME
34
- RB_DEBUG_COUNTER(mc_cme_complement_hit) // number of cache hit for complemented CME
35
-
36
- RB_DEBUG_COUNTER(mc_search) // count for method lookup in class tree
37
- RB_DEBUG_COUNTER(mc_search_notfound) // method lookup, but not found
38
- RB_DEBUG_COUNTER(mc_search_super) // total traversed classes
39
-
40
- // callinfo
41
- RB_DEBUG_COUNTER(ci_packed) // number of packed CI
42
- RB_DEBUG_COUNTER(ci_kw) // non-packed CI w/ keywords
43
- RB_DEBUG_COUNTER(ci_nokw) // non-packed CI w/o keywords
44
- RB_DEBUG_COUNTER(ci_runtime) // creating temporary CI
45
-
46
- // callcache
47
- RB_DEBUG_COUNTER(cc_new) // number of CC
48
- RB_DEBUG_COUNTER(cc_temp) // dummy CC (stack-allocated)
49
- RB_DEBUG_COUNTER(cc_found_in_ccs) // count for CC lookup success in CCS
50
- RB_DEBUG_COUNTER(cc_not_found_in_ccs) // count for CC lookup success in CCS
51
-
52
- RB_DEBUG_COUNTER(cc_ent_invalidate) // count for invalidating cc (cc->klass = 0)
53
- RB_DEBUG_COUNTER(cc_cme_invalidate) // count for invalidating CME
54
-
55
- RB_DEBUG_COUNTER(cc_invalidate_leaf) // count for invalidating klass if klass has no-subclasses
56
- RB_DEBUG_COUNTER(cc_invalidate_leaf_ccs) // corresponding CCS
57
- RB_DEBUG_COUNTER(cc_invalidate_leaf_callable) // complimented cache (no-subclasses)
58
- RB_DEBUG_COUNTER(cc_invalidate_tree) // count for invalidating klass if klass has subclasses
59
- RB_DEBUG_COUNTER(cc_invalidate_tree_cme) // cme if cme is found in this class or superclasses
60
- RB_DEBUG_COUNTER(cc_invalidate_tree_callable) // complimented cache (subclasses)
61
- RB_DEBUG_COUNTER(cc_invalidate_negative) // count for invalidating negative cache
62
-
63
- RB_DEBUG_COUNTER(ccs_free) // count for free'ing ccs
64
- RB_DEBUG_COUNTER(ccs_maxlen) // maximum length of ccs
65
- RB_DEBUG_COUNTER(ccs_found) // count for finding corresponding ccs on method lookup
66
- RB_DEBUG_COUNTER(ccs_not_found) // count for not found corresponding ccs on method lookup
67
-
68
- // vm_eval.c
69
- RB_DEBUG_COUNTER(call0_public)
70
- RB_DEBUG_COUNTER(call0_other)
71
- RB_DEBUG_COUNTER(gccct_hit)
72
- RB_DEBUG_COUNTER(gccct_miss)
73
- RB_DEBUG_COUNTER(gccct_null)
74
-
75
- // iseq
76
- RB_DEBUG_COUNTER(iseq_num) // number of total created iseq
77
- RB_DEBUG_COUNTER(iseq_cd_num) // number of total created cd (call_data)
78
-
79
- /*
80
- * call cache fastpath usage
81
- */
82
- RB_DEBUG_COUNTER(ccf_general)
83
- RB_DEBUG_COUNTER(ccf_iseq_setup)
84
- RB_DEBUG_COUNTER(ccf_iseq_setup_0start)
85
- RB_DEBUG_COUNTER(ccf_iseq_setup_tailcall_0start)
86
- RB_DEBUG_COUNTER(ccf_iseq_fix) /* several functions created with tool/mk_call_iseq_optimized.rb */
87
- RB_DEBUG_COUNTER(ccf_iseq_opt) /* has_opt == TRUE (has optional parameters), but other flags are FALSE */
88
- RB_DEBUG_COUNTER(ccf_iseq_kw1) /* vm_call_iseq_setup_kwparm_kwarg() */
89
- RB_DEBUG_COUNTER(ccf_iseq_kw2) /* vm_call_iseq_setup_kwparm_nokwarg() */
90
- RB_DEBUG_COUNTER(ccf_cfunc)
91
- RB_DEBUG_COUNTER(ccf_cfunc_with_frame)
92
- RB_DEBUG_COUNTER(ccf_ivar) /* attr_reader */
93
- RB_DEBUG_COUNTER(ccf_attrset) /* attr_writer */
94
- RB_DEBUG_COUNTER(ccf_method_missing)
95
- RB_DEBUG_COUNTER(ccf_zsuper)
96
- RB_DEBUG_COUNTER(ccf_bmethod)
97
- RB_DEBUG_COUNTER(ccf_opt_send)
98
- RB_DEBUG_COUNTER(ccf_opt_call)
99
- RB_DEBUG_COUNTER(ccf_opt_block_call)
100
- RB_DEBUG_COUNTER(ccf_opt_struct_aref)
101
- RB_DEBUG_COUNTER(ccf_opt_struct_aset)
102
- RB_DEBUG_COUNTER(ccf_super_method)
103
- RB_DEBUG_COUNTER(ccf_cfunc_other)
104
- RB_DEBUG_COUNTER(ccf_cfunc_only_splat)
105
- RB_DEBUG_COUNTER(ccf_cfunc_only_splat_kw)
106
- RB_DEBUG_COUNTER(ccf_iseq_bmethod)
107
- RB_DEBUG_COUNTER(ccf_noniseq_bmethod)
108
- RB_DEBUG_COUNTER(ccf_opt_send_complex)
109
- RB_DEBUG_COUNTER(ccf_opt_send_simple)
110
-
111
- /*
112
- * control frame push counts.
113
- *
114
- * * frame_push: frame push counts.
115
- * * frame_push_*: frame push counts per each type.
116
- * * frame_R2R: Ruby frame to Ruby frame
117
- * * frame_R2C: Ruby frame to C frame
118
- * * frame_C2C: C frame to C frame
119
- * * frame_C2R: C frame to Ruby frame
120
- */
121
- RB_DEBUG_COUNTER(frame_push)
122
- RB_DEBUG_COUNTER(frame_push_method)
123
- RB_DEBUG_COUNTER(frame_push_block)
124
- RB_DEBUG_COUNTER(frame_push_class)
125
- RB_DEBUG_COUNTER(frame_push_top)
126
- RB_DEBUG_COUNTER(frame_push_cfunc)
127
- RB_DEBUG_COUNTER(frame_push_ifunc)
128
- RB_DEBUG_COUNTER(frame_push_eval)
129
- RB_DEBUG_COUNTER(frame_push_rescue)
130
- RB_DEBUG_COUNTER(frame_push_dummy)
131
-
132
- RB_DEBUG_COUNTER(frame_R2R)
133
- RB_DEBUG_COUNTER(frame_R2C)
134
- RB_DEBUG_COUNTER(frame_C2C)
135
- RB_DEBUG_COUNTER(frame_C2R)
136
-
137
- /* instance variable counts */
138
- RB_DEBUG_COUNTER(ivar_get_obj_hit) // Only T_OBJECT hits
139
- RB_DEBUG_COUNTER(ivar_get_obj_miss) // Only T_OBJECT misses
140
- RB_DEBUG_COUNTER(ivar_get_ic_hit) // All hits
141
- RB_DEBUG_COUNTER(ivar_get_ic_miss) // All misses
142
- RB_DEBUG_COUNTER(ivar_set_ic_hit) // All hits
143
- RB_DEBUG_COUNTER(ivar_set_obj_hit) // Only T_OBJECT hits
144
- RB_DEBUG_COUNTER(ivar_set_obj_miss) // Only T_OBJECT misses
145
- RB_DEBUG_COUNTER(ivar_set_ic_miss) // All misses
146
- RB_DEBUG_COUNTER(ivar_set_ic_miss_noobject) // Miss because non T_OBJECT
147
- RB_DEBUG_COUNTER(ivar_get_base) // Calls to `rb_ivar_get` (very slow path)
148
- RB_DEBUG_COUNTER(ivar_set_base) // Calls to `ivar_set` (very slow path)
149
- RB_DEBUG_COUNTER(ivar_get_ic_miss_set) // Misses on IV reads where the cache was wrong
150
- RB_DEBUG_COUNTER(ivar_get_cc_miss_set) // Misses on attr_reader where the cache was wrong
151
- RB_DEBUG_COUNTER(ivar_get_ic_miss_unset) // Misses on IV read where the cache wasn't set
152
- RB_DEBUG_COUNTER(ivar_get_cc_miss_unset) // Misses on attr_reader where the cache wasn't set
153
-
154
- /* local variable counts
155
- *
156
- * * lvar_get: total lvar get counts (VM insn)
157
- * * lvar_get_dynamic: lvar get counts if accessing upper env (VM insn)
158
- * * lvar_set*: same as "get"
159
- * * lvar_set_slowpath: counts using vm_env_write_slowpath()
160
- */
161
- RB_DEBUG_COUNTER(lvar_get)
162
- RB_DEBUG_COUNTER(lvar_get_dynamic)
163
- RB_DEBUG_COUNTER(lvar_set)
164
- RB_DEBUG_COUNTER(lvar_set_dynamic)
165
- RB_DEBUG_COUNTER(lvar_set_slowpath)
166
-
167
- /* GC counts:
168
- *
169
- * * count: simple count
170
- * * _minor: minor gc
171
- * * _major: major gc
172
- * * other suffix is corresponding to last_gc_info or
173
- * gc_profile_record_flag in gc.c.
174
- */
175
- RB_DEBUG_COUNTER(gc_count)
176
- RB_DEBUG_COUNTER(gc_minor_newobj)
177
- RB_DEBUG_COUNTER(gc_minor_malloc)
178
- RB_DEBUG_COUNTER(gc_minor_method)
179
- RB_DEBUG_COUNTER(gc_minor_capi)
180
- RB_DEBUG_COUNTER(gc_minor_stress)
181
- RB_DEBUG_COUNTER(gc_major_nofree)
182
- RB_DEBUG_COUNTER(gc_major_oldgen)
183
- RB_DEBUG_COUNTER(gc_major_shady)
184
- RB_DEBUG_COUNTER(gc_major_force)
185
- RB_DEBUG_COUNTER(gc_major_oldmalloc)
186
-
187
- RB_DEBUG_COUNTER(gc_enter_start)
188
- RB_DEBUG_COUNTER(gc_enter_continue)
189
- RB_DEBUG_COUNTER(gc_enter_rest)
190
- RB_DEBUG_COUNTER(gc_enter_finalizer)
191
-
192
- RB_DEBUG_COUNTER(gc_isptr_trial)
193
- RB_DEBUG_COUNTER(gc_isptr_range)
194
- RB_DEBUG_COUNTER(gc_isptr_align)
195
- RB_DEBUG_COUNTER(gc_isptr_maybe)
196
-
197
- /* object allocation counts:
198
- *
199
- * * obj_newobj: newobj counts
200
- * * obj_newobj_slowpath: newobj with slowpath counts
201
- * * obj_newobj_wb_unprotected: newobj for wb_unprotected.
202
- * * obj_free: obj_free() counts
203
- * * obj_promote: promoted counts (oldgen)
204
- * * obj_wb_unprotect: wb unprotect counts
205
- *
206
- * * obj_[type]_[attr]: *free'ed counts* for each type.
207
- * Note that it is not a allocated counts.
208
- * * [type]
209
- * * _obj: T_OBJECT
210
- * * _str: T_STRING
211
- * * _ary: T_ARRAY
212
- * * _xxx: T_XXX (hash, struct, ...)
213
- *
214
- * * [attr]
215
- * * _ptr: R?? is not embed.
216
- * * _embed: R?? is embed.
217
- * * type specific attr.
218
- * * str_shared: str is shared.
219
- * * str_nofree: nofree
220
- * * str_fstr: fstr
221
- * * hash_empty: hash is empty
222
- * * hash_1_4: has 1 to 4 entries
223
- * * hash_5_8: has 5 to 8 entries
224
- * * hash_g8: has n entries (n>8)
225
- * * match_under4: has under 4 oniguruma regions allocated
226
- * * match_ge4: has n regions allocated (4<=n<8)
227
- * * match_ge8: has n regions allocated (8<=n)
228
- * * data_empty: T_DATA but no memory free.
229
- * * data_xfree: free'ed by xfree().
230
- * * data_imm_free: free'ed immediately.
231
- * * data_zombie: free'ed with zombie.
232
- * * imemo_*: T_IMEMO with each type.
233
- */
234
- RB_DEBUG_COUNTER(obj_newobj)
235
- RB_DEBUG_COUNTER(obj_newobj_slowpath)
236
- RB_DEBUG_COUNTER(obj_newobj_wb_unprotected)
237
- RB_DEBUG_COUNTER(obj_free)
238
- RB_DEBUG_COUNTER(obj_promote)
239
- RB_DEBUG_COUNTER(obj_wb_unprotect)
240
-
241
- RB_DEBUG_COUNTER(obj_obj_embed)
242
- RB_DEBUG_COUNTER(obj_obj_ptr)
243
- RB_DEBUG_COUNTER(obj_obj_too_complex)
244
-
245
- RB_DEBUG_COUNTER(obj_str_ptr)
246
- RB_DEBUG_COUNTER(obj_str_embed)
247
- RB_DEBUG_COUNTER(obj_str_shared)
248
- RB_DEBUG_COUNTER(obj_str_nofree)
249
- RB_DEBUG_COUNTER(obj_str_fstr)
250
-
251
- RB_DEBUG_COUNTER(obj_ary_embed)
252
- RB_DEBUG_COUNTER(obj_ary_ptr)
253
- RB_DEBUG_COUNTER(obj_ary_extracapa)
254
- /*
255
- ary_shared_create: shared ary by Array#dup and so on.
256
- ary_shared: finished in shard.
257
- ary_shared_root_occupied: shared_root but has only 1 refcnt.
258
- The number (ary_shared - ary_shared_root_occupied) is meaningful.
259
- */
260
- RB_DEBUG_COUNTER(obj_ary_shared_create)
261
- RB_DEBUG_COUNTER(obj_ary_shared)
262
- RB_DEBUG_COUNTER(obj_ary_shared_root_occupied)
263
-
264
- RB_DEBUG_COUNTER(obj_hash_empty)
265
- RB_DEBUG_COUNTER(obj_hash_1)
266
- RB_DEBUG_COUNTER(obj_hash_2)
267
- RB_DEBUG_COUNTER(obj_hash_3)
268
- RB_DEBUG_COUNTER(obj_hash_4)
269
- RB_DEBUG_COUNTER(obj_hash_5_8)
270
- RB_DEBUG_COUNTER(obj_hash_g8)
271
-
272
- RB_DEBUG_COUNTER(obj_hash_null)
273
- RB_DEBUG_COUNTER(obj_hash_ar)
274
- RB_DEBUG_COUNTER(obj_hash_st)
275
- RB_DEBUG_COUNTER(obj_hash_force_convert)
276
-
277
- RB_DEBUG_COUNTER(obj_struct_embed)
278
- RB_DEBUG_COUNTER(obj_struct_ptr)
279
-
280
- RB_DEBUG_COUNTER(obj_data_empty)
281
- RB_DEBUG_COUNTER(obj_data_xfree)
282
- RB_DEBUG_COUNTER(obj_data_imm_free)
283
- RB_DEBUG_COUNTER(obj_data_zombie)
284
-
285
- RB_DEBUG_COUNTER(obj_match_under4)
286
- RB_DEBUG_COUNTER(obj_match_ge4)
287
- RB_DEBUG_COUNTER(obj_match_ge8)
288
- RB_DEBUG_COUNTER(obj_match_ptr)
289
-
290
- RB_DEBUG_COUNTER(obj_iclass_ptr)
291
- RB_DEBUG_COUNTER(obj_class_ptr)
292
- RB_DEBUG_COUNTER(obj_module_ptr)
293
-
294
- RB_DEBUG_COUNTER(obj_bignum_ptr)
295
- RB_DEBUG_COUNTER(obj_bignum_embed)
296
- RB_DEBUG_COUNTER(obj_float)
297
- RB_DEBUG_COUNTER(obj_complex)
298
- RB_DEBUG_COUNTER(obj_rational)
299
-
300
- RB_DEBUG_COUNTER(obj_regexp_ptr)
301
- RB_DEBUG_COUNTER(obj_file_ptr)
302
- RB_DEBUG_COUNTER(obj_symbol)
303
-
304
- RB_DEBUG_COUNTER(obj_imemo_ment)
305
- RB_DEBUG_COUNTER(obj_imemo_iseq)
306
- RB_DEBUG_COUNTER(obj_imemo_env)
307
- RB_DEBUG_COUNTER(obj_imemo_tmpbuf)
308
- RB_DEBUG_COUNTER(obj_imemo_ast)
309
- RB_DEBUG_COUNTER(obj_imemo_cref)
310
- RB_DEBUG_COUNTER(obj_imemo_svar)
311
- RB_DEBUG_COUNTER(obj_imemo_throw_data)
312
- RB_DEBUG_COUNTER(obj_imemo_ifunc)
313
- RB_DEBUG_COUNTER(obj_imemo_memo)
314
- RB_DEBUG_COUNTER(obj_imemo_parser_strterm)
315
- RB_DEBUG_COUNTER(obj_imemo_callinfo)
316
- RB_DEBUG_COUNTER(obj_imemo_callcache)
317
- RB_DEBUG_COUNTER(obj_imemo_constcache)
318
-
319
- /* ar_table */
320
- RB_DEBUG_COUNTER(artable_hint_hit)
321
- RB_DEBUG_COUNTER(artable_hint_miss)
322
- RB_DEBUG_COUNTER(artable_hint_notfound)
323
-
324
- /* heap function counts
325
- *
326
- * * heap_xmalloc/realloc/xfree: call counts
327
- */
328
- RB_DEBUG_COUNTER(heap_xmalloc)
329
- RB_DEBUG_COUNTER(heap_xrealloc)
330
- RB_DEBUG_COUNTER(heap_xfree)
331
-
332
- // VM sync
333
- RB_DEBUG_COUNTER(vm_sync_lock)
334
- RB_DEBUG_COUNTER(vm_sync_lock_enter)
335
- RB_DEBUG_COUNTER(vm_sync_lock_enter_nb)
336
- RB_DEBUG_COUNTER(vm_sync_lock_enter_cr)
337
- RB_DEBUG_COUNTER(vm_sync_barrier)
338
-
339
- /* load (not implemented yet) */
340
- /*
341
- RB_DEBUG_COUNTER(load_files)
342
- RB_DEBUG_COUNTER(load_path_is_not_realpath)
343
- */
344
- #endif
345
-
346
- #ifndef RUBY_DEBUG_COUNTER_H
347
- #define RUBY_DEBUG_COUNTER_H 1
348
-
349
- #include "ruby/internal/config.h"
350
- #include <stddef.h> /* for size_t */
351
- #include "ruby/ruby.h" /* for VALUE */
352
-
353
- #if !defined(__GNUC__) && USE_DEBUG_COUNTER
354
- #error "USE_DEBUG_COUNTER is not supported by other than __GNUC__"
355
- #endif
356
-
357
- enum rb_debug_counter_type {
358
- #define RB_DEBUG_COUNTER(name) RB_DEBUG_COUNTER_##name,
359
- #include __FILE__
360
- RB_DEBUG_COUNTER_MAX
361
- #undef RB_DEBUG_COUNTER
362
- };
363
-
364
- #if USE_DEBUG_COUNTER
365
- extern size_t rb_debug_counter[];
366
- RUBY_EXTERN struct rb_ractor_struct *ruby_single_main_ractor;
367
- RUBY_EXTERN void rb_debug_counter_add_atomic(enum rb_debug_counter_type type, int add);
368
-
369
- inline static int
370
- rb_debug_counter_add(enum rb_debug_counter_type type, int add, int cond)
371
- {
372
- if (cond) {
373
- if (ruby_single_main_ractor != NULL) {
374
- rb_debug_counter[(int)type] += add;
375
- }
376
- else {
377
- rb_debug_counter_add_atomic(type, add);
378
- }
379
- }
380
- return cond;
381
- }
382
-
383
- inline static int
384
- rb_debug_counter_max(enum rb_debug_counter_type type, unsigned int num)
385
- {
386
- // TODO: sync
387
- if (rb_debug_counter[(int)type] < num) {
388
- rb_debug_counter[(int)type] = num;
389
- return 1;
390
- }
391
- else {
392
- return 0;
393
- }
394
- }
395
-
396
- VALUE rb_debug_counter_reset(VALUE klass);
397
- VALUE rb_debug_counter_show(VALUE klass);
398
-
399
- #define RB_DEBUG_COUNTER_INC(type) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, 1)
400
- #define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (!rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, !(cond)))
401
- #define RB_DEBUG_COUNTER_INC_IF(type, cond) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, !!(cond))
402
- #define RB_DEBUG_COUNTER_ADD(type, num) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, (num), 1)
403
- #define RB_DEBUG_COUNTER_SETMAX(type, num) rb_debug_counter_max(RB_DEBUG_COUNTER_##type, (unsigned int)(num))
404
-
405
- #else
406
- #define RB_DEBUG_COUNTER_INC(type) ((void)0)
407
- #define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (!!(cond))
408
- #define RB_DEBUG_COUNTER_INC_IF(type, cond) (!!(cond))
409
- #define RB_DEBUG_COUNTER_ADD(type, num) ((void)0)
410
- #define RB_DEBUG_COUNTER_SETMAX(type, num) 0
411
- #endif
412
-
413
- void rb_debug_counter_show_results(const char *msg);
414
-
415
- RUBY_SYMBOL_EXPORT_BEGIN
416
-
417
- size_t ruby_debug_counter_get(const char **names_ptr, size_t *counters_ptr);
418
- void ruby_debug_counter_reset(void);
419
- void ruby_debug_counter_show_at_exit(int enable);
420
-
421
- RUBY_SYMBOL_EXPORT_END
422
-
423
- #endif /* RUBY_DEBUG_COUNTER_H */
@@ -1,34 +0,0 @@
1
- #ifndef DLN_H
2
- #define DLN_H
3
- /**********************************************************************
4
-
5
- dln.h -
6
-
7
- $Author$
8
- created at: Wed Jan 19 16:53:09 JST 1994
9
-
10
- Copyright (C) 1993-2007 Yukihiro Matsumoto
11
-
12
- **********************************************************************/
13
-
14
- #include "ruby/defines.h" /* for RUBY_SYMBOL_EXPORT_BEGIN */
15
-
16
- RUBY_SYMBOL_EXPORT_BEGIN
17
-
18
- #ifndef DLN_FIND_EXTRA_ARG
19
- #define DLN_FIND_EXTRA_ARG
20
- #endif
21
- #ifndef DLN_FIND_EXTRA_ARG_DECL
22
- #define DLN_FIND_EXTRA_ARG_DECL
23
- #endif
24
-
25
- bool dln_supported_p(void);
26
- char *dln_find_exe_r(const char*,const char*,char*,size_t DLN_FIND_EXTRA_ARG_DECL);
27
- char *dln_find_file_r(const char*,const char*,char*,size_t DLN_FIND_EXTRA_ARG_DECL);
28
- void *dln_load(const char*);
29
- void *dln_open(const char *file, char *error, size_t size);
30
- void *dln_symbol(void*,const char*);
31
-
32
- RUBY_SYMBOL_EXPORT_END
33
-
34
- #endif