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,773 @@
1
+ /* Licensed under BSD-MIT - see ccan/licenses/BSD-MIT file for details */
2
+ #ifndef CCAN_LIST_H
3
+ #define CCAN_LIST_H
4
+ #include <assert.h>
5
+ #include "ccan/str/str.h"
6
+ #include "ccan/container_of/container_of.h"
7
+ #include "ccan/check_type/check_type.h"
8
+
9
+ /**
10
+ * struct list_node - an entry in a doubly-linked list
11
+ * @next: next entry (self if empty)
12
+ * @prev: previous entry (self if empty)
13
+ *
14
+ * This is used as an entry in a linked list.
15
+ * Example:
16
+ * struct child {
17
+ * const char *name;
18
+ * // Linked list of all us children.
19
+ * struct list_node list;
20
+ * };
21
+ */
22
+ struct list_node
23
+ {
24
+ struct list_node *next, *prev;
25
+ };
26
+
27
+ /**
28
+ * struct list_head - the head of a doubly-linked list
29
+ * @h: the list_head (containing next and prev pointers)
30
+ *
31
+ * This is used as the head of a linked list.
32
+ * Example:
33
+ * struct parent {
34
+ * const char *name;
35
+ * struct list_head children;
36
+ * unsigned int num_children;
37
+ * };
38
+ */
39
+ struct list_head
40
+ {
41
+ struct list_node n;
42
+ };
43
+
44
+ #define LIST_LOC __FILE__ ":" stringify(__LINE__)
45
+ #define list_debug(h, loc) ((void)loc, h)
46
+ #define list_debug_node(n, loc) ((void)loc, n)
47
+
48
+ /**
49
+ * LIST_HEAD_INIT - initializer for an empty list_head
50
+ * @name: the name of the list.
51
+ *
52
+ * Explicit initializer for an empty list.
53
+ *
54
+ * See also:
55
+ * LIST_HEAD, list_head_init()
56
+ *
57
+ * Example:
58
+ * static struct list_head my_list = LIST_HEAD_INIT(my_list);
59
+ */
60
+ #define LIST_HEAD_INIT(name) { { &name.n, &name.n } }
61
+
62
+ /**
63
+ * LIST_HEAD - define and initialize an empty list_head
64
+ * @name: the name of the list.
65
+ *
66
+ * The LIST_HEAD macro defines a list_head and initializes it to an empty
67
+ * list. It can be prepended by "static" to define a static list_head.
68
+ *
69
+ * See also:
70
+ * LIST_HEAD_INIT, list_head_init()
71
+ *
72
+ * Example:
73
+ * static LIST_HEAD(my_global_list);
74
+ */
75
+ #define LIST_HEAD(name) \
76
+ struct list_head name = LIST_HEAD_INIT(name)
77
+
78
+ /**
79
+ * list_head_init - initialize a list_head
80
+ * @h: the list_head to set to the empty list
81
+ *
82
+ * Example:
83
+ * ...
84
+ * struct parent *parent = malloc(sizeof(*parent));
85
+ *
86
+ * list_head_init(&parent->children);
87
+ * parent->num_children = 0;
88
+ */
89
+ static inline void list_head_init(struct list_head *h)
90
+ {
91
+ h->n.next = h->n.prev = &h->n;
92
+ }
93
+
94
+ /**
95
+ * list_node_init - initialize a list_node
96
+ * @n: the list_node to link to itself.
97
+ *
98
+ * You don't need to use this normally! But it lets you list_del(@n)
99
+ * safely.
100
+ */
101
+ static inline void list_node_init(struct list_node *n)
102
+ {
103
+ n->next = n->prev = n;
104
+ }
105
+
106
+ /**
107
+ * list_add_after - add an entry after an existing node in a linked list
108
+ * @h: the list_head to add the node to (for debugging)
109
+ * @p: the existing list_node to add the node after
110
+ * @n: the new list_node to add to the list.
111
+ *
112
+ * The existing list_node must already be a member of the list.
113
+ * The new list_node does not need to be initialized; it will be overwritten.
114
+ *
115
+ * Example:
116
+ * struct child c1, c2, c3;
117
+ * LIST_HEAD(h);
118
+ *
119
+ * list_add_tail(&h, &c1.list);
120
+ * list_add_tail(&h, &c3.list);
121
+ * list_add_after(&h, &c1.list, &c2.list);
122
+ */
123
+ #define list_add_after(h, p, n) list_add_after_(h, p, n, LIST_LOC)
124
+ static inline void list_add_after_(struct list_head *h,
125
+ struct list_node *p,
126
+ struct list_node *n,
127
+ const char *abortstr)
128
+ {
129
+ n->next = p->next;
130
+ n->prev = p;
131
+ p->next->prev = n;
132
+ p->next = n;
133
+ (void)list_debug(h, abortstr);
134
+ }
135
+
136
+ /**
137
+ * list_add - add an entry at the start of a linked list.
138
+ * @h: the list_head to add the node to
139
+ * @n: the list_node to add to the list.
140
+ *
141
+ * The list_node does not need to be initialized; it will be overwritten.
142
+ * Example:
143
+ * struct child *child = malloc(sizeof(*child));
144
+ *
145
+ * child->name = "marvin";
146
+ * list_add(&parent->children, &child->list);
147
+ * parent->num_children++;
148
+ */
149
+ #define list_add(h, n) list_add_(h, n, LIST_LOC)
150
+ static inline void list_add_(struct list_head *h,
151
+ struct list_node *n,
152
+ const char *abortstr)
153
+ {
154
+ list_add_after_(h, &h->n, n, abortstr);
155
+ }
156
+
157
+ /**
158
+ * list_add_before - add an entry before an existing node in a linked list
159
+ * @h: the list_head to add the node to (for debugging)
160
+ * @p: the existing list_node to add the node before
161
+ * @n: the new list_node to add to the list.
162
+ *
163
+ * The existing list_node must already be a member of the list.
164
+ * The new list_node does not need to be initialized; it will be overwritten.
165
+ *
166
+ * Example:
167
+ * list_head_init(&h);
168
+ * list_add_tail(&h, &c1.list);
169
+ * list_add_tail(&h, &c3.list);
170
+ * list_add_before(&h, &c3.list, &c2.list);
171
+ */
172
+ #define list_add_before(h, p, n) list_add_before_(h, p, n, LIST_LOC)
173
+ static inline void list_add_before_(struct list_head *h,
174
+ struct list_node *p,
175
+ struct list_node *n,
176
+ const char *abortstr)
177
+ {
178
+ n->next = p;
179
+ n->prev = p->prev;
180
+ p->prev->next = n;
181
+ p->prev = n;
182
+ (void)list_debug(h, abortstr);
183
+ }
184
+
185
+ /**
186
+ * list_add_tail - add an entry at the end of a linked list.
187
+ * @h: the list_head to add the node to
188
+ * @n: the list_node to add to the list.
189
+ *
190
+ * The list_node does not need to be initialized; it will be overwritten.
191
+ * Example:
192
+ * list_add_tail(&parent->children, &child->list);
193
+ * parent->num_children++;
194
+ */
195
+ #define list_add_tail(h, n) list_add_tail_(h, n, LIST_LOC)
196
+ static inline void list_add_tail_(struct list_head *h,
197
+ struct list_node *n,
198
+ const char *abortstr)
199
+ {
200
+ list_add_before_(h, &h->n, n, abortstr);
201
+ }
202
+
203
+ /**
204
+ * list_empty - is a list empty?
205
+ * @h: the list_head
206
+ *
207
+ * If the list is empty, returns true.
208
+ *
209
+ * Example:
210
+ * assert(list_empty(&parent->children) == (parent->num_children == 0));
211
+ */
212
+ #define list_empty(h) list_empty_(h, LIST_LOC)
213
+ static inline int list_empty_(const struct list_head *h, const char* abortstr)
214
+ {
215
+ (void)list_debug(h, abortstr);
216
+ return h->n.next == &h->n;
217
+ }
218
+
219
+ /**
220
+ * list_empty_nodebug - is a list empty (and don't perform debug checks)?
221
+ * @h: the list_head
222
+ *
223
+ * If the list is empty, returns true.
224
+ * This differs from list_empty() in that if CCAN_LIST_DEBUG is set it
225
+ * will NOT perform debug checks. Only use this function if you REALLY
226
+ * know what you're doing.
227
+ *
228
+ * Example:
229
+ * assert(list_empty_nodebug(&parent->children) == (parent->num_children == 0));
230
+ */
231
+ #ifndef CCAN_LIST_DEBUG
232
+ #define list_empty_nodebug(h) list_empty(h)
233
+ #else
234
+ static inline int list_empty_nodebug(const struct list_head *h)
235
+ {
236
+ return h->n.next == &h->n;
237
+ }
238
+ #endif
239
+
240
+ /**
241
+ * list_del - delete an entry from an (unknown) linked list.
242
+ * @n: the list_node to delete from the list.
243
+ *
244
+ * Note that this leaves @n in an undefined state; it can be added to
245
+ * another list, but not deleted again.
246
+ *
247
+ * See also:
248
+ * list_del_from(), list_del_init()
249
+ *
250
+ * Example:
251
+ * list_del(&child->list);
252
+ * parent->num_children--;
253
+ */
254
+ #define list_del(n) list_del_(n, LIST_LOC)
255
+ static inline void list_del_(struct list_node *n, const char* abortstr)
256
+ {
257
+ (void)list_debug_node(n, abortstr);
258
+ n->next->prev = n->prev;
259
+ n->prev->next = n->next;
260
+ #ifdef CCAN_LIST_DEBUG
261
+ /* Catch use-after-del. */
262
+ n->next = n->prev = NULL;
263
+ #endif
264
+ }
265
+
266
+ /**
267
+ * list_del_init - delete a node, and reset it so it can be deleted again.
268
+ * @n: the list_node to be deleted.
269
+ *
270
+ * list_del(@n) or list_del_init() again after this will be safe,
271
+ * which can be useful in some cases.
272
+ *
273
+ * See also:
274
+ * list_del_from(), list_del()
275
+ *
276
+ * Example:
277
+ * list_del_init(&child->list);
278
+ * parent->num_children--;
279
+ */
280
+ #define list_del_init(n) list_del_init_(n, LIST_LOC)
281
+ static inline void list_del_init_(struct list_node *n, const char *abortstr)
282
+ {
283
+ list_del_(n, abortstr);
284
+ list_node_init(n);
285
+ }
286
+
287
+ /**
288
+ * list_del_from - delete an entry from a known linked list.
289
+ * @h: the list_head the node is in.
290
+ * @n: the list_node to delete from the list.
291
+ *
292
+ * This explicitly indicates which list a node is expected to be in,
293
+ * which is better documentation and can catch more bugs.
294
+ *
295
+ * See also: list_del()
296
+ *
297
+ * Example:
298
+ * list_del_from(&parent->children, &child->list);
299
+ * parent->num_children--;
300
+ */
301
+ static inline void list_del_from(struct list_head *h, struct list_node *n)
302
+ {
303
+ #ifdef CCAN_LIST_DEBUG
304
+ {
305
+ /* Thorough check: make sure it was in list! */
306
+ struct list_node *i;
307
+ for (i = h->n.next; i != n; i = i->next)
308
+ assert(i != &h->n);
309
+ }
310
+ #endif /* CCAN_LIST_DEBUG */
311
+
312
+ /* Quick test that catches a surprising number of bugs. */
313
+ assert(!list_empty(h));
314
+ list_del(n);
315
+ }
316
+
317
+ /**
318
+ * list_swap - swap out an entry from an (unknown) linked list for a new one.
319
+ * @o: the list_node to replace from the list.
320
+ * @n: the list_node to insert in place of the old one.
321
+ *
322
+ * Note that this leaves @o in an undefined state; it can be added to
323
+ * another list, but not deleted/swapped again.
324
+ *
325
+ * See also:
326
+ * list_del()
327
+ *
328
+ * Example:
329
+ * struct child x1, x2;
330
+ * LIST_HEAD(xh);
331
+ *
332
+ * list_add(&xh, &x1.list);
333
+ * list_swap(&x1.list, &x2.list);
334
+ */
335
+ #define list_swap(o, n) list_swap_(o, n, LIST_LOC)
336
+ static inline void list_swap_(struct list_node *o,
337
+ struct list_node *n,
338
+ const char* abortstr)
339
+ {
340
+ (void)list_debug_node(o, abortstr);
341
+ *n = *o;
342
+ n->next->prev = n;
343
+ n->prev->next = n;
344
+ #ifdef CCAN_LIST_DEBUG
345
+ /* Catch use-after-del. */
346
+ o->next = o->prev = NULL;
347
+ #endif
348
+ }
349
+
350
+ /**
351
+ * list_entry - convert a list_node back into the structure containing it.
352
+ * @n: the list_node
353
+ * @type: the type of the entry
354
+ * @member: the list_node member of the type
355
+ *
356
+ * Example:
357
+ * // First list entry is children.next; convert back to child.
358
+ * child = list_entry(parent->children.n.next, struct child, list);
359
+ *
360
+ * See Also:
361
+ * list_top(), list_for_each()
362
+ */
363
+ #define list_entry(n, type, member) container_of(n, type, member)
364
+
365
+ /**
366
+ * list_top - get the first entry in a list
367
+ * @h: the list_head
368
+ * @type: the type of the entry
369
+ * @member: the list_node member of the type
370
+ *
371
+ * If the list is empty, returns NULL.
372
+ *
373
+ * Example:
374
+ * struct child *first;
375
+ * first = list_top(&parent->children, struct child, list);
376
+ * if (!first)
377
+ * printf("Empty list!\n");
378
+ */
379
+ #define list_top(h, type, member) \
380
+ ((type *)list_top_((h), list_off_(type, member)))
381
+
382
+ static inline const void *list_top_(const struct list_head *h, size_t off)
383
+ {
384
+ if (list_empty(h))
385
+ return NULL;
386
+ return (const char *)h->n.next - off;
387
+ }
388
+
389
+ /**
390
+ * list_pop - remove the first entry in a list
391
+ * @h: the list_head
392
+ * @type: the type of the entry
393
+ * @member: the list_node member of the type
394
+ *
395
+ * If the list is empty, returns NULL.
396
+ *
397
+ * Example:
398
+ * struct child *one;
399
+ * one = list_pop(&parent->children, struct child, list);
400
+ * if (!one)
401
+ * printf("Empty list!\n");
402
+ */
403
+ #define list_pop(h, type, member) \
404
+ ((type *)list_pop_((h), list_off_(type, member)))
405
+
406
+ static inline const void *list_pop_(const struct list_head *h, size_t off)
407
+ {
408
+ struct list_node *n;
409
+
410
+ if (list_empty(h))
411
+ return NULL;
412
+ n = h->n.next;
413
+ list_del(n);
414
+ return (const char *)n - off;
415
+ }
416
+
417
+ /**
418
+ * list_tail - get the last entry in a list
419
+ * @h: the list_head
420
+ * @type: the type of the entry
421
+ * @member: the list_node member of the type
422
+ *
423
+ * If the list is empty, returns NULL.
424
+ *
425
+ * Example:
426
+ * struct child *last;
427
+ * last = list_tail(&parent->children, struct child, list);
428
+ * if (!last)
429
+ * printf("Empty list!\n");
430
+ */
431
+ #define list_tail(h, type, member) \
432
+ ((type *)list_tail_((h), list_off_(type, member)))
433
+
434
+ static inline const void *list_tail_(const struct list_head *h, size_t off)
435
+ {
436
+ if (list_empty(h))
437
+ return NULL;
438
+ return (const char *)h->n.prev - off;
439
+ }
440
+
441
+ /**
442
+ * list_for_each - iterate through a list.
443
+ * @h: the list_head (warning: evaluated multiple times!)
444
+ * @i: the structure containing the list_node
445
+ * @member: the list_node member of the structure
446
+ *
447
+ * This is a convenient wrapper to iterate @i over the entire list. It's
448
+ * a for loop, so you can break and continue as normal.
449
+ *
450
+ * Example:
451
+ * list_for_each(&parent->children, child, list)
452
+ * printf("Name: %s\n", child->name);
453
+ */
454
+ #define list_for_each(h, i, member) \
455
+ list_for_each_off(h, i, list_off_var_(i, member))
456
+
457
+ /**
458
+ * list_for_each_rev - iterate through a list backwards.
459
+ * @h: the list_head
460
+ * @i: the structure containing the list_node
461
+ * @member: the list_node member of the structure
462
+ *
463
+ * This is a convenient wrapper to iterate @i over the entire list. It's
464
+ * a for loop, so you can break and continue as normal.
465
+ *
466
+ * Example:
467
+ * list_for_each_rev(&parent->children, child, list)
468
+ * printf("Name: %s\n", child->name);
469
+ */
470
+ #define list_for_each_rev(h, i, member) \
471
+ list_for_each_rev_off(h, i, list_off_var_(i, member))
472
+
473
+ /**
474
+ * list_for_each_rev_safe - iterate through a list backwards,
475
+ * maybe during deletion
476
+ * @h: the list_head
477
+ * @i: the structure containing the list_node
478
+ * @nxt: the structure containing the list_node
479
+ * @member: the list_node member of the structure
480
+ *
481
+ * This is a convenient wrapper to iterate @i over the entire list backwards.
482
+ * It's a for loop, so you can break and continue as normal. The extra
483
+ * variable * @nxt is used to hold the next element, so you can delete @i
484
+ * from the list.
485
+ *
486
+ * Example:
487
+ * struct child *next;
488
+ * list_for_each_rev_safe(&parent->children, child, next, list) {
489
+ * printf("Name: %s\n", child->name);
490
+ * }
491
+ */
492
+ #define list_for_each_rev_safe(h, i, nxt, member) \
493
+ list_for_each_rev_safe_off(h, i, nxt, list_off_var_(i, member))
494
+
495
+ /**
496
+ * list_for_each_safe - iterate through a list, maybe during deletion
497
+ * @h: the list_head
498
+ * @i: the structure containing the list_node
499
+ * @nxt: the structure containing the list_node
500
+ * @member: the list_node member of the structure
501
+ *
502
+ * This is a convenient wrapper to iterate @i over the entire list. It's
503
+ * a for loop, so you can break and continue as normal. The extra variable
504
+ * @nxt is used to hold the next element, so you can delete @i from the list.
505
+ *
506
+ * Example:
507
+ * list_for_each_safe(&parent->children, child, next, list) {
508
+ * list_del(&child->list);
509
+ * parent->num_children--;
510
+ * }
511
+ */
512
+ #define list_for_each_safe(h, i, nxt, member) \
513
+ list_for_each_safe_off(h, i, nxt, list_off_var_(i, member))
514
+
515
+ /**
516
+ * list_next - get the next entry in a list
517
+ * @h: the list_head
518
+ * @i: a pointer to an entry in the list.
519
+ * @member: the list_node member of the structure
520
+ *
521
+ * If @i was the last entry in the list, returns NULL.
522
+ *
523
+ * Example:
524
+ * struct child *second;
525
+ * second = list_next(&parent->children, first, list);
526
+ * if (!second)
527
+ * printf("No second child!\n");
528
+ */
529
+ #define list_next(h, i, member) \
530
+ ((list_typeof(i))list_entry_or_null(list_debug(h, \
531
+ __FILE__ ":" stringify(__LINE__)), \
532
+ (i)->member.next, \
533
+ list_off_var_((i), member)))
534
+
535
+ /**
536
+ * list_prev - get the previous entry in a list
537
+ * @h: the list_head
538
+ * @i: a pointer to an entry in the list.
539
+ * @member: the list_node member of the structure
540
+ *
541
+ * If @i was the first entry in the list, returns NULL.
542
+ *
543
+ * Example:
544
+ * first = list_prev(&parent->children, second, list);
545
+ * if (!first)
546
+ * printf("Can't go back to first child?!\n");
547
+ */
548
+ #define list_prev(h, i, member) \
549
+ ((list_typeof(i))list_entry_or_null(list_debug(h, \
550
+ __FILE__ ":" stringify(__LINE__)), \
551
+ (i)->member.prev, \
552
+ list_off_var_((i), member)))
553
+
554
+ /**
555
+ * list_append_list - empty one list onto the end of another.
556
+ * @to: the list to append into
557
+ * @from: the list to empty.
558
+ *
559
+ * This takes the entire contents of @from and moves it to the end of
560
+ * @to. After this @from will be empty.
561
+ *
562
+ * Example:
563
+ * struct list_head adopter;
564
+ *
565
+ * list_append_list(&adopter, &parent->children);
566
+ * assert(list_empty(&parent->children));
567
+ * parent->num_children = 0;
568
+ */
569
+ #define list_append_list(t, f) list_append_list_(t, f, \
570
+ __FILE__ ":" stringify(__LINE__))
571
+ static inline void list_append_list_(struct list_head *to,
572
+ struct list_head *from,
573
+ const char *abortstr)
574
+ {
575
+ struct list_node *from_tail = list_debug(from, abortstr)->n.prev;
576
+ struct list_node *to_tail = list_debug(to, abortstr)->n.prev;
577
+
578
+ /* Sew in head and entire list. */
579
+ to->n.prev = from_tail;
580
+ from_tail->next = &to->n;
581
+ to_tail->next = &from->n;
582
+ from->n.prev = to_tail;
583
+
584
+ /* Now remove head. */
585
+ list_del(&from->n);
586
+ list_head_init(from);
587
+ }
588
+
589
+ /**
590
+ * list_prepend_list - empty one list into the start of another.
591
+ * @to: the list to prepend into
592
+ * @from: the list to empty.
593
+ *
594
+ * This takes the entire contents of @from and moves it to the start
595
+ * of @to. After this @from will be empty.
596
+ *
597
+ * Example:
598
+ * list_prepend_list(&adopter, &parent->children);
599
+ * assert(list_empty(&parent->children));
600
+ * parent->num_children = 0;
601
+ */
602
+ #define list_prepend_list(t, f) list_prepend_list_(t, f, LIST_LOC)
603
+ static inline void list_prepend_list_(struct list_head *to,
604
+ struct list_head *from,
605
+ const char *abortstr)
606
+ {
607
+ struct list_node *from_tail = list_debug(from, abortstr)->n.prev;
608
+ struct list_node *to_head = list_debug(to, abortstr)->n.next;
609
+
610
+ /* Sew in head and entire list. */
611
+ to->n.next = &from->n;
612
+ from->n.prev = &to->n;
613
+ to_head->prev = from_tail;
614
+ from_tail->next = to_head;
615
+
616
+ /* Now remove head. */
617
+ list_del(&from->n);
618
+ list_head_init(from);
619
+ }
620
+
621
+ /* internal macros, do not use directly */
622
+ #define list_for_each_off_dir_(h, i, off, dir) \
623
+ for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.dir, \
624
+ (off)); \
625
+ list_node_from_off_((void *)i, (off)) != &(h)->n; \
626
+ i = list_node_to_off_(list_node_from_off_((void *)i, (off))->dir, \
627
+ (off)))
628
+
629
+ #define list_for_each_safe_off_dir_(h, i, nxt, off, dir) \
630
+ for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.dir, \
631
+ (off)), \
632
+ nxt = list_node_to_off_(list_node_from_off_(i, (off))->dir, \
633
+ (off)); \
634
+ list_node_from_off_(i, (off)) != &(h)->n; \
635
+ i = nxt, \
636
+ nxt = list_node_to_off_(list_node_from_off_(i, (off))->dir, \
637
+ (off)))
638
+
639
+ /**
640
+ * list_for_each_off - iterate through a list of memory regions.
641
+ * @h: the list_head
642
+ * @i: the pointer to a memory region wich contains list node data.
643
+ * @off: offset(relative to @i) at which list node data resides.
644
+ *
645
+ * This is a low-level wrapper to iterate @i over the entire list, used to
646
+ * implement all oher, more high-level, for-each constructs. It's a for loop,
647
+ * so you can break and continue as normal.
648
+ *
649
+ * WARNING! Being the low-level macro that it is, this wrapper doesn't know
650
+ * nor care about the type of @i. The only assumtion made is that @i points
651
+ * to a chunk of memory that at some @offset, relative to @i, contains a
652
+ * properly filled `struct node_list' which in turn contains pointers to
653
+ * memory chunks and it's turtles all the way down. Whith all that in mind
654
+ * remember that given the wrong pointer/offset couple this macro will
655
+ * happilly churn all you memory untill SEGFAULT stops it, in other words
656
+ * caveat emptor.
657
+ *
658
+ * It is worth mentioning that one of legitimate use-cases for that wrapper
659
+ * is operation on opaque types with known offset for `struct list_node'
660
+ * member(preferably 0), because it allows you not to disclose the type of
661
+ * @i.
662
+ *
663
+ * Example:
664
+ * list_for_each_off(&parent->children, child,
665
+ * offsetof(struct child, list))
666
+ * printf("Name: %s\n", child->name);
667
+ */
668
+ #define list_for_each_off(h, i, off) \
669
+ list_for_each_off_dir_((h),(i),(off),next)
670
+
671
+ /**
672
+ * list_for_each_rev_off - iterate through a list of memory regions backwards
673
+ * @h: the list_head
674
+ * @i: the pointer to a memory region wich contains list node data.
675
+ * @off: offset(relative to @i) at which list node data resides.
676
+ *
677
+ * See list_for_each_off for details
678
+ */
679
+ #define list_for_each_rev_off(h, i, off) \
680
+ list_for_each_off_dir_((h),(i),(off),prev)
681
+
682
+ /**
683
+ * list_for_each_safe_off - iterate through a list of memory regions, maybe
684
+ * during deletion
685
+ * @h: the list_head
686
+ * @i: the pointer to a memory region wich contains list node data.
687
+ * @nxt: the structure containing the list_node
688
+ * @off: offset(relative to @i) at which list node data resides.
689
+ *
690
+ * For details see `list_for_each_off' and `list_for_each_safe'
691
+ * descriptions.
692
+ *
693
+ * Example:
694
+ * list_for_each_safe_off(&parent->children, child,
695
+ * next, offsetof(struct child, list))
696
+ * printf("Name: %s\n", child->name);
697
+ */
698
+ #define list_for_each_safe_off(h, i, nxt, off) \
699
+ list_for_each_safe_off_dir_((h),(i),(nxt),(off),next)
700
+
701
+ /**
702
+ * list_for_each_rev_safe_off - iterate backwards through a list of
703
+ * memory regions, maybe during deletion
704
+ * @h: the list_head
705
+ * @i: the pointer to a memory region wich contains list node data.
706
+ * @nxt: the structure containing the list_node
707
+ * @off: offset(relative to @i) at which list node data resides.
708
+ *
709
+ * For details see `list_for_each_rev_off' and `list_for_each_rev_safe'
710
+ * descriptions.
711
+ *
712
+ * Example:
713
+ * list_for_each_rev_safe_off(&parent->children, child,
714
+ * next, offsetof(struct child, list))
715
+ * printf("Name: %s\n", child->name);
716
+ */
717
+ #define list_for_each_rev_safe_off(h, i, nxt, off) \
718
+ list_for_each_safe_off_dir_((h),(i),(nxt),(off),prev)
719
+
720
+ /* Other -off variants. */
721
+ #define list_entry_off(n, type, off) \
722
+ ((type *)list_node_from_off_((n), (off)))
723
+
724
+ #define list_head_off(h, type, off) \
725
+ ((type *)list_head_off((h), (off)))
726
+
727
+ #define list_tail_off(h, type, off) \
728
+ ((type *)list_tail_((h), (off)))
729
+
730
+ #define list_add_off(h, n, off) \
731
+ list_add((h), list_node_from_off_((n), (off)))
732
+
733
+ #define list_del_off(n, off) \
734
+ list_del(list_node_from_off_((n), (off)))
735
+
736
+ #define list_del_from_off(h, n, off) \
737
+ list_del_from(h, list_node_from_off_((n), (off)))
738
+
739
+ /* Offset helper functions so we only single-evaluate. */
740
+ static inline void *list_node_to_off_(struct list_node *node, size_t off)
741
+ {
742
+ return (void *)((char *)node - off);
743
+ }
744
+ static inline struct list_node *list_node_from_off_(void *ptr, size_t off)
745
+ {
746
+ return (struct list_node *)((char *)ptr + off);
747
+ }
748
+
749
+ /* Get the offset of the member, but make sure it's a list_node. */
750
+ #define list_off_(type, member) \
751
+ (container_off(type, member) + \
752
+ check_type(((type *)0)->member, struct list_node))
753
+
754
+ #define list_off_var_(var, member) \
755
+ (container_off_var(var, member) + \
756
+ check_type(var->member, struct list_node))
757
+
758
+ #if HAVE_TYPEOF
759
+ #define list_typeof(var) typeof(var)
760
+ #else
761
+ #define list_typeof(var) void *
762
+ #endif
763
+
764
+ /* Returns member, or NULL if at end of list. */
765
+ static inline void *list_entry_or_null(const struct list_head *h,
766
+ const struct list_node *n,
767
+ size_t off)
768
+ {
769
+ if (n == &h->n)
770
+ return NULL;
771
+ return (char *)n - off;
772
+ }
773
+ #endif /* CCAN_LIST_H */