datadog-ruby_core_source 3.3.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (732) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/publish.yml +18 -0
  3. data/.gitignore +7 -0
  4. data/.idea/vcs.xml +28 -0
  5. data/CHANGELOG.datadog.md +4 -0
  6. data/CHANGELOG.md +284 -0
  7. data/CONTRIBUTING.md +2 -0
  8. data/Gemfile +4 -0
  9. data/LEGAL +534 -0
  10. data/LICENSE.txt +22 -0
  11. data/README.md +39 -0
  12. data/RUBY_LICENSE +56 -0
  13. data/Rakefile +73 -0
  14. data/datadog-ruby_core_source.gemspec +21 -0
  15. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +21 -0
  16. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ccan/build_assert/build_assert.h +40 -0
  17. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ccan/check_type/check_type.h +63 -0
  18. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ccan/container_of/container_of.h +142 -0
  19. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ccan/list/list.h +773 -0
  20. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ccan/str/str.h +16 -0
  21. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +50 -0
  22. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +109 -0
  23. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +51 -0
  24. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +69 -0
  25. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +334 -0
  26. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +116 -0
  27. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id.h +250 -0
  28. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +31 -0
  29. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +217 -0
  30. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +1570 -0
  31. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/internal.h +2035 -0
  32. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/iseq.h +307 -0
  33. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +746 -0
  34. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/method.h +218 -0
  35. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node.h +540 -0
  36. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +198 -0
  37. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +1601 -0
  38. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +103 -0
  39. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +61 -0
  40. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +206 -0
  41. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +43 -0
  42. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +254 -0
  43. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +938 -0
  44. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +370 -0
  45. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +1 -0
  46. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ruby_assert.h +54 -0
  47. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ruby_atomic.h +233 -0
  48. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +48 -0
  49. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +108 -0
  50. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_pthread.h +54 -0
  51. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +36 -0
  52. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +42 -0
  53. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +139 -0
  54. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +73 -0
  55. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +3667 -0
  56. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +213 -0
  57. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_core.h +1769 -0
  58. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_debug.h +37 -0
  59. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +192 -0
  60. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +255 -0
  61. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_opts.h +56 -0
  62. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +214 -0
  63. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +21 -0
  64. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ccan/build_assert/build_assert.h +40 -0
  65. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ccan/check_type/check_type.h +63 -0
  66. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ccan/container_of/container_of.h +142 -0
  67. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ccan/list/list.h +773 -0
  68. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ccan/str/str.h +16 -0
  69. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +51 -0
  70. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +109 -0
  71. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +51 -0
  72. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +69 -0
  73. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +334 -0
  74. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +116 -0
  75. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id.h +250 -0
  76. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +31 -0
  77. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +217 -0
  78. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +1570 -0
  79. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/internal.h +2036 -0
  80. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/iseq.h +307 -0
  81. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +746 -0
  82. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/method.h +218 -0
  83. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node.h +540 -0
  84. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +198 -0
  85. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +1601 -0
  86. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +103 -0
  87. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +61 -0
  88. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +206 -0
  89. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +43 -0
  90. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +254 -0
  91. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +938 -0
  92. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +370 -0
  93. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +1 -0
  94. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ruby_assert.h +54 -0
  95. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ruby_atomic.h +233 -0
  96. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +48 -0
  97. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +108 -0
  98. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_pthread.h +54 -0
  99. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +36 -0
  100. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +42 -0
  101. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +139 -0
  102. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +73 -0
  103. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +3667 -0
  104. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +213 -0
  105. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_core.h +1767 -0
  106. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_debug.h +37 -0
  107. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +192 -0
  108. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +255 -0
  109. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_opts.h +56 -0
  110. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +214 -0
  111. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +21 -0
  112. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ccan/build_assert/build_assert.h +40 -0
  113. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ccan/check_type/check_type.h +63 -0
  114. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ccan/container_of/container_of.h +142 -0
  115. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ccan/list/list.h +773 -0
  116. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ccan/str/str.h +16 -0
  117. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +51 -0
  118. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +109 -0
  119. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +51 -0
  120. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +69 -0
  121. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +334 -0
  122. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +116 -0
  123. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id.h +250 -0
  124. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +31 -0
  125. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +217 -0
  126. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +1570 -0
  127. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/internal.h +2036 -0
  128. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/iseq.h +308 -0
  129. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +746 -0
  130. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/method.h +218 -0
  131. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node.h +540 -0
  132. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +198 -0
  133. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +1601 -0
  134. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +103 -0
  135. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +61 -0
  136. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +200 -0
  137. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +43 -0
  138. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +254 -0
  139. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +938 -0
  140. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +370 -0
  141. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +1 -0
  142. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ruby_assert.h +54 -0
  143. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ruby_atomic.h +233 -0
  144. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +48 -0
  145. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +108 -0
  146. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_pthread.h +54 -0
  147. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +36 -0
  148. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +42 -0
  149. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +139 -0
  150. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +73 -0
  151. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +3667 -0
  152. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +213 -0
  153. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_core.h +1768 -0
  154. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_debug.h +37 -0
  155. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +192 -0
  156. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +255 -0
  157. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_opts.h +56 -0
  158. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +214 -0
  159. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +22 -0
  160. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +117 -0
  161. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ccan/build_assert/build_assert.h +40 -0
  162. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ccan/check_type/check_type.h +63 -0
  163. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ccan/container_of/container_of.h +142 -0
  164. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ccan/list/list.h +791 -0
  165. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ccan/str/str.h +17 -0
  166. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +53 -0
  167. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +246 -0
  168. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +423 -0
  169. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +32 -0
  170. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +70 -0
  171. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +343 -0
  172. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +227 -0
  173. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/id.h +343 -0
  174. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/id_table.h +39 -0
  175. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +251 -0
  176. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +9215 -0
  177. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/array.h +151 -0
  178. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/basic_operators.h +63 -0
  179. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/bignum.h +244 -0
  180. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/bits.h +568 -0
  181. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/class.h +276 -0
  182. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/cmdlineopt.h +65 -0
  183. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/compar.h +29 -0
  184. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/compile.h +34 -0
  185. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/compilers.h +107 -0
  186. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/complex.h +29 -0
  187. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/cont.h +35 -0
  188. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/dir.h +16 -0
  189. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enc.h +19 -0
  190. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/encoding.h +35 -0
  191. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enum.h +18 -0
  192. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enumerator.h +21 -0
  193. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/error.h +216 -0
  194. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/eval.h +32 -0
  195. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/file.h +38 -0
  196. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/fixnum.h +184 -0
  197. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/gc.h +364 -0
  198. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/hash.h +191 -0
  199. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/imemo.h +240 -0
  200. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/inits.h +50 -0
  201. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/io.h +137 -0
  202. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/load.h +18 -0
  203. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/loadpath.h +16 -0
  204. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/math.h +23 -0
  205. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/missing.h +18 -0
  206. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/numeric.h +273 -0
  207. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/object.h +60 -0
  208. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/parse.h +108 -0
  209. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/proc.h +30 -0
  210. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/process.h +124 -0
  211. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/ractor.h +6 -0
  212. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/random.h +17 -0
  213. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/range.h +40 -0
  214. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/rational.h +71 -0
  215. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/re.h +28 -0
  216. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/ruby_parser.h +69 -0
  217. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/sanitizers.h +186 -0
  218. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/serial.h +23 -0
  219. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/signal.h +25 -0
  220. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/static_assert.h +16 -0
  221. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/string.h +159 -0
  222. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/struct.h +127 -0
  223. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/symbol.h +45 -0
  224. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/thread.h +78 -0
  225. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/time.h +34 -0
  226. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/transcode.h +23 -0
  227. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/util.h +27 -0
  228. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/variable.h +72 -0
  229. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/vm.h +136 -0
  230. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/warnings.h +16 -0
  231. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal.h +112 -0
  232. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/iseq.h +338 -0
  233. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +791 -0
  234. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/method.h +254 -0
  235. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node.h +128 -0
  236. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +212 -0
  237. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +128 -0
  238. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +43 -0
  239. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +243 -0
  240. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +564 -0
  241. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +32 -0
  242. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_st.h +162 -0
  243. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_value.h +106 -0
  244. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/ast.h +4612 -0
  245. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/defines.h +94 -0
  246. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/diagnostic.h +297 -0
  247. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/encoding.h +248 -0
  248. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/extension.h +18 -0
  249. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/node.h +57 -0
  250. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/options.h +204 -0
  251. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/pack.h +152 -0
  252. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/parser.h +716 -0
  253. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/prettyprint.h +26 -0
  254. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/prism.h +272 -0
  255. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/regexp.h +33 -0
  256. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_buffer.h +146 -0
  257. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_char.h +205 -0
  258. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_constant_pool.h +191 -0
  259. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_list.h +97 -0
  260. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_memchr.h +29 -0
  261. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_newline_list.h +104 -0
  262. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_state_stack.h +42 -0
  263. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_string.h +150 -0
  264. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_string_list.h +44 -0
  265. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_strncasecmp.h +32 -0
  266. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_strpbrk.h +43 -0
  267. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/version.h +29 -0
  268. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism_compile.h +29 -0
  269. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +42 -0
  270. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ractor_core.h +393 -0
  271. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +254 -0
  272. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +1004 -0
  273. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +371 -0
  274. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +5 -0
  275. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +101 -0
  276. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +164 -0
  277. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ruby_assert.h +14 -0
  278. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ruby_atomic.h +23 -0
  279. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rubyparser.h +1403 -0
  280. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/shape.h +232 -0
  281. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +48 -0
  282. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +118 -0
  283. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_none.h +21 -0
  284. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_pthread.h +166 -0
  285. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +58 -0
  286. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +58 -0
  287. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +138 -0
  288. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +39 -0
  289. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +69 -0
  290. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +5436 -0
  291. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +244 -0
  292. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +619 -0
  293. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_core.h +2201 -0
  294. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_debug.h +122 -0
  295. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +199 -0
  296. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +261 -0
  297. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_opts.h +67 -0
  298. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +137 -0
  299. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +245 -0
  300. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +72 -0
  301. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +22 -0
  302. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +117 -0
  303. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ccan/build_assert/build_assert.h +40 -0
  304. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ccan/check_type/check_type.h +63 -0
  305. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ccan/container_of/container_of.h +142 -0
  306. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ccan/list/list.h +791 -0
  307. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ccan/str/str.h +17 -0
  308. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +53 -0
  309. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +246 -0
  310. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +423 -0
  311. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +32 -0
  312. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +70 -0
  313. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +343 -0
  314. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +227 -0
  315. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/id.h +343 -0
  316. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/id_table.h +39 -0
  317. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +251 -0
  318. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +9215 -0
  319. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/array.h +151 -0
  320. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/basic_operators.h +63 -0
  321. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/bignum.h +244 -0
  322. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/bits.h +568 -0
  323. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/class.h +277 -0
  324. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/cmdlineopt.h +65 -0
  325. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/compar.h +29 -0
  326. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/compile.h +34 -0
  327. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/compilers.h +107 -0
  328. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/complex.h +29 -0
  329. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/cont.h +35 -0
  330. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/dir.h +16 -0
  331. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enc.h +19 -0
  332. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/encoding.h +35 -0
  333. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enum.h +18 -0
  334. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enumerator.h +21 -0
  335. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/error.h +216 -0
  336. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/eval.h +33 -0
  337. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/file.h +38 -0
  338. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/fixnum.h +184 -0
  339. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/gc.h +364 -0
  340. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/hash.h +191 -0
  341. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/imemo.h +240 -0
  342. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/inits.h +50 -0
  343. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/io.h +137 -0
  344. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/load.h +18 -0
  345. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/loadpath.h +16 -0
  346. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/math.h +23 -0
  347. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/missing.h +18 -0
  348. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/numeric.h +273 -0
  349. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/object.h +62 -0
  350. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/parse.h +108 -0
  351. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/proc.h +30 -0
  352. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/process.h +124 -0
  353. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/ractor.h +6 -0
  354. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/random.h +17 -0
  355. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/range.h +40 -0
  356. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/rational.h +71 -0
  357. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/re.h +28 -0
  358. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/ruby_parser.h +69 -0
  359. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/sanitizers.h +186 -0
  360. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/serial.h +23 -0
  361. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/signal.h +25 -0
  362. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/static_assert.h +16 -0
  363. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/string.h +160 -0
  364. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/struct.h +127 -0
  365. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/symbol.h +45 -0
  366. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/thread.h +78 -0
  367. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/time.h +34 -0
  368. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/transcode.h +23 -0
  369. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/util.h +27 -0
  370. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/variable.h +72 -0
  371. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/vm.h +136 -0
  372. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/warnings.h +16 -0
  373. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal.h +112 -0
  374. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/iseq.h +338 -0
  375. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +791 -0
  376. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/method.h +254 -0
  377. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node.h +128 -0
  378. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +212 -0
  379. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +128 -0
  380. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +43 -0
  381. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +243 -0
  382. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +564 -0
  383. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +32 -0
  384. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_st.h +162 -0
  385. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_value.h +106 -0
  386. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/ast.h +4612 -0
  387. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/defines.h +94 -0
  388. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/diagnostic.h +297 -0
  389. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/encoding.h +248 -0
  390. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/extension.h +18 -0
  391. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/node.h +57 -0
  392. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/options.h +204 -0
  393. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/pack.h +152 -0
  394. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/parser.h +716 -0
  395. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/prettyprint.h +26 -0
  396. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/prism.h +272 -0
  397. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/regexp.h +33 -0
  398. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_buffer.h +146 -0
  399. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_char.h +205 -0
  400. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_constant_pool.h +191 -0
  401. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_list.h +97 -0
  402. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_memchr.h +29 -0
  403. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_newline_list.h +104 -0
  404. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_state_stack.h +42 -0
  405. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_string.h +150 -0
  406. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_string_list.h +44 -0
  407. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_strncasecmp.h +32 -0
  408. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_strpbrk.h +43 -0
  409. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/version.h +29 -0
  410. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism_compile.h +29 -0
  411. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +42 -0
  412. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ractor_core.h +393 -0
  413. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +254 -0
  414. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +1006 -0
  415. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +371 -0
  416. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +5 -0
  417. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +101 -0
  418. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +164 -0
  419. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ruby_assert.h +14 -0
  420. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ruby_atomic.h +23 -0
  421. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rubyparser.h +1405 -0
  422. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/shape.h +233 -0
  423. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +48 -0
  424. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +118 -0
  425. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_none.h +21 -0
  426. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_pthread.h +166 -0
  427. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +58 -0
  428. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +58 -0
  429. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +138 -0
  430. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +39 -0
  431. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +69 -0
  432. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +5436 -0
  433. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +244 -0
  434. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +614 -0
  435. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_core.h +2202 -0
  436. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_debug.h +122 -0
  437. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +199 -0
  438. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +261 -0
  439. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_opts.h +67 -0
  440. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +137 -0
  441. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +245 -0
  442. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +72 -0
  443. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +22 -0
  444. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +119 -0
  445. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ccan/build_assert/build_assert.h +40 -0
  446. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ccan/check_type/check_type.h +63 -0
  447. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ccan/container_of/container_of.h +142 -0
  448. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ccan/list/list.h +791 -0
  449. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ccan/str/str.h +17 -0
  450. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +53 -0
  451. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +191 -0
  452. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +423 -0
  453. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +34 -0
  454. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +70 -0
  455. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +324 -0
  456. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +237 -0
  457. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/id.h +343 -0
  458. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/id_table.h +39 -0
  459. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +259 -0
  460. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +9530 -0
  461. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/array.h +151 -0
  462. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/basic_operators.h +63 -0
  463. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/bignum.h +244 -0
  464. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/bits.h +568 -0
  465. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +283 -0
  466. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/cmdlineopt.h +65 -0
  467. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/compar.h +29 -0
  468. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/compile.h +34 -0
  469. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/compilers.h +107 -0
  470. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/complex.h +29 -0
  471. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/cont.h +35 -0
  472. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/dir.h +16 -0
  473. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/enc.h +19 -0
  474. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/encoding.h +36 -0
  475. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/enum.h +18 -0
  476. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/enumerator.h +21 -0
  477. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/error.h +216 -0
  478. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/eval.h +33 -0
  479. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/file.h +38 -0
  480. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/fixnum.h +184 -0
  481. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/gc.h +334 -0
  482. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/hash.h +191 -0
  483. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/imemo.h +260 -0
  484. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/inits.h +47 -0
  485. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/io.h +140 -0
  486. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/load.h +18 -0
  487. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/loadpath.h +16 -0
  488. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/math.h +23 -0
  489. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/missing.h +19 -0
  490. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/numeric.h +274 -0
  491. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/object.h +63 -0
  492. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/parse.h +117 -0
  493. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/proc.h +30 -0
  494. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/process.h +124 -0
  495. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/ractor.h +6 -0
  496. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/random.h +17 -0
  497. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/range.h +40 -0
  498. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/rational.h +71 -0
  499. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/re.h +28 -0
  500. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/ruby_parser.h +102 -0
  501. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/sanitizers.h +297 -0
  502. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/serial.h +23 -0
  503. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/signal.h +24 -0
  504. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/st.h +11 -0
  505. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/static_assert.h +16 -0
  506. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/string.h +182 -0
  507. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/struct.h +127 -0
  508. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/symbol.h +45 -0
  509. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/thread.h +79 -0
  510. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/time.h +34 -0
  511. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/transcode.h +23 -0
  512. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/util.h +27 -0
  513. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/variable.h +72 -0
  514. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/vm.h +137 -0
  515. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/warnings.h +16 -0
  516. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal.h +108 -0
  517. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/iseq.h +340 -0
  518. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +1419 -0
  519. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/method.h +255 -0
  520. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node.h +111 -0
  521. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +224 -0
  522. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +128 -0
  523. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +43 -0
  524. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +243 -0
  525. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +564 -0
  526. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +32 -0
  527. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_st.h +162 -0
  528. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_value.h +106 -0
  529. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/ast.h +6245 -0
  530. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/defines.h +206 -0
  531. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/diagnostic.h +433 -0
  532. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/encoding.h +283 -0
  533. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/extension.h +19 -0
  534. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/node.h +150 -0
  535. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/options.h +305 -0
  536. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/pack.h +163 -0
  537. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/parser.h +891 -0
  538. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/prettyprint.h +34 -0
  539. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/prism.h +347 -0
  540. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +33 -0
  541. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/static_literals.h +120 -0
  542. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_buffer.h +218 -0
  543. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_char.h +205 -0
  544. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_constant_pool.h +226 -0
  545. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_integer.h +119 -0
  546. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_list.h +97 -0
  547. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_memchr.h +29 -0
  548. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_newline_list.h +102 -0
  549. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string.h +174 -0
  550. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +44 -0
  551. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_strncasecmp.h +32 -0
  552. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_strpbrk.h +46 -0
  553. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/version.h +29 -0
  554. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism_compile.h +88 -0
  555. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +42 -0
  556. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ractor_core.h +393 -0
  557. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +254 -0
  558. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +1010 -0
  559. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +371 -0
  560. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +5 -0
  561. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +101 -0
  562. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +165 -0
  563. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ruby_assert.h +14 -0
  564. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ruby_atomic.h +23 -0
  565. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rubyparser.h +1430 -0
  566. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/shape.h +233 -0
  567. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +48 -0
  568. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +118 -0
  569. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_none.h +21 -0
  570. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_pthread.h +166 -0
  571. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +58 -0
  572. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +58 -0
  573. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +138 -0
  574. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +39 -0
  575. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +69 -0
  576. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +5643 -0
  577. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +244 -0
  578. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +605 -0
  579. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_core.h +2236 -0
  580. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_debug.h +124 -0
  581. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +199 -0
  582. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +272 -0
  583. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_opts.h +67 -0
  584. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +137 -0
  585. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +253 -0
  586. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +79 -0
  587. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +22 -0
  588. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +119 -0
  589. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/build_assert/build_assert.h +40 -0
  590. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/check_type/check_type.h +63 -0
  591. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/container_of/container_of.h +142 -0
  592. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/list/list.h +791 -0
  593. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/str/str.h +17 -0
  594. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +53 -0
  595. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +209 -0
  596. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +423 -0
  597. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +32 -0
  598. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +70 -0
  599. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +324 -0
  600. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +237 -0
  601. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/id.h +347 -0
  602. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/id_table.h +39 -0
  603. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +265 -0
  604. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +9902 -0
  605. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/array.h +152 -0
  606. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/basic_operators.h +64 -0
  607. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/bignum.h +244 -0
  608. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/bits.h +568 -0
  609. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/class.h +283 -0
  610. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/cmdlineopt.h +65 -0
  611. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/compar.h +29 -0
  612. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/compile.h +34 -0
  613. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/compilers.h +107 -0
  614. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/complex.h +29 -0
  615. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/cont.h +35 -0
  616. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/dir.h +16 -0
  617. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/enc.h +19 -0
  618. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +36 -0
  619. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/enum.h +18 -0
  620. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/enumerator.h +21 -0
  621. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/error.h +218 -0
  622. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/eval.h +33 -0
  623. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/file.h +38 -0
  624. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/fixnum.h +184 -0
  625. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/gc.h +322 -0
  626. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/hash.h +192 -0
  627. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/imemo.h +261 -0
  628. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/inits.h +47 -0
  629. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/io.h +143 -0
  630. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/load.h +18 -0
  631. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/loadpath.h +16 -0
  632. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/math.h +23 -0
  633. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/missing.h +19 -0
  634. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/numeric.h +274 -0
  635. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/object.h +63 -0
  636. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/parse.h +129 -0
  637. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/proc.h +30 -0
  638. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/process.h +124 -0
  639. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/ractor.h +6 -0
  640. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/random.h +17 -0
  641. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/range.h +40 -0
  642. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/rational.h +71 -0
  643. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/re.h +28 -0
  644. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/ruby_parser.h +102 -0
  645. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/sanitizers.h +326 -0
  646. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/serial.h +23 -0
  647. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/signal.h +24 -0
  648. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/st.h +11 -0
  649. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/static_assert.h +16 -0
  650. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/string.h +186 -0
  651. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/struct.h +127 -0
  652. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/symbol.h +45 -0
  653. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/thread.h +85 -0
  654. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/time.h +34 -0
  655. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/transcode.h +23 -0
  656. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/util.h +27 -0
  657. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/variable.h +72 -0
  658. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/vm.h +137 -0
  659. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/warnings.h +16 -0
  660. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal.h +108 -0
  661. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/iseq.h +340 -0
  662. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +1419 -0
  663. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/method.h +255 -0
  664. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node.h +111 -0
  665. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +224 -0
  666. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +128 -0
  667. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +43 -0
  668. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +244 -0
  669. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +564 -0
  670. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +32 -0
  671. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_st.h +162 -0
  672. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_value.h +106 -0
  673. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/ast.h +7524 -0
  674. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/defines.h +242 -0
  675. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/diagnostic.h +450 -0
  676. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/encoding.h +283 -0
  677. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/extension.h +19 -0
  678. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/node.h +129 -0
  679. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/options.h +396 -0
  680. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/pack.h +163 -0
  681. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/parser.h +933 -0
  682. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/prettyprint.h +34 -0
  683. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +336 -0
  684. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/regexp.h +43 -0
  685. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/static_literals.h +121 -0
  686. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_buffer.h +218 -0
  687. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_char.h +204 -0
  688. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_constant_pool.h +218 -0
  689. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_integer.h +126 -0
  690. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_list.h +97 -0
  691. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_memchr.h +29 -0
  692. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_newline_list.h +113 -0
  693. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_string.h +190 -0
  694. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strncasecmp.h +32 -0
  695. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strpbrk.h +46 -0
  696. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/version.h +29 -0
  697. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism_compile.h +99 -0
  698. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +42 -0
  699. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ractor_core.h +382 -0
  700. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +254 -0
  701. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +1006 -0
  702. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +371 -0
  703. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +5 -0
  704. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +101 -0
  705. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +165 -0
  706. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ruby_assert.h +14 -0
  707. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ruby_atomic.h +23 -0
  708. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rubyparser.h +1350 -0
  709. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/shape.h +234 -0
  710. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +48 -0
  711. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +123 -0
  712. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_none.h +21 -0
  713. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_pthread.h +168 -0
  714. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +58 -0
  715. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +58 -0
  716. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +138 -0
  717. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +39 -0
  718. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +69 -0
  719. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +5840 -0
  720. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +244 -0
  721. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +627 -0
  722. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_core.h +2222 -0
  723. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_debug.h +124 -0
  724. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +199 -0
  725. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +277 -0
  726. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_opts.h +67 -0
  727. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +137 -0
  728. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +259 -0
  729. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +79 -0
  730. data/lib/datadog/ruby_core_source/version.rb +5 -0
  731. data/lib/datadog/ruby_core_source.rb +93 -0
  732. metadata +817 -0
@@ -0,0 +1,619 @@
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 */