datadog-ruby_core_source 3.3.6 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +12 -1
  3. data/datadog-ruby_core_source.gemspec +7 -2
  4. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/id.h +5 -0
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/basic_operators.h +1 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/bits.h +82 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/encoding.h +2 -0
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/error.h +26 -0
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/fixnum.h +1 -0
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/gc.h +14 -6
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/imemo.h +6 -1
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/io.h +1 -1
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/parse.h +2 -1
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/proc.h +1 -0
  15. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/ractor.h +4 -0
  16. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/sanitizers.h +31 -39
  17. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/string.h +22 -10
  18. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/thread.h +23 -0
  19. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/vm.h +1 -1
  20. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/method.h +1 -0
  21. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/ast.h +427 -3
  22. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/defines.h +8 -7
  23. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/diagnostic.h +1 -0
  24. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/extension.h +1 -1
  25. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/prism.h +47 -11
  26. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/version.h +2 -2
  27. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism_compile.h +5 -5
  28. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ractor_core.h +6 -6
  29. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/rubyparser.h +3 -2
  30. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/thread_pthread.h +0 -1
  31. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_core.h +40 -12
  32. data/lib/datadog/ruby_core_source/version.rb +1 -1
  33. data/lib/datadog/ruby_core_source.rb +14 -1
  34. metadata +110 -476
  35. data/.github/workflows/publish.yml +0 -18
  36. data/.gitignore +0 -7
  37. data/.idea/vcs.xml +0 -28
  38. data/CHANGELOG.md +0 -284
  39. data/CONTRIBUTING.md +0 -2
  40. data/Gemfile +0 -4
  41. data/Rakefile +0 -73
  42. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +0 -21
  43. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +0 -50
  44. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +0 -109
  45. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +0 -51
  46. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +0 -69
  47. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +0 -334
  48. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +0 -116
  49. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +0 -31
  50. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +0 -217
  51. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +0 -1570
  52. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +0 -746
  53. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +0 -198
  54. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +0 -1601
  55. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +0 -103
  56. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +0 -61
  57. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +0 -206
  58. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +0 -43
  59. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +0 -254
  60. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +0 -938
  61. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +0 -370
  62. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +0 -1
  63. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +0 -48
  64. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +0 -108
  65. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +0 -36
  66. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +0 -42
  67. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +0 -139
  68. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +0 -73
  69. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +0 -3667
  70. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +0 -213
  71. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +0 -192
  72. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +0 -255
  73. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +0 -214
  74. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +0 -21
  75. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +0 -51
  76. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +0 -109
  77. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +0 -51
  78. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +0 -69
  79. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +0 -334
  80. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +0 -116
  81. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +0 -31
  82. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +0 -217
  83. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +0 -1570
  84. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +0 -746
  85. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +0 -198
  86. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +0 -1601
  87. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +0 -103
  88. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +0 -61
  89. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +0 -206
  90. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +0 -43
  91. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +0 -254
  92. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +0 -938
  93. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +0 -370
  94. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +0 -1
  95. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +0 -48
  96. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +0 -108
  97. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +0 -36
  98. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +0 -42
  99. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +0 -139
  100. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +0 -73
  101. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +0 -3667
  102. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +0 -213
  103. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +0 -192
  104. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +0 -255
  105. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +0 -214
  106. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +0 -21
  107. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +0 -51
  108. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +0 -109
  109. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +0 -51
  110. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +0 -69
  111. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +0 -334
  112. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +0 -116
  113. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +0 -31
  114. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +0 -217
  115. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +0 -1570
  116. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +0 -746
  117. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +0 -198
  118. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +0 -1601
  119. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +0 -103
  120. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +0 -61
  121. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +0 -200
  122. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +0 -43
  123. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +0 -254
  124. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +0 -938
  125. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +0 -370
  126. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +0 -1
  127. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +0 -48
  128. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +0 -108
  129. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +0 -36
  130. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +0 -42
  131. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +0 -139
  132. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +0 -73
  133. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +0 -3667
  134. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +0 -213
  135. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +0 -192
  136. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +0 -255
  137. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +0 -214
  138. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +0 -22
  139. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +0 -117
  140. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +0 -53
  141. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +0 -246
  142. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +0 -423
  143. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +0 -32
  144. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +0 -70
  145. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +0 -343
  146. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +0 -227
  147. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +0 -251
  148. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +0 -9215
  149. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +0 -791
  150. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +0 -212
  151. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +0 -128
  152. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +0 -43
  153. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +0 -243
  154. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +0 -564
  155. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +0 -32
  156. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +0 -42
  157. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +0 -254
  158. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +0 -1004
  159. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +0 -371
  160. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +0 -5
  161. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +0 -101
  162. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +0 -164
  163. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +0 -48
  164. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +0 -118
  165. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +0 -58
  166. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +0 -58
  167. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +0 -138
  168. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +0 -39
  169. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +0 -69
  170. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +0 -5436
  171. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +0 -244
  172. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +0 -619
  173. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +0 -199
  174. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +0 -261
  175. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +0 -137
  176. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +0 -245
  177. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +0 -72
  178. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +0 -22
  179. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +0 -117
  180. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +0 -53
  181. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +0 -246
  182. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +0 -423
  183. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +0 -32
  184. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +0 -70
  185. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +0 -343
  186. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +0 -227
  187. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +0 -251
  188. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +0 -9215
  189. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +0 -791
  190. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +0 -212
  191. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +0 -128
  192. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +0 -43
  193. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +0 -243
  194. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +0 -564
  195. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +0 -32
  196. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +0 -42
  197. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +0 -254
  198. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +0 -1006
  199. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +0 -371
  200. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +0 -5
  201. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +0 -101
  202. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +0 -164
  203. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +0 -48
  204. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +0 -118
  205. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +0 -58
  206. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +0 -58
  207. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +0 -138
  208. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +0 -39
  209. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +0 -69
  210. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +0 -5436
  211. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +0 -244
  212. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +0 -614
  213. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +0 -199
  214. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +0 -261
  215. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +0 -137
  216. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +0 -245
  217. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +0 -72
  218. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +0 -22
  219. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +0 -119
  220. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +0 -53
  221. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  222. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  223. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  224. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +0 -70
  225. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +0 -324
  226. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +0 -237
  227. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/id.h +0 -343
  228. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  229. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  230. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/array.h +0 -151
  231. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/basic_operators.h +0 -63
  232. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/bits.h +0 -568
  233. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +0 -283
  234. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/error.h +0 -216
  235. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/fixnum.h +0 -184
  236. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/gc.h +0 -334
  237. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/hash.h +0 -191
  238. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/imemo.h +0 -260
  239. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/io.h +0 -140
  240. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/parse.h +0 -117
  241. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/sanitizers.h +0 -297
  242. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/string.h +0 -182
  243. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/thread.h +0 -79
  244. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/vm.h +0 -137
  245. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  246. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +0 -224
  247. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +0 -128
  248. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  249. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  250. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +0 -564
  251. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +0 -32
  252. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/ast.h +0 -6245
  253. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/defines.h +0 -206
  254. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/diagnostic.h +0 -433
  255. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/extension.h +0 -19
  256. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/node.h +0 -150
  257. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/options.h +0 -305
  258. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/parser.h +0 -891
  259. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  260. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/static_literals.h +0 -120
  261. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_char.h +0 -205
  262. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_constant_pool.h +0 -226
  263. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_integer.h +0 -119
  264. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_newline_list.h +0 -102
  265. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string.h +0 -174
  266. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  267. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/version.h +0 -29
  268. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism_compile.h +0 -88
  269. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +0 -42
  270. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ractor_core.h +0 -393
  271. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +0 -254
  272. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  273. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +0 -371
  274. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  275. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +0 -101
  276. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +0 -165
  277. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rubyparser.h +0 -1430
  278. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/shape.h +0 -233
  279. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +0 -48
  280. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  281. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_pthread.h +0 -166
  282. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +0 -58
  283. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +0 -58
  284. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +0 -138
  285. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +0 -39
  286. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  287. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  288. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +0 -244
  289. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  290. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_core.h +0 -2236
  291. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +0 -199
  292. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  293. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  294. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  295. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +0 -79
  296. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  297. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  298. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/build_assert/build_assert.h +0 -40
  299. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/check_type/check_type.h +0 -63
  300. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/container_of/container_of.h +0 -142
  301. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/list/list.h +0 -791
  302. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/str/str.h +0 -17
  303. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  304. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +0 -209
  305. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +0 -423
  306. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +0 -32
  307. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  308. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  309. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  310. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/id_table.h +0 -39
  311. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +0 -265
  312. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +0 -9902
  313. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/bignum.h +0 -244
  314. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/cmdlineopt.h +0 -65
  315. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/compar.h +0 -29
  316. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/compile.h +0 -34
  317. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/compilers.h +0 -107
  318. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/complex.h +0 -29
  319. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/cont.h +0 -35
  320. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/dir.h +0 -16
  321. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/enc.h +0 -19
  322. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +0 -36
  323. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/enum.h +0 -18
  324. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/enumerator.h +0 -21
  325. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/eval.h +0 -33
  326. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/file.h +0 -38
  327. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/inits.h +0 -47
  328. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/load.h +0 -18
  329. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/loadpath.h +0 -16
  330. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/math.h +0 -23
  331. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/missing.h +0 -19
  332. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/numeric.h +0 -274
  333. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/object.h +0 -63
  334. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/proc.h +0 -30
  335. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/process.h +0 -124
  336. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/ractor.h +0 -6
  337. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/random.h +0 -17
  338. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/range.h +0 -40
  339. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/rational.h +0 -71
  340. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/re.h +0 -28
  341. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/ruby_parser.h +0 -102
  342. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/serial.h +0 -23
  343. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/signal.h +0 -24
  344. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/st.h +0 -11
  345. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/static_assert.h +0 -16
  346. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/struct.h +0 -127
  347. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/symbol.h +0 -45
  348. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/time.h +0 -34
  349. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/transcode.h +0 -23
  350. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/util.h +0 -27
  351. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/variable.h +0 -72
  352. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/warnings.h +0 -16
  353. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal.h +0 -108
  354. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/iseq.h +0 -340
  355. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +0 -1419
  356. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/method.h +0 -255
  357. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node.h +0 -111
  358. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  359. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  360. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +0 -43
  361. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +0 -244
  362. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  363. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  364. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_st.h +0 -162
  365. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_value.h +0 -106
  366. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/encoding.h +0 -283
  367. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/pack.h +0 -163
  368. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/prettyprint.h +0 -34
  369. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +0 -336
  370. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_buffer.h +0 -218
  371. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_list.h +0 -97
  372. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_memchr.h +0 -29
  373. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strncasecmp.h +0 -32
  374. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strpbrk.h +0 -46
  375. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  376. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  377. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +0 -1006
  378. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  379. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  380. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  381. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  382. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ruby_assert.h +0 -14
  383. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ruby_atomic.h +0 -23
  384. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  385. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +0 -123
  386. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_none.h +0 -21
  387. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  388. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  389. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  390. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  391. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +0 -69
  392. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +0 -5840
  393. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  394. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +0 -627
  395. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_debug.h +0 -124
  396. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  397. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +0 -277
  398. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_opts.h +0 -67
  399. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +0 -137
  400. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +0 -259
  401. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  402. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/build_assert/build_assert.h +0 -0
  403. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/check_type/check_type.h +0 -0
  404. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/container_of/container_of.h +0 -0
  405. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/list/list.h +0 -0
  406. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/str/str.h +0 -0
  407. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/id_table.h +0 -0
  408. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/array.h +0 -0
  409. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/bignum.h +0 -0
  410. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/class.h +0 -0
  411. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/cmdlineopt.h +0 -0
  412. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compar.h +0 -0
  413. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compile.h +0 -0
  414. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compilers.h +0 -0
  415. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/complex.h +0 -0
  416. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/cont.h +0 -0
  417. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/dir.h +0 -0
  418. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enc.h +0 -0
  419. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enum.h +0 -0
  420. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enumerator.h +0 -0
  421. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/eval.h +0 -0
  422. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/file.h +0 -0
  423. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/hash.h +0 -0
  424. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/inits.h +0 -0
  425. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/load.h +0 -0
  426. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/loadpath.h +0 -0
  427. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/math.h +0 -0
  428. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/missing.h +0 -0
  429. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/numeric.h +0 -0
  430. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/object.h +0 -0
  431. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/process.h +0 -0
  432. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/random.h +0 -0
  433. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/range.h +0 -0
  434. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/rational.h +0 -0
  435. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/re.h +0 -0
  436. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/ruby_parser.h +0 -0
  437. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/serial.h +0 -0
  438. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/signal.h +0 -0
  439. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/st.h +0 -0
  440. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/static_assert.h +0 -0
  441. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/struct.h +0 -0
  442. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/symbol.h +0 -0
  443. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/time.h +0 -0
  444. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/transcode.h +0 -0
  445. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/util.h +0 -0
  446. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/variable.h +0 -0
  447. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/warnings.h +0 -0
  448. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal.h +0 -0
  449. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/iseq.h +0 -0
  450. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/node.h +0 -0
  451. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/parser_st.h +0 -0
  452. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/parser_value.h +0 -0
  453. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/encoding.h +0 -0
  454. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/node.h +0 -0
  455. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/options.h +0 -0
  456. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/pack.h +0 -0
  457. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/parser.h +0 -0
  458. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/prettyprint.h +0 -0
  459. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/regexp.h +0 -0
  460. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/static_literals.h +0 -0
  461. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_buffer.h +0 -0
  462. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_char.h +0 -0
  463. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_constant_pool.h +0 -0
  464. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_integer.h +0 -0
  465. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_list.h +0 -0
  466. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_memchr.h +0 -0
  467. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_newline_list.h +0 -0
  468. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_string.h +0 -0
  469. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_strncasecmp.h +0 -0
  470. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_strpbrk.h +0 -0
  471. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ruby_assert.h +0 -0
  472. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ruby_atomic.h +0 -0
  473. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/shape.h +0 -0
  474. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/thread_none.h +0 -0
  475. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/vm_debug.h +0 -0
  476. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/vm_opts.h +0 -0
@@ -1,619 +0,0 @@
1
- #ifndef RUBY_VM_CALLINFO_H /*-*-C-*-vi:se ft=c:*/
2
- #define RUBY_VM_CALLINFO_H
3
- /**
4
- * @author Ruby developers <ruby-core@ruby-lang.org>
5
- * @copyright This file is a part of the programming language Ruby.
6
- * Permission is hereby granted, to either redistribute and/or
7
- * modify this file, provided that the conditions mentioned in the
8
- * file COPYING are met. Consult the file for details.
9
- */
10
-
11
- #include "debug_counter.h"
12
- #include "internal/class.h"
13
- #include "shape.h"
14
-
15
- enum vm_call_flag_bits {
16
- VM_CALL_ARGS_SPLAT_bit, // m(*args)
17
- VM_CALL_ARGS_BLOCKARG_bit, // m(&block)
18
- VM_CALL_FCALL_bit, // m(args) # receiver is self
19
- VM_CALL_VCALL_bit, // m # method call that looks like a local variable
20
- VM_CALL_ARGS_SIMPLE_bit, // (ci->flag & (SPLAT|BLOCKARG)) && blockiseq == NULL && ci->kw_arg == NULL
21
- VM_CALL_KWARG_bit, // has kwarg
22
- VM_CALL_KW_SPLAT_bit, // m(**opts)
23
- VM_CALL_TAILCALL_bit, // located at tail position
24
- VM_CALL_SUPER_bit, // super
25
- VM_CALL_ZSUPER_bit, // zsuper
26
- VM_CALL_OPT_SEND_bit, // internal flag
27
- VM_CALL_KW_SPLAT_MUT_bit, // kw splat hash can be modified (to avoid allocating a new one)
28
- VM_CALL__END
29
- };
30
-
31
- #define VM_CALL_ARGS_SPLAT (0x01 << VM_CALL_ARGS_SPLAT_bit)
32
- #define VM_CALL_ARGS_BLOCKARG (0x01 << VM_CALL_ARGS_BLOCKARG_bit)
33
- #define VM_CALL_FCALL (0x01 << VM_CALL_FCALL_bit)
34
- #define VM_CALL_VCALL (0x01 << VM_CALL_VCALL_bit)
35
- #define VM_CALL_ARGS_SIMPLE (0x01 << VM_CALL_ARGS_SIMPLE_bit)
36
- #define VM_CALL_KWARG (0x01 << VM_CALL_KWARG_bit)
37
- #define VM_CALL_KW_SPLAT (0x01 << VM_CALL_KW_SPLAT_bit)
38
- #define VM_CALL_TAILCALL (0x01 << VM_CALL_TAILCALL_bit)
39
- #define VM_CALL_SUPER (0x01 << VM_CALL_SUPER_bit)
40
- #define VM_CALL_ZSUPER (0x01 << VM_CALL_ZSUPER_bit)
41
- #define VM_CALL_OPT_SEND (0x01 << VM_CALL_OPT_SEND_bit)
42
- #define VM_CALL_KW_SPLAT_MUT (0x01 << VM_CALL_KW_SPLAT_MUT_bit)
43
-
44
- struct rb_callinfo_kwarg {
45
- int keyword_len;
46
- int references;
47
- VALUE keywords[];
48
- };
49
-
50
- static inline size_t
51
- rb_callinfo_kwarg_bytes(int keyword_len)
52
- {
53
- return rb_size_mul_add_or_raise(
54
- keyword_len,
55
- sizeof(VALUE),
56
- sizeof(struct rb_callinfo_kwarg),
57
- rb_eRuntimeError);
58
- }
59
-
60
- // imemo_callinfo
61
- struct rb_callinfo {
62
- VALUE flags;
63
- const struct rb_callinfo_kwarg *kwarg;
64
- VALUE mid;
65
- VALUE flag;
66
- VALUE argc;
67
- };
68
-
69
- #if !defined(USE_EMBED_CI) || (USE_EMBED_CI+0)
70
- #undef USE_EMBED_CI
71
- #define USE_EMBED_CI 1
72
- #else
73
- #undef USE_EMBED_CI
74
- #define USE_EMBED_CI 0
75
- #endif
76
-
77
- #if SIZEOF_VALUE == 8
78
- #define CI_EMBED_TAG_bits 1
79
- #define CI_EMBED_ARGC_bits 15
80
- #define CI_EMBED_FLAG_bits 16
81
- #define CI_EMBED_ID_bits 32
82
- #elif SIZEOF_VALUE == 4
83
- #define CI_EMBED_TAG_bits 1
84
- #define CI_EMBED_ARGC_bits 3
85
- #define CI_EMBED_FLAG_bits 13
86
- #define CI_EMBED_ID_bits 15
87
- #endif
88
-
89
- #if (CI_EMBED_TAG_bits + CI_EMBED_ARGC_bits + CI_EMBED_FLAG_bits + CI_EMBED_ID_bits) != (SIZEOF_VALUE * 8)
90
- #error
91
- #endif
92
-
93
- #define CI_EMBED_FLAG 0x01
94
- #define CI_EMBED_ARGC_SHFT (CI_EMBED_TAG_bits)
95
- #define CI_EMBED_ARGC_MASK ((((VALUE)1)<<CI_EMBED_ARGC_bits) - 1)
96
- #define CI_EMBED_FLAG_SHFT (CI_EMBED_TAG_bits + CI_EMBED_ARGC_bits)
97
- #define CI_EMBED_FLAG_MASK ((((VALUE)1)<<CI_EMBED_FLAG_bits) - 1)
98
- #define CI_EMBED_ID_SHFT (CI_EMBED_TAG_bits + CI_EMBED_ARGC_bits + CI_EMBED_FLAG_bits)
99
- #define CI_EMBED_ID_MASK ((((VALUE)1)<<CI_EMBED_ID_bits) - 1)
100
-
101
- static inline bool
102
- vm_ci_packed_p(const struct rb_callinfo *ci)
103
- {
104
- if (!USE_EMBED_CI) {
105
- return 0;
106
- }
107
- if (LIKELY(((VALUE)ci) & 0x01)) {
108
- return 1;
109
- }
110
- else {
111
- VM_ASSERT(IMEMO_TYPE_P(ci, imemo_callinfo));
112
- return 0;
113
- }
114
- }
115
-
116
- static inline bool
117
- vm_ci_p(const struct rb_callinfo *ci)
118
- {
119
- if (vm_ci_packed_p(ci) || IMEMO_TYPE_P(ci, imemo_callinfo)) {
120
- return 1;
121
- }
122
- else {
123
- return 0;
124
- }
125
- }
126
-
127
- static inline ID
128
- vm_ci_mid(const struct rb_callinfo *ci)
129
- {
130
- if (vm_ci_packed_p(ci)) {
131
- return (((VALUE)ci) >> CI_EMBED_ID_SHFT) & CI_EMBED_ID_MASK;
132
- }
133
- else {
134
- return (ID)ci->mid;
135
- }
136
- }
137
-
138
- static inline unsigned int
139
- vm_ci_flag(const struct rb_callinfo *ci)
140
- {
141
- if (vm_ci_packed_p(ci)) {
142
- return (unsigned int)((((VALUE)ci) >> CI_EMBED_FLAG_SHFT) & CI_EMBED_FLAG_MASK);
143
- }
144
- else {
145
- return (unsigned int)ci->flag;
146
- }
147
- }
148
-
149
- static inline unsigned int
150
- vm_ci_argc(const struct rb_callinfo *ci)
151
- {
152
- if (vm_ci_packed_p(ci)) {
153
- return (unsigned int)((((VALUE)ci) >> CI_EMBED_ARGC_SHFT) & CI_EMBED_ARGC_MASK);
154
- }
155
- else {
156
- return (unsigned int)ci->argc;
157
- }
158
- }
159
-
160
- static inline const struct rb_callinfo_kwarg *
161
- vm_ci_kwarg(const struct rb_callinfo *ci)
162
- {
163
- if (vm_ci_packed_p(ci)) {
164
- return NULL;
165
- }
166
- else {
167
- return ci->kwarg;
168
- }
169
- }
170
-
171
- static inline void
172
- vm_ci_dump(const struct rb_callinfo *ci)
173
- {
174
- if (vm_ci_packed_p(ci)) {
175
- ruby_debug_printf("packed_ci ID:%s flag:%x argc:%u\n",
176
- rb_id2name(vm_ci_mid(ci)), vm_ci_flag(ci), vm_ci_argc(ci));
177
- }
178
- else {
179
- rp(ci);
180
- }
181
- }
182
-
183
- #define vm_ci_new(mid, flag, argc, kwarg) vm_ci_new_(mid, flag, argc, kwarg, __FILE__, __LINE__)
184
- #define vm_ci_new_runtime(mid, flag, argc, kwarg) vm_ci_new_runtime_(mid, flag, argc, kwarg, __FILE__, __LINE__)
185
-
186
- /* This is passed to STATIC_ASSERT. Cannot be an inline function. */
187
- #define VM_CI_EMBEDDABLE_P(mid, flag, argc, kwarg) \
188
- (((mid ) & ~CI_EMBED_ID_MASK) ? false : \
189
- ((flag) & ~CI_EMBED_FLAG_MASK) ? false : \
190
- ((argc) & ~CI_EMBED_ARGC_MASK) ? false : \
191
- (kwarg) ? false : true)
192
-
193
- #define vm_ci_new_id(mid, flag, argc, must_zero) \
194
- ((const struct rb_callinfo *) \
195
- ((((VALUE)(mid )) << CI_EMBED_ID_SHFT) | \
196
- (((VALUE)(flag)) << CI_EMBED_FLAG_SHFT) | \
197
- (((VALUE)(argc)) << CI_EMBED_ARGC_SHFT) | \
198
- RUBY_FIXNUM_FLAG))
199
-
200
- static inline const struct rb_callinfo *
201
- vm_ci_new_(ID mid, unsigned int flag, unsigned int argc, const struct rb_callinfo_kwarg *kwarg, const char *file, int line)
202
- {
203
- if (kwarg) {
204
- ((struct rb_callinfo_kwarg *)kwarg)->references++;
205
- }
206
- if (USE_EMBED_CI && VM_CI_EMBEDDABLE_P(mid, flag, argc, kwarg)) {
207
- RB_DEBUG_COUNTER_INC(ci_packed);
208
- return vm_ci_new_id(mid, flag, argc, kwarg);
209
- }
210
-
211
- const bool debug = 0;
212
- if (debug) ruby_debug_printf("%s:%d ", file, line);
213
-
214
- // TODO: dedup
215
- const struct rb_callinfo *ci = (const struct rb_callinfo *)
216
- rb_imemo_new(imemo_callinfo,
217
- (VALUE)mid,
218
- (VALUE)flag,
219
- (VALUE)argc,
220
- (VALUE)kwarg);
221
- if (debug) rp(ci);
222
- if (kwarg) {
223
- RB_DEBUG_COUNTER_INC(ci_kw);
224
- }
225
- else {
226
- RB_DEBUG_COUNTER_INC(ci_nokw);
227
- }
228
-
229
- VM_ASSERT(vm_ci_flag(ci) == flag);
230
- VM_ASSERT(vm_ci_argc(ci) == argc);
231
-
232
- return ci;
233
- }
234
-
235
-
236
- static inline const struct rb_callinfo *
237
- vm_ci_new_runtime_(ID mid, unsigned int flag, unsigned int argc, const struct rb_callinfo_kwarg *kwarg, const char *file, int line)
238
- {
239
- RB_DEBUG_COUNTER_INC(ci_runtime);
240
- return vm_ci_new_(mid, flag, argc, kwarg, file, line);
241
- }
242
-
243
- #define VM_CALLINFO_NOT_UNDER_GC IMEMO_FL_USER0
244
-
245
- static inline bool
246
- vm_ci_markable(const struct rb_callinfo *ci)
247
- {
248
- if (! ci) {
249
- return false; /* or true? This is Qfalse... */
250
- }
251
- else if (vm_ci_packed_p(ci)) {
252
- return true;
253
- }
254
- else {
255
- VM_ASSERT(IMEMO_TYPE_P(ci, imemo_callinfo));
256
- return ! FL_ANY_RAW((VALUE)ci, VM_CALLINFO_NOT_UNDER_GC);
257
- }
258
- }
259
-
260
- #define VM_CI_ON_STACK(mid_, flags_, argc_, kwarg_) \
261
- (struct rb_callinfo) { \
262
- .flags = T_IMEMO | \
263
- (imemo_callinfo << FL_USHIFT) | \
264
- VM_CALLINFO_NOT_UNDER_GC, \
265
- .mid = mid_, \
266
- .flag = flags_, \
267
- .argc = argc_, \
268
- .kwarg = kwarg_, \
269
- }
270
-
271
- typedef VALUE (*vm_call_handler)(
272
- struct rb_execution_context_struct *ec,
273
- struct rb_control_frame_struct *cfp,
274
- struct rb_calling_info *calling);
275
-
276
- // imemo_callcache
277
-
278
- struct rb_callcache {
279
- const VALUE flags;
280
-
281
- /* inline cache: key */
282
- const VALUE klass; // should not mark it because klass can not be free'd
283
- // because of this marking. When klass is collected,
284
- // cc will be cleared (cc->klass = 0) at vm_ccs_free().
285
-
286
- /* inline cache: values */
287
- const struct rb_callable_method_entry_struct * const cme_;
288
- const vm_call_handler call_;
289
-
290
- union {
291
- struct {
292
- uintptr_t value; // Shape ID in upper bits, index in lower bits
293
- } attr;
294
- const enum method_missing_reason method_missing_reason; /* used by method_missing */
295
- VALUE v;
296
- const struct rb_builtin_function *bf;
297
- } aux_;
298
- };
299
-
300
- #define VM_CALLCACHE_UNMARKABLE FL_FREEZE
301
- #define VM_CALLCACHE_ON_STACK FL_EXIVAR
302
-
303
- /* VM_CALLCACHE_IVAR used for IVAR/ATTRSET/STRUCT_AREF/STRUCT_ASET methods */
304
- #define VM_CALLCACHE_IVAR IMEMO_FL_USER0
305
- #define VM_CALLCACHE_BF IMEMO_FL_USER1
306
- #define VM_CALLCACHE_SUPER IMEMO_FL_USER2
307
- #define VM_CALLCACHE_REFINEMENT IMEMO_FL_USER3
308
-
309
- enum vm_cc_type {
310
- cc_type_normal, // chained from ccs
311
- cc_type_super,
312
- cc_type_refinement,
313
- };
314
-
315
- extern const struct rb_callcache *rb_vm_empty_cc(void);
316
- extern const struct rb_callcache *rb_vm_empty_cc_for_super(void);
317
-
318
- #define vm_cc_empty() rb_vm_empty_cc()
319
-
320
- static inline void vm_cc_attr_index_set(const struct rb_callcache *cc, attr_index_t index, shape_id_t dest_shape_id);
321
-
322
- static inline void
323
- vm_cc_attr_index_initialize(const struct rb_callcache *cc, shape_id_t shape_id)
324
- {
325
- vm_cc_attr_index_set(cc, (attr_index_t)-1, shape_id);
326
- }
327
-
328
- static inline const struct rb_callcache *
329
- vm_cc_new(VALUE klass,
330
- const struct rb_callable_method_entry_struct *cme,
331
- vm_call_handler call,
332
- enum vm_cc_type type)
333
- {
334
- const struct rb_callcache *cc = (const struct rb_callcache *)rb_imemo_new(imemo_callcache, (VALUE)cme, (VALUE)call, 0, klass);
335
-
336
- switch (type) {
337
- case cc_type_normal:
338
- break;
339
- case cc_type_super:
340
- *(VALUE *)&cc->flags |= VM_CALLCACHE_SUPER;
341
- break;
342
- case cc_type_refinement:
343
- *(VALUE *)&cc->flags |= VM_CALLCACHE_REFINEMENT;
344
- break;
345
- }
346
-
347
- vm_cc_attr_index_initialize(cc, INVALID_SHAPE_ID);
348
- RB_DEBUG_COUNTER_INC(cc_new);
349
- return cc;
350
- }
351
-
352
- static inline bool
353
- vm_cc_super_p(const struct rb_callcache *cc)
354
- {
355
- return (cc->flags & VM_CALLCACHE_SUPER) != 0;
356
- }
357
-
358
- static inline bool
359
- vm_cc_refinement_p(const struct rb_callcache *cc)
360
- {
361
- return (cc->flags & VM_CALLCACHE_REFINEMENT) != 0;
362
- }
363
-
364
- #define VM_CC_ON_STACK(clazz, call, aux, cme) \
365
- (struct rb_callcache) { \
366
- .flags = T_IMEMO | \
367
- (imemo_callcache << FL_USHIFT) | \
368
- VM_CALLCACHE_UNMARKABLE | \
369
- VM_CALLCACHE_ON_STACK, \
370
- .klass = clazz, \
371
- .cme_ = cme, \
372
- .call_ = call, \
373
- .aux_ = aux, \
374
- }
375
-
376
- static inline bool
377
- vm_cc_class_check(const struct rb_callcache *cc, VALUE klass)
378
- {
379
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
380
- VM_ASSERT(cc->klass == 0 ||
381
- RB_TYPE_P(cc->klass, T_CLASS) || RB_TYPE_P(cc->klass, T_ICLASS));
382
- return cc->klass == klass;
383
- }
384
-
385
- static inline int
386
- vm_cc_markable(const struct rb_callcache *cc)
387
- {
388
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
389
- return FL_TEST_RAW((VALUE)cc, VM_CALLCACHE_UNMARKABLE) == 0;
390
- }
391
-
392
- static inline const struct rb_callable_method_entry_struct *
393
- vm_cc_cme(const struct rb_callcache *cc)
394
- {
395
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
396
- VM_ASSERT(cc->call_ == NULL || // not initialized yet
397
- !vm_cc_markable(cc) ||
398
- cc->cme_ != NULL);
399
-
400
- return cc->cme_;
401
- }
402
-
403
- static inline vm_call_handler
404
- vm_cc_call(const struct rb_callcache *cc)
405
- {
406
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
407
- VM_ASSERT(cc->call_ != NULL);
408
- return cc->call_;
409
- }
410
-
411
- static inline attr_index_t
412
- vm_cc_attr_index(const struct rb_callcache *cc)
413
- {
414
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
415
- return (attr_index_t)((cc->aux_.attr.value & SHAPE_FLAG_MASK) - 1);
416
- }
417
-
418
- static inline shape_id_t
419
- vm_cc_attr_index_dest_shape_id(const struct rb_callcache *cc)
420
- {
421
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
422
-
423
- return cc->aux_.attr.value >> SHAPE_FLAG_SHIFT;
424
- }
425
-
426
- static inline void
427
- vm_cc_atomic_shape_and_index(const struct rb_callcache *cc, shape_id_t * shape_id, attr_index_t * index)
428
- {
429
- uintptr_t cache_value = cc->aux_.attr.value; // Atomically read 64 bits
430
- *shape_id = (shape_id_t)(cache_value >> SHAPE_FLAG_SHIFT);
431
- *index = (attr_index_t)(cache_value & SHAPE_FLAG_MASK) - 1;
432
- return;
433
- }
434
-
435
- static inline void
436
- vm_ic_atomic_shape_and_index(const struct iseq_inline_iv_cache_entry *ic, shape_id_t * shape_id, attr_index_t * index)
437
- {
438
- uintptr_t cache_value = ic->value; // Atomically read 64 bits
439
- *shape_id = (shape_id_t)(cache_value >> SHAPE_FLAG_SHIFT);
440
- *index = (attr_index_t)(cache_value & SHAPE_FLAG_MASK) - 1;
441
- return;
442
- }
443
-
444
- static inline shape_id_t
445
- vm_ic_attr_index_dest_shape_id(const struct iseq_inline_iv_cache_entry *ic)
446
- {
447
- return (shape_id_t)(ic->value >> SHAPE_FLAG_SHIFT);
448
- }
449
-
450
- static inline unsigned int
451
- vm_cc_cmethod_missing_reason(const struct rb_callcache *cc)
452
- {
453
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
454
- return cc->aux_.method_missing_reason;
455
- }
456
-
457
- static inline bool
458
- vm_cc_invalidated_p(const struct rb_callcache *cc)
459
- {
460
- if (cc->klass && !METHOD_ENTRY_INVALIDATED(vm_cc_cme(cc))) {
461
- return false;
462
- }
463
- else {
464
- return true;
465
- }
466
- }
467
-
468
- // For RJIT. cc_cme is supposed to have inlined `vm_cc_cme(cc)`.
469
- static inline bool
470
- vm_cc_valid_p(const struct rb_callcache *cc, const rb_callable_method_entry_t *cc_cme, VALUE klass)
471
- {
472
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
473
- if (cc->klass == klass && !METHOD_ENTRY_INVALIDATED(cc_cme)) {
474
- return 1;
475
- }
476
- else {
477
- return 0;
478
- }
479
- }
480
-
481
- /* callcache: mutate */
482
-
483
- static inline void
484
- vm_cc_call_set(const struct rb_callcache *cc, vm_call_handler call)
485
- {
486
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
487
- VM_ASSERT(cc != vm_cc_empty());
488
- *(vm_call_handler *)&cc->call_ = call;
489
- }
490
-
491
- static inline void
492
- set_vm_cc_ivar(const struct rb_callcache *cc)
493
- {
494
- *(VALUE *)&cc->flags |= VM_CALLCACHE_IVAR;
495
- }
496
-
497
- static inline void
498
- vm_cc_attr_index_set(const struct rb_callcache *cc, attr_index_t index, shape_id_t dest_shape_id)
499
- {
500
- uintptr_t *attr_value = (uintptr_t *)&cc->aux_.attr.value;
501
- if (!vm_cc_markable(cc)) {
502
- *attr_value = (uintptr_t)INVALID_SHAPE_ID << SHAPE_FLAG_SHIFT;
503
- return;
504
- }
505
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
506
- VM_ASSERT(cc != vm_cc_empty());
507
- *attr_value = (attr_index_t)(index + 1) | ((uintptr_t)(dest_shape_id) << SHAPE_FLAG_SHIFT);
508
- set_vm_cc_ivar(cc);
509
- }
510
-
511
- static inline bool
512
- vm_cc_ivar_p(const struct rb_callcache *cc)
513
- {
514
- return (cc->flags & VM_CALLCACHE_IVAR) != 0;
515
- }
516
-
517
- static inline void
518
- vm_ic_attr_index_set(const rb_iseq_t *iseq, const struct iseq_inline_iv_cache_entry *ic, attr_index_t index, shape_id_t dest_shape_id)
519
- {
520
- *(uintptr_t *)&ic->value = ((uintptr_t)dest_shape_id << SHAPE_FLAG_SHIFT) | (attr_index_t)(index + 1);
521
- }
522
-
523
- static inline void
524
- vm_ic_attr_index_initialize(const struct iseq_inline_iv_cache_entry *ic, shape_id_t shape_id)
525
- {
526
- *(uintptr_t *)&ic->value = (uintptr_t)shape_id << SHAPE_FLAG_SHIFT;
527
- }
528
-
529
- static inline void
530
- vm_cc_method_missing_reason_set(const struct rb_callcache *cc, enum method_missing_reason reason)
531
- {
532
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
533
- VM_ASSERT(cc != vm_cc_empty());
534
- *(enum method_missing_reason *)&cc->aux_.method_missing_reason = reason;
535
- }
536
-
537
- static inline void
538
- vm_cc_bf_set(const struct rb_callcache *cc, const struct rb_builtin_function *bf)
539
- {
540
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
541
- VM_ASSERT(cc != vm_cc_empty());
542
- *(const struct rb_builtin_function **)&cc->aux_.bf = bf;
543
- *(VALUE *)&cc->flags |= VM_CALLCACHE_BF;
544
- }
545
-
546
- static inline bool
547
- vm_cc_bf_p(const struct rb_callcache *cc)
548
- {
549
- return (cc->flags & VM_CALLCACHE_BF) != 0;
550
- }
551
-
552
- static inline void
553
- vm_cc_invalidate(const struct rb_callcache *cc)
554
- {
555
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
556
- VM_ASSERT(cc != vm_cc_empty());
557
- VM_ASSERT(cc->klass != 0); // should be enable
558
-
559
- *(VALUE *)&cc->klass = 0;
560
- RB_DEBUG_COUNTER_INC(cc_ent_invalidate);
561
- }
562
-
563
- /* calldata */
564
-
565
- struct rb_call_data {
566
- const struct rb_callinfo *ci;
567
- const struct rb_callcache *cc;
568
- };
569
-
570
- struct rb_class_cc_entries {
571
- #if VM_CHECK_MODE > 0
572
- VALUE debug_sig;
573
- #endif
574
- int capa;
575
- int len;
576
- const struct rb_callable_method_entry_struct *cme;
577
- struct rb_class_cc_entries_entry {
578
- const struct rb_callinfo *ci;
579
- const struct rb_callcache *cc;
580
- } *entries;
581
- };
582
-
583
- #if VM_CHECK_MODE > 0
584
-
585
- const rb_callable_method_entry_t *rb_vm_lookup_overloaded_cme(const rb_callable_method_entry_t *cme);
586
- void rb_vm_dump_overloaded_cme_table(void);
587
-
588
- static inline bool
589
- vm_ccs_p(const struct rb_class_cc_entries *ccs)
590
- {
591
- return ccs->debug_sig == ~(VALUE)ccs;
592
- }
593
-
594
- static inline bool
595
- vm_cc_check_cme(const struct rb_callcache *cc, const rb_callable_method_entry_t *cme)
596
- {
597
- if (vm_cc_cme(cc) == cme ||
598
- (cme->def->iseq_overload && vm_cc_cme(cc) == rb_vm_lookup_overloaded_cme(cme))) {
599
- return true;
600
- }
601
- else {
602
- #if 1
603
- // debug print
604
-
605
- fprintf(stderr, "iseq_overload:%d\n", (int)cme->def->iseq_overload);
606
- rp(cme);
607
- rp(vm_cc_cme(cc));
608
- rb_vm_lookup_overloaded_cme(cme);
609
- #endif
610
- return false;
611
- }
612
- }
613
-
614
- #endif
615
-
616
- // gc.c
617
- void rb_vm_ccs_free(struct rb_class_cc_entries *ccs);
618
-
619
- #endif /* RUBY_VM_CALLINFO_H */