datadog-ruby_core_source 3.3.6 → 3.3.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (374) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +7 -1
  3. data/datadog-ruby_core_source.gemspec +6 -1
  4. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/id.h +7 -0
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/array.h +1 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/basic_operators.h +2 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/bits.h +82 -0
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/class.h +1 -1
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/encoding.h +2 -0
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/error.h +2 -0
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/fixnum.h +1 -0
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/gc.h +23 -28
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/hash.h +1 -0
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/imemo.h +7 -1
  15. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/io.h +4 -1
  16. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/parse.h +14 -2
  17. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/ractor.h +4 -0
  18. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/sanitizers.h +36 -3
  19. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/string.h +34 -18
  20. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/thread.h +29 -0
  21. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/vm.h +3 -3
  22. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/method.h +1 -0
  23. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/ast.h +2146 -453
  24. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/defines.h +44 -7
  25. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/diagnostic.h +24 -6
  26. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/extension.h +2 -2
  27. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/node.h +0 -21
  28. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/options.h +94 -3
  29. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/parser.h +82 -40
  30. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/prism.h +47 -11
  31. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/regexp.h +43 -0
  32. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/static_literals.h +3 -2
  33. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_char.h +1 -2
  34. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_constant_pool.h +0 -8
  35. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_integer.h +22 -15
  36. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_newline_list.h +11 -0
  37. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_string.h +28 -12
  38. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/version.h +3 -3
  39. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism_compile.h +23 -12
  40. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ractor_core.h +8 -20
  41. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/rubyparser.h +168 -249
  42. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/shape.h +2 -1
  43. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/thread_pthread.h +26 -25
  44. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_core.h +62 -48
  45. data/lib/datadog/ruby_core_source/version.rb +1 -1
  46. data/lib/datadog/ruby_core_source.rb +14 -1
  47. metadata +109 -372
  48. data/.github/workflows/publish.yml +0 -18
  49. data/.gitignore +0 -7
  50. data/.idea/vcs.xml +0 -28
  51. data/CHANGELOG.md +0 -284
  52. data/CONTRIBUTING.md +0 -2
  53. data/Gemfile +0 -4
  54. data/Rakefile +0 -73
  55. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +0 -21
  56. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +0 -50
  57. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +0 -109
  58. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +0 -51
  59. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +0 -69
  60. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +0 -334
  61. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +0 -116
  62. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +0 -31
  63. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +0 -217
  64. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +0 -1570
  65. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +0 -746
  66. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +0 -198
  67. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +0 -1601
  68. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +0 -103
  69. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +0 -61
  70. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +0 -206
  71. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +0 -43
  72. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +0 -254
  73. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +0 -938
  74. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +0 -370
  75. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +0 -1
  76. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +0 -48
  77. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +0 -108
  78. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +0 -36
  79. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +0 -42
  80. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +0 -139
  81. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +0 -73
  82. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +0 -3667
  83. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +0 -213
  84. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +0 -192
  85. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +0 -255
  86. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +0 -214
  87. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +0 -21
  88. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +0 -51
  89. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +0 -109
  90. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +0 -51
  91. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +0 -69
  92. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +0 -334
  93. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +0 -116
  94. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +0 -31
  95. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +0 -217
  96. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +0 -1570
  97. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +0 -746
  98. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +0 -198
  99. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +0 -1601
  100. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +0 -103
  101. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +0 -61
  102. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +0 -206
  103. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +0 -43
  104. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +0 -254
  105. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +0 -938
  106. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +0 -370
  107. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +0 -1
  108. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +0 -48
  109. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +0 -108
  110. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +0 -36
  111. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +0 -42
  112. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +0 -139
  113. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +0 -73
  114. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +0 -3667
  115. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +0 -213
  116. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +0 -192
  117. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +0 -255
  118. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +0 -214
  119. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +0 -21
  120. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +0 -51
  121. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +0 -109
  122. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +0 -51
  123. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +0 -69
  124. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +0 -334
  125. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +0 -116
  126. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +0 -31
  127. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +0 -217
  128. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +0 -1570
  129. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +0 -746
  130. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +0 -198
  131. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +0 -1601
  132. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +0 -103
  133. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +0 -61
  134. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +0 -200
  135. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +0 -43
  136. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +0 -254
  137. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +0 -938
  138. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +0 -370
  139. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +0 -1
  140. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +0 -48
  141. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +0 -108
  142. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +0 -36
  143. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +0 -42
  144. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +0 -139
  145. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +0 -73
  146. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +0 -3667
  147. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +0 -213
  148. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +0 -192
  149. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +0 -255
  150. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +0 -214
  151. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +0 -22
  152. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +0 -117
  153. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +0 -53
  154. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +0 -246
  155. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +0 -423
  156. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +0 -32
  157. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +0 -70
  158. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +0 -343
  159. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +0 -227
  160. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +0 -251
  161. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +0 -9215
  162. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +0 -791
  163. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +0 -212
  164. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +0 -128
  165. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +0 -43
  166. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +0 -243
  167. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +0 -564
  168. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +0 -32
  169. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +0 -42
  170. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +0 -254
  171. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +0 -1004
  172. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +0 -371
  173. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +0 -5
  174. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +0 -101
  175. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +0 -164
  176. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +0 -48
  177. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +0 -118
  178. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +0 -58
  179. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +0 -58
  180. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +0 -138
  181. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +0 -39
  182. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +0 -69
  183. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +0 -5436
  184. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +0 -244
  185. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +0 -619
  186. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +0 -199
  187. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +0 -261
  188. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +0 -137
  189. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +0 -245
  190. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +0 -72
  191. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +0 -22
  192. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +0 -117
  193. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +0 -53
  194. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +0 -246
  195. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +0 -423
  196. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +0 -32
  197. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +0 -70
  198. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +0 -343
  199. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +0 -227
  200. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +0 -251
  201. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +0 -9215
  202. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +0 -791
  203. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +0 -212
  204. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +0 -128
  205. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +0 -43
  206. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +0 -243
  207. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +0 -564
  208. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +0 -32
  209. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +0 -42
  210. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +0 -254
  211. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +0 -1006
  212. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +0 -371
  213. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +0 -5
  214. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +0 -101
  215. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +0 -164
  216. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +0 -48
  217. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +0 -118
  218. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +0 -58
  219. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +0 -58
  220. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +0 -138
  221. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +0 -39
  222. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +0 -69
  223. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +0 -5436
  224. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +0 -244
  225. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +0 -614
  226. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +0 -199
  227. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +0 -261
  228. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +0 -137
  229. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +0 -245
  230. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +0 -72
  231. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +0 -22
  232. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +0 -119
  233. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +0 -53
  234. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  235. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  236. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  237. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +0 -70
  238. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +0 -324
  239. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +0 -237
  240. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  241. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  242. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  243. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +0 -224
  244. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +0 -128
  245. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  246. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  247. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +0 -564
  248. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +0 -32
  249. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  250. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  251. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +0 -42
  252. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +0 -254
  253. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  254. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +0 -371
  255. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  256. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +0 -101
  257. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +0 -165
  258. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +0 -48
  259. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  260. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +0 -58
  261. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +0 -58
  262. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +0 -138
  263. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +0 -39
  264. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  265. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  266. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +0 -244
  267. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  268. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +0 -199
  269. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  270. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  271. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  272. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +0 -79
  273. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  274. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  275. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  276. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +0 -209
  277. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +0 -423
  278. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +0 -32
  279. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  280. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  281. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  282. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +0 -265
  283. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +0 -9902
  284. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +0 -1419
  285. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  286. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  287. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +0 -43
  288. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +0 -244
  289. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  290. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  291. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  292. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  293. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +0 -1006
  294. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  295. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  296. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  297. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  298. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  299. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +0 -123
  300. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  301. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  302. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  303. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  304. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +0 -69
  305. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +0 -5840
  306. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  307. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +0 -627
  308. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  309. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +0 -277
  310. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +0 -137
  311. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +0 -259
  312. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  313. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/build_assert/build_assert.h +0 -0
  314. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/check_type/check_type.h +0 -0
  315. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/container_of/container_of.h +0 -0
  316. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/list/list.h +0 -0
  317. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/str/str.h +0 -0
  318. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/id_table.h +0 -0
  319. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/bignum.h +0 -0
  320. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/cmdlineopt.h +0 -0
  321. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compar.h +0 -0
  322. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compile.h +0 -0
  323. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compilers.h +0 -0
  324. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/complex.h +0 -0
  325. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/cont.h +0 -0
  326. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/dir.h +0 -0
  327. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enc.h +0 -0
  328. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enum.h +0 -0
  329. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enumerator.h +0 -0
  330. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/eval.h +0 -0
  331. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/file.h +0 -0
  332. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/inits.h +0 -0
  333. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/load.h +0 -0
  334. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/loadpath.h +0 -0
  335. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/math.h +0 -0
  336. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/missing.h +0 -0
  337. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/numeric.h +0 -0
  338. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/object.h +0 -0
  339. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/proc.h +0 -0
  340. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/process.h +0 -0
  341. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/random.h +0 -0
  342. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/range.h +0 -0
  343. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/rational.h +0 -0
  344. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/re.h +0 -0
  345. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/ruby_parser.h +0 -0
  346. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/serial.h +0 -0
  347. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/signal.h +0 -0
  348. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/st.h +0 -0
  349. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/static_assert.h +0 -0
  350. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/struct.h +0 -0
  351. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/symbol.h +0 -0
  352. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/time.h +0 -0
  353. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/transcode.h +0 -0
  354. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/util.h +0 -0
  355. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/variable.h +0 -0
  356. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/warnings.h +0 -0
  357. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal.h +0 -0
  358. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/iseq.h +0 -0
  359. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/node.h +0 -0
  360. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/parser_st.h +0 -0
  361. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/parser_value.h +0 -0
  362. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/encoding.h +0 -0
  363. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/pack.h +0 -0
  364. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/prettyprint.h +0 -0
  365. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_buffer.h +0 -0
  366. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_list.h +0 -0
  367. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_memchr.h +0 -0
  368. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_strncasecmp.h +0 -0
  369. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_strpbrk.h +0 -0
  370. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ruby_assert.h +0 -0
  371. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ruby_atomic.h +0 -0
  372. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/thread_none.h +0 -0
  373. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_debug.h +0 -0
  374. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_opts.h +0 -0
@@ -1,246 +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
- #include "internal/gc.h"
10
-
11
- // Type for a dynamic array. Use to declare a dynamic array.
12
- // It is a pointer so it fits in st_table nicely. Designed
13
- // to be fairly type-safe.
14
- //
15
- // NULL is a valid empty dynamic array.
16
- //
17
- // Example:
18
- // rb_darray(char) char_array = NULL;
19
- // rb_darray_append(&char_array, 'e');
20
- // printf("pushed %c\n", *rb_darray_ref(char_array, 0));
21
- // rb_darray_free(char_array);
22
- //
23
- #define rb_darray(T) struct { rb_darray_meta_t meta; T data[]; } *
24
-
25
- // Copy an element out of the array. Warning: not bounds checked.
26
- //
27
- // T rb_darray_get(rb_darray(T) ary, size_t idx);
28
- //
29
- #define rb_darray_get(ary, idx) ((ary)->data[(idx)])
30
-
31
- // Assign to an element. Warning: not bounds checked.
32
- //
33
- // void rb_darray_set(rb_darray(T) ary, size_t idx, T element);
34
- //
35
- #define rb_darray_set(ary, idx, element) ((ary)->data[(idx)] = (element))
36
-
37
- // Get a pointer to an element. Warning: not bounds checked.
38
- //
39
- // T *rb_darray_ref(rb_darray(T) ary, size_t idx);
40
- //
41
- #define rb_darray_ref(ary, idx) (&((ary)->data[(idx)]))
42
-
43
- /* Copy a new element into the array. ptr_to_ary is evaluated multiple times.
44
- *
45
- * void rb_darray_append(rb_darray(T) *ptr_to_ary, T element);
46
- */
47
- #define rb_darray_append(ptr_to_ary, element) \
48
- rb_darray_append_impl(ptr_to_ary, element, rb_xrealloc_mul_add)
49
-
50
- #define rb_darray_append_without_gc(ptr_to_ary, element) \
51
- rb_darray_append_impl(ptr_to_ary, element, rb_darray_realloc_mul_add_without_gc)
52
-
53
- #define rb_darray_append_impl(ptr_to_ary, element, realloc_func) do { \
54
- rb_darray_ensure_space((ptr_to_ary), \
55
- sizeof(**(ptr_to_ary)), \
56
- sizeof((*(ptr_to_ary))->data[0]), \
57
- realloc_func); \
58
- rb_darray_set(*(ptr_to_ary), \
59
- (*(ptr_to_ary))->meta.size, \
60
- (element)); \
61
- (*(ptr_to_ary))->meta.size++; \
62
- } while (0)
63
-
64
- // Iterate over items of the array in a for loop
65
- //
66
- #define rb_darray_foreach(ary, idx_name, elem_ptr_var) \
67
- for (size_t idx_name = 0; idx_name < rb_darray_size(ary) && ((elem_ptr_var) = rb_darray_ref(ary, idx_name)); ++idx_name)
68
-
69
- // Iterate over valid indices in the array in a for loop
70
- //
71
- #define rb_darray_for(ary, idx_name) \
72
- for (size_t idx_name = 0; idx_name < rb_darray_size(ary); ++idx_name)
73
-
74
- /* Make a dynamic array of a certain size. All bytes backing the elements are set to zero.
75
- * Return 1 on success and 0 on failure.
76
- *
77
- * Note that NULL is a valid empty dynamic array.
78
- *
79
- * void rb_darray_make(rb_darray(T) *ptr_to_ary, size_t size);
80
- */
81
- #define rb_darray_make(ptr_to_ary, size) \
82
- rb_darray_make_impl((ptr_to_ary), size, sizeof(**(ptr_to_ary)), \
83
- sizeof((*(ptr_to_ary))->data[0]), rb_xcalloc_mul_add)
84
-
85
- #define rb_darray_make_without_gc(ptr_to_ary, size) \
86
- rb_darray_make_impl((ptr_to_ary), size, sizeof(**(ptr_to_ary)), \
87
- sizeof((*(ptr_to_ary))->data[0]), rb_darray_calloc_mul_add_without_gc)
88
-
89
- /* Resize the darray to a new capacity. The new capacity must be greater than
90
- * or equal to the size of the darray.
91
- *
92
- * void rb_darray_resize_capa(rb_darray(T) *ptr_to_ary, size_t capa);
93
- */
94
- #define rb_darray_resize_capa_without_gc(ptr_to_ary, capa) \
95
- rb_darray_resize_capa_impl((ptr_to_ary), rb_darray_next_power_of_two(capa), sizeof(**(ptr_to_ary)), \
96
- sizeof((*(ptr_to_ary))->data[0]), rb_darray_realloc_mul_add_without_gc)
97
-
98
- #define rb_darray_data_ptr(ary) ((ary)->data)
99
-
100
- typedef struct rb_darray_meta {
101
- size_t size;
102
- size_t capa;
103
- } rb_darray_meta_t;
104
-
105
- /* Set the size of the array to zero without freeing the backing memory.
106
- * Allows reusing the same array. */
107
- static inline void
108
- rb_darray_clear(void *ary)
109
- {
110
- rb_darray_meta_t *meta = ary;
111
- if (meta) {
112
- meta->size = 0;
113
- }
114
- }
115
-
116
- // Get the size of the dynamic array.
117
- //
118
- static inline size_t
119
- rb_darray_size(const void *ary)
120
- {
121
- const rb_darray_meta_t *meta = ary;
122
- return meta ? meta->size : 0;
123
- }
124
-
125
- // Get the capacity of the dynamic array.
126
- //
127
- static inline size_t
128
- rb_darray_capa(const void *ary)
129
- {
130
- const rb_darray_meta_t *meta = ary;
131
- return meta ? meta->capa : 0;
132
- }
133
-
134
- /* Free the dynamic array. */
135
- static inline void
136
- rb_darray_free(void *ary)
137
- {
138
- rb_darray_meta_t *meta = ary;
139
- if (meta) ruby_sized_xfree(ary, meta->capa);
140
- }
141
-
142
- static inline void
143
- rb_darray_free_without_gc(void *ary)
144
- {
145
- free(ary);
146
- }
147
-
148
- /* Internal function. Like rb_xcalloc_mul_add but does not trigger GC and does
149
- * not check for overflow in arithmetic. */
150
- static inline void *
151
- rb_darray_calloc_mul_add_without_gc(size_t x, size_t y, size_t z)
152
- {
153
- size_t size = (x * y) + z;
154
-
155
- void *ptr = calloc(1, size);
156
- if (ptr == NULL) rb_bug("rb_darray_calloc_mul_add_without_gc: failed");
157
-
158
- return ptr;
159
- }
160
-
161
- /* Internal function. Like rb_xrealloc_mul_add but does not trigger GC and does
162
- * not check for overflow in arithmetic. */
163
- static inline void *
164
- rb_darray_realloc_mul_add_without_gc(const void *orig_ptr, size_t x, size_t y, size_t z)
165
- {
166
- size_t size = (x * y) + z;
167
-
168
- void *ptr = realloc((void *)orig_ptr, size);
169
- if (ptr == NULL) rb_bug("rb_darray_realloc_mul_add_without_gc: failed");
170
-
171
- return ptr;
172
- }
173
-
174
- /* Internal function. Returns the next power of two that is greater than or
175
- * equal to n. */
176
- static inline size_t
177
- rb_darray_next_power_of_two(size_t n)
178
- {
179
- return (size_t)(1 << (64 - nlz_int64(n)));
180
- }
181
-
182
- /* Internal function. Resizes the capacity of a darray. The new capacity must
183
- * be greater than or equal to the size of the darray. */
184
- static inline void
185
- rb_darray_resize_capa_impl(void *ptr_to_ary, size_t new_capa, size_t header_size, size_t element_size,
186
- void *(*realloc_mul_add_impl)(const void *, size_t, size_t, size_t))
187
- {
188
- rb_darray_meta_t **ptr_to_ptr_to_meta = ptr_to_ary;
189
- rb_darray_meta_t *meta = *ptr_to_ptr_to_meta;
190
-
191
- rb_darray_meta_t *new_ary = realloc_mul_add_impl(meta, new_capa, element_size, header_size);
192
-
193
- if (meta == NULL) {
194
- /* First allocation. Initialize size. On subsequence allocations
195
- * realloc takes care of carrying over the size. */
196
- new_ary->size = 0;
197
- }
198
-
199
- assert(new_ary->size <= new_capa);
200
-
201
- new_ary->capa = new_capa;
202
-
203
- // We don't have access to the type of the dynamic array in function context.
204
- // Write out result with memcpy to avoid strict aliasing issue.
205
- memcpy(ptr_to_ary, &new_ary, sizeof(new_ary));
206
- }
207
-
208
- // Internal function
209
- // Ensure there is space for one more element.
210
- // Note: header_size can be bigger than sizeof(rb_darray_meta_t) when T is __int128_t, for example.
211
- static inline void
212
- rb_darray_ensure_space(void *ptr_to_ary, size_t header_size, size_t element_size,
213
- void *(*realloc_mul_add_impl)(const void *, size_t, size_t, size_t))
214
- {
215
- rb_darray_meta_t **ptr_to_ptr_to_meta = ptr_to_ary;
216
- rb_darray_meta_t *meta = *ptr_to_ptr_to_meta;
217
- size_t current_capa = rb_darray_capa(meta);
218
- if (rb_darray_size(meta) < current_capa) return;
219
-
220
- // Double the capacity
221
- size_t new_capa = current_capa == 0 ? 1 : current_capa * 2;
222
-
223
- rb_darray_resize_capa_impl(ptr_to_ary, new_capa, header_size, element_size, realloc_mul_add_impl);
224
- }
225
-
226
- static inline void
227
- rb_darray_make_impl(void *ptr_to_ary, size_t array_size, size_t header_size, size_t element_size,
228
- void *(*calloc_mul_add_impl)(size_t, size_t, size_t))
229
- {
230
- rb_darray_meta_t **ptr_to_ptr_to_meta = ptr_to_ary;
231
- if (array_size == 0) {
232
- *ptr_to_ptr_to_meta = NULL;
233
- return;
234
- }
235
-
236
- rb_darray_meta_t *meta = calloc_mul_add_impl(array_size, element_size, header_size);
237
-
238
- meta->size = array_size;
239
- meta->capa = array_size;
240
-
241
- // We don't have access to the type of the dynamic array in function context.
242
- // Write out result with memcpy to avoid strict aliasing issue.
243
- memcpy(ptr_to_ary, &meta, sizeof(meta));
244
- }
245
-
246
- #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,32 +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
- char *dln_find_exe_r(const char*,const char*,char*,size_t DLN_FIND_EXTRA_ARG_DECL);
26
- char *dln_find_file_r(const char*,const char*,char*,size_t DLN_FIND_EXTRA_ARG_DECL);
27
- void *dln_load(const char*);
28
- void *dln_symbol(void*,const char*);
29
-
30
- RUBY_SYMBOL_EXPORT_END
31
-
32
- #endif