datadog-ruby_core_source 3.3.6 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +16 -1
  3. data/README.md +8 -5
  4. data/datadog-ruby_core_source.gemspec +7 -2
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/id.h +5 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/basic_operators.h +1 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/bits.h +82 -0
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/encoding.h +2 -0
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/error.h +26 -0
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/fixnum.h +1 -0
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/gc.h +14 -6
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/imemo.h +6 -1
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/io.h +1 -1
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/parse.h +2 -1
  15. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/proc.h +1 -0
  16. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/ractor.h +4 -0
  17. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/sanitizers.h +31 -39
  18. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/string.h +22 -10
  19. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/thread.h +23 -0
  20. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/vm.h +1 -1
  21. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/method.h +1 -0
  22. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/ast.h +427 -3
  23. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/defines.h +8 -7
  24. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/diagnostic.h +1 -0
  25. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/extension.h +1 -1
  26. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/prism.h +47 -11
  27. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/version.h +2 -2
  28. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism_compile.h +5 -5
  29. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ractor_core.h +6 -6
  30. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/rubyparser.h +3 -2
  31. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/thread_pthread.h +0 -1
  32. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_core.h +40 -12
  33. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/id.h +9 -0
  34. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/array.h +1 -0
  35. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/basic_operators.h +2 -0
  36. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/bits.h +82 -0
  37. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/class.h +1 -1
  38. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/cmdlineopt.h +0 -4
  39. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/encoding.h +2 -0
  40. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/error.h +28 -0
  41. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/fixnum.h +1 -0
  42. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/gc.h +29 -30
  43. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/hash.h +2 -0
  44. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/imemo.h +10 -13
  45. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/io.h +5 -2
  46. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/parse.h +18 -4
  47. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/proc.h +1 -1
  48. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/ractor.h +4 -0
  49. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/re.h +2 -2
  50. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/sanitizers.h +72 -39
  51. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/string.h +35 -18
  52. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/struct.h +0 -8
  53. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/symbol.h +2 -0
  54. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/thread.h +29 -0
  55. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/time.h +4 -1
  56. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/variable.h +0 -2
  57. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/vm.h +3 -3
  58. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/iseq.h +12 -1
  59. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/method.h +4 -1
  60. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/node.h +14 -3
  61. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/ast.h +2172 -453
  62. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/defines.h +61 -7
  63. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/diagnostic.h +24 -6
  64. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/extension.h +5 -5
  65. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/node.h +0 -21
  66. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/options.h +141 -4
  67. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/parser.h +82 -40
  68. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/prism.h +51 -4
  69. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/regexp.h +43 -0
  70. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/static_literals.h +3 -2
  71. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_buffer.h +10 -0
  72. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_char.h +1 -2
  73. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_constant_pool.h +0 -8
  74. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_integer.h +22 -15
  75. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_newline_list.h +11 -0
  76. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_string.h +28 -12
  77. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/version.h +3 -3
  78. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism_compile.h +29 -12
  79. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/ractor_core.h +9 -20
  80. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/rubyparser.h +198 -248
  81. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/shape.h +2 -1
  82. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/thread_pthread.h +28 -27
  83. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/vm_core.h +65 -66
  84. data/lib/datadog/ruby_core_source/version.rb +1 -1
  85. data/lib/datadog/ruby_core_source.rb +14 -1
  86. metadata +213 -476
  87. data/.github/workflows/publish.yml +0 -18
  88. data/.gitignore +0 -7
  89. data/.idea/vcs.xml +0 -28
  90. data/CHANGELOG.md +0 -284
  91. data/CONTRIBUTING.md +0 -2
  92. data/Gemfile +0 -4
  93. data/Rakefile +0 -73
  94. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +0 -21
  95. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +0 -50
  96. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +0 -109
  97. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +0 -51
  98. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +0 -69
  99. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +0 -334
  100. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +0 -116
  101. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +0 -31
  102. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +0 -217
  103. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +0 -1570
  104. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +0 -746
  105. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +0 -198
  106. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +0 -1601
  107. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +0 -103
  108. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +0 -61
  109. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +0 -206
  110. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +0 -43
  111. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +0 -254
  112. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +0 -938
  113. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +0 -370
  114. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +0 -1
  115. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +0 -48
  116. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +0 -108
  117. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +0 -36
  118. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +0 -42
  119. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +0 -139
  120. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +0 -73
  121. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +0 -3667
  122. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +0 -213
  123. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +0 -192
  124. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +0 -255
  125. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +0 -214
  126. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +0 -21
  127. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +0 -51
  128. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +0 -109
  129. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +0 -51
  130. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +0 -69
  131. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +0 -334
  132. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +0 -116
  133. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +0 -31
  134. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +0 -217
  135. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +0 -1570
  136. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +0 -746
  137. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +0 -198
  138. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +0 -1601
  139. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +0 -103
  140. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +0 -61
  141. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +0 -206
  142. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +0 -43
  143. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +0 -254
  144. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +0 -938
  145. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +0 -370
  146. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +0 -1
  147. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +0 -48
  148. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +0 -108
  149. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +0 -36
  150. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +0 -42
  151. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +0 -139
  152. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +0 -73
  153. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +0 -3667
  154. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +0 -213
  155. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +0 -192
  156. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +0 -255
  157. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +0 -214
  158. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +0 -21
  159. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +0 -51
  160. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +0 -109
  161. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +0 -51
  162. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +0 -69
  163. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +0 -334
  164. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +0 -116
  165. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +0 -31
  166. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +0 -217
  167. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +0 -1570
  168. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +0 -746
  169. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +0 -198
  170. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +0 -1601
  171. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +0 -103
  172. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +0 -61
  173. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +0 -200
  174. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +0 -43
  175. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +0 -254
  176. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +0 -938
  177. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +0 -370
  178. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +0 -1
  179. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +0 -48
  180. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +0 -108
  181. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +0 -36
  182. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +0 -42
  183. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +0 -139
  184. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +0 -73
  185. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +0 -3667
  186. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +0 -213
  187. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +0 -192
  188. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +0 -255
  189. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +0 -214
  190. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +0 -22
  191. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +0 -117
  192. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +0 -53
  193. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +0 -246
  194. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +0 -423
  195. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +0 -32
  196. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +0 -70
  197. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +0 -343
  198. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +0 -227
  199. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +0 -251
  200. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +0 -9215
  201. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +0 -791
  202. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +0 -212
  203. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +0 -128
  204. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +0 -43
  205. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +0 -243
  206. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +0 -564
  207. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +0 -32
  208. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +0 -42
  209. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +0 -254
  210. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +0 -1004
  211. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +0 -371
  212. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +0 -5
  213. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +0 -101
  214. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +0 -164
  215. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +0 -48
  216. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +0 -118
  217. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +0 -58
  218. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +0 -58
  219. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +0 -138
  220. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +0 -39
  221. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +0 -69
  222. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +0 -5436
  223. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +0 -244
  224. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +0 -619
  225. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +0 -199
  226. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +0 -261
  227. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +0 -137
  228. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +0 -245
  229. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +0 -72
  230. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +0 -22
  231. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +0 -117
  232. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +0 -53
  233. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +0 -246
  234. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +0 -423
  235. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +0 -32
  236. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +0 -70
  237. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +0 -343
  238. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +0 -227
  239. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +0 -251
  240. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +0 -9215
  241. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +0 -791
  242. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +0 -212
  243. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +0 -128
  244. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +0 -43
  245. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +0 -243
  246. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +0 -564
  247. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +0 -32
  248. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +0 -42
  249. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +0 -254
  250. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +0 -1006
  251. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +0 -371
  252. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +0 -5
  253. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +0 -101
  254. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +0 -164
  255. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +0 -48
  256. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +0 -118
  257. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +0 -58
  258. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +0 -58
  259. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +0 -138
  260. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +0 -39
  261. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +0 -69
  262. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +0 -5436
  263. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +0 -244
  264. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +0 -614
  265. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +0 -199
  266. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +0 -261
  267. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +0 -137
  268. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +0 -245
  269. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +0 -72
  270. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +0 -22
  271. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +0 -119
  272. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +0 -53
  273. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  274. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  275. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  276. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +0 -70
  277. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +0 -324
  278. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +0 -237
  279. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  280. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  281. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  282. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +0 -224
  283. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +0 -128
  284. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  285. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  286. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +0 -564
  287. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +0 -32
  288. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  289. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  290. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +0 -42
  291. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +0 -254
  292. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  293. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +0 -371
  294. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  295. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +0 -101
  296. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +0 -165
  297. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +0 -48
  298. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  299. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +0 -58
  300. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +0 -58
  301. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +0 -138
  302. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +0 -39
  303. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  304. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  305. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +0 -244
  306. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  307. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +0 -199
  308. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  309. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  310. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  311. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +0 -79
  312. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  313. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  314. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  315. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +0 -209
  316. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +0 -423
  317. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +0 -32
  318. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  319. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  320. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  321. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +0 -265
  322. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +0 -9902
  323. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +0 -1419
  324. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  325. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  326. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +0 -43
  327. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +0 -244
  328. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  329. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  330. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  331. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  332. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +0 -1006
  333. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  334. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  335. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  336. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  337. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  338. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +0 -123
  339. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  340. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  341. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  342. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  343. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +0 -69
  344. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +0 -5840
  345. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  346. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +0 -627
  347. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  348. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +0 -277
  349. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +0 -137
  350. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +0 -259
  351. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  352. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/build_assert/build_assert.h +0 -0
  353. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/check_type/check_type.h +0 -0
  354. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/container_of/container_of.h +0 -0
  355. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/list/list.h +0 -0
  356. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/str/str.h +0 -0
  357. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/id_table.h +0 -0
  358. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/array.h +0 -0
  359. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/bignum.h +0 -0
  360. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/class.h +0 -0
  361. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/cmdlineopt.h +0 -0
  362. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compar.h +0 -0
  363. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compile.h +0 -0
  364. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compilers.h +0 -0
  365. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/complex.h +0 -0
  366. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/cont.h +0 -0
  367. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/dir.h +0 -0
  368. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enc.h +0 -0
  369. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enum.h +0 -0
  370. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enumerator.h +0 -0
  371. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/eval.h +0 -0
  372. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/file.h +0 -0
  373. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/hash.h +0 -0
  374. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/inits.h +0 -0
  375. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/load.h +0 -0
  376. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/loadpath.h +0 -0
  377. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/math.h +0 -0
  378. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/missing.h +0 -0
  379. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/numeric.h +0 -0
  380. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/object.h +0 -0
  381. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/process.h +0 -0
  382. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/random.h +0 -0
  383. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/range.h +0 -0
  384. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/rational.h +0 -0
  385. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/re.h +0 -0
  386. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/ruby_parser.h +0 -0
  387. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/serial.h +0 -0
  388. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/signal.h +0 -0
  389. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/st.h +0 -0
  390. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/static_assert.h +0 -0
  391. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/struct.h +0 -0
  392. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/symbol.h +0 -0
  393. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/time.h +0 -0
  394. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/transcode.h +0 -0
  395. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/util.h +0 -0
  396. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/variable.h +0 -0
  397. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/warnings.h +0 -0
  398. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal.h +0 -0
  399. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/iseq.h +0 -0
  400. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/node.h +0 -0
  401. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/parser_st.h +0 -0
  402. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/parser_value.h +0 -0
  403. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/encoding.h +0 -0
  404. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/node.h +0 -0
  405. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/options.h +0 -0
  406. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/pack.h +0 -0
  407. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/parser.h +0 -0
  408. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/prettyprint.h +0 -0
  409. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/regexp.h +0 -0
  410. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/static_literals.h +0 -0
  411. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_buffer.h +0 -0
  412. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_char.h +0 -0
  413. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_constant_pool.h +0 -0
  414. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_integer.h +0 -0
  415. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_list.h +0 -0
  416. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_memchr.h +0 -0
  417. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_newline_list.h +0 -0
  418. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_string.h +0 -0
  419. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_strncasecmp.h +0 -0
  420. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_strpbrk.h +0 -0
  421. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ruby_assert.h +0 -0
  422. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ruby_atomic.h +0 -0
  423. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/shape.h +0 -0
  424. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/thread_none.h +0 -0
  425. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/vm_debug.h +0 -0
  426. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/vm_opts.h +0 -0
  427. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/build_assert/build_assert.h +0 -0
  428. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/check_type/check_type.h +0 -0
  429. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/container_of/container_of.h +0 -0
  430. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/list/list.h +0 -0
  431. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/str/str.h +0 -0
  432. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/id_table.h +0 -0
  433. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/bignum.h +0 -0
  434. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/compar.h +0 -0
  435. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/compile.h +0 -0
  436. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/compilers.h +0 -0
  437. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/complex.h +0 -0
  438. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/cont.h +0 -0
  439. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/dir.h +0 -0
  440. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/enc.h +0 -0
  441. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/enum.h +0 -0
  442. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/enumerator.h +0 -0
  443. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/eval.h +0 -0
  444. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/file.h +0 -0
  445. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/inits.h +0 -0
  446. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/load.h +0 -0
  447. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/loadpath.h +0 -0
  448. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/math.h +0 -0
  449. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/missing.h +0 -0
  450. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/numeric.h +0 -0
  451. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/object.h +0 -0
  452. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/process.h +0 -0
  453. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/random.h +0 -0
  454. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/range.h +0 -0
  455. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/rational.h +0 -0
  456. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/ruby_parser.h +0 -0
  457. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/serial.h +0 -0
  458. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/signal.h +0 -0
  459. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/st.h +0 -0
  460. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/static_assert.h +0 -0
  461. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/transcode.h +0 -0
  462. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/util.h +0 -0
  463. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/warnings.h +0 -0
  464. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal.h +0 -0
  465. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/parser_st.h +0 -0
  466. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/parser_value.h +0 -0
  467. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/encoding.h +0 -0
  468. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/pack.h +0 -0
  469. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/prettyprint.h +0 -0
  470. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_list.h +0 -0
  471. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_memchr.h +0 -0
  472. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_strncasecmp.h +0 -0
  473. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_strpbrk.h +0 -0
  474. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ruby_assert.h +0 -0
  475. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ruby_atomic.h +0 -0
  476. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/thread_none.h +0 -0
  477. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/vm_debug.h +0 -0
  478. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/vm_opts.h +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ec714497a760b5d980a750e9714e66764a5d15f16a64e662930dbe0d6fb42de
4
- data.tar.gz: 48694ad218f613ab0d7c788f23fca5c650e92763af9ce3fb81e9c9cf1185db9c
3
+ metadata.gz: 7470c7abdc5d94bc72ee812550d229f64dba4c2dec7b4f60820dc37967c2cf2e
4
+ data.tar.gz: a504f8f22d8cc0de40f3a4fec72b0e185b323166a1057d7943c2943eed80994e
5
5
  SHA512:
6
- metadata.gz: d54ba0edb39e0f2ecaab66a3cc97e92938753290b9762b7899113da31d3b9eedd82df434367fb16fc04e627954f566ca1d31ffa0b15bef85626001a948b4b74a
7
- data.tar.gz: 8da9aef7c7229156d33830db314a7aaba4cfa91ca7f6288020ea81a8e2fab885942682691427ea28a7f8742df2439906ec56ec5f592d30d50f70610139befda2
6
+ metadata.gz: 1b091fedb7e84e5d9afdb6e2c62f65a70f006e097b0db3b1bd72f701921b98799928afd34c841f5531448e2f2726d3fb620fc575d08853810698dee90c5ae5da
7
+ data.tar.gz: 1bfe4205e866f8c692350cb6563e664715f87eab4ebd965e2e59b6e7bbd096acc892683b83969f042896740fb43a8cd6eef5e2eaee78ba5ac11069378477528d
data/CHANGELOG.datadog.md CHANGED
@@ -1,4 +1,19 @@
1
- ## 2024-10-18
1
+ ## [3.4.1] - 2025-04-23
2
+
3
+ * Add 3.5.0-preview1 headers
4
+
5
+ ## [3.4.0] - 2025-01-27
6
+
7
+ * Removed 3.4.0-preview2, 3.4.0-rc1 headers
8
+ * Add 3.4.0 headers
9
+
10
+ ## [3.3.7] - 2024-12-13
11
+
12
+ * Remove headers and files not used by dd-trace-rb
13
+ * Removed 3.4.0-preview1 headers
14
+ * Add 3.4.0-rc1 headers
15
+
16
+ ## [3.3.6] - 2024-10-18
2
17
 
3
18
  * Initial release - gem renamed to datadog-ruby_source_code, Debase module renamed to Datadog
4
19
  * only sources for 2.5, 3.3, and 3.4 included
data/README.md CHANGED
@@ -1,8 +1,10 @@
1
+ # `datadog-ruby_core_source`
2
+
1
3
  ## Description
2
- Fork of [debase-ruby\_core\_source](https://github.com/ruby-debug/debase-ruby_core_source/)
3
- that uses included Ruby headers (\*.h and \*.inc) instead of downloading
4
- them. Used by [dd-trace-rb](https://github.com/DataDog/dd-trace-rb).
5
- Only Ruby 2.5, 3.3, and 3.4 versions are supported - [see here for more information](https://github.com/DataDog/dd-trace-rb/blob/master/ext/datadog_profiling_native_extension/NativeExtensionDesign.md#usage-of-private-vm-headers).
4
+
5
+ This gem is a fork of [debase-ruby\_core\_source](https://github.com/ruby-debug/debase-ruby_core_source/) for [dd-trace-rb](https://github.com/DataDog/dd-trace-rb).
6
+
7
+ Only Ruby 2.5 and 3.3+ Rubies are included [see here for more information on why](https://github.com/DataDog/dd-trace-rb/blob/master/ext/datadog_profiling_native_extension/NativeExtensionDesign.md#usage-of-private-vm-headers).
6
8
 
7
9
  ## Usage
8
10
 
@@ -24,11 +26,12 @@ To add another ruby version's source to this gem's directory:
24
26
 
25
27
  _Adding released versions_. `add_source` can use a pre-downloaded .tgz file. Use TGZ_FILE_NAME to pass it. Note that the PATCHLEVEL variable is optional because `add_source` can extract the patch level from version.h of the downloaded sources.
26
28
 
27
- _Adding pre-release versions_. For pre-releases, do not provide the PATCHLEVEL, as it is not present in distribution. To find sources of pre-release versions, this gem will look in the `Datadog::RubyCoreSource::REVISION_MAP` hash. Please add the respective entry into this hash when adding pre-release version sources.
29
+ Then, run the `find_includes.rb` to minimize the shipped files. See comments on that file for how to use it, and/or reference previous PRs.
28
30
 
29
31
  ## Credits
30
32
 
31
33
  The following credits are in the upstream `debase-ruby_core_source` README:
34
+
32
35
  * @valich for 2.5.0-preview1 headers and src-based ruby support
33
36
  * @dirknilius for 2.2.3 headers
34
37
  * @andremedeiros for 2.1.1 headers
@@ -5,16 +5,21 @@ require File.dirname(__FILE__) + "/lib/datadog/ruby_core_source/version"
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "datadog-ruby_core_source"
7
7
  s.version = Datadog::RubyCoreSource::VERSION
8
- s.authors = ["Mark Moseley", "Gabriel Horner", "JetBrains RubyMine Team"]
8
+ s.authors = ["Mark Moseley", "Gabriel Horner", "JetBrains RubyMine Team", "Datadog, Inc."]
9
9
  s.email = "dev@datadoghq.com"
10
10
  s.homepage = "https://github.com/DataDog/datadog-ruby_core_source"
11
11
  s.summary = %q{Provide Ruby core source files}
12
12
  s.description = %q{Provide Ruby core source files for C extensions that need them.}
13
13
  s.license = "MIT"
14
14
  s.required_rubygems_version = ">= 1.3.6"
15
- s.required_ruby_version = '>= 2.0.0'
15
+ s.required_ruby_version = '>= 2.5.0'
16
16
  s.extra_rdoc_files = [ "README.md"]
17
17
  s.files = `git ls-files`.split("\n")
18
+ .reject { |fn| fn.include?('find_includes.rb') }
19
+ .reject { |fn| fn.include?('Gemfile') }
20
+ .reject { |fn| fn.include?('Rakefile') }
21
+ .reject { |fn| fn.include?('.github/') }
22
+ .reject { |fn| fn.include?('.gitignore') }
18
23
  s.add_development_dependency "archive-tar-minitar", ">= 0.5.2"
19
24
  s.add_development_dependency 'rake', '>= 0.9.2'
20
25
  s.add_development_dependency 'minitar-cli'
@@ -110,6 +110,7 @@ enum ruby_method_ids {
110
110
  idANDDOT = RUBY_TOKEN(ANDDOT),
111
111
  tPRESERVED_ID_BEGIN = 150,
112
112
  idNilP,
113
+ idIncludeP,
113
114
  idNULL,
114
115
  idEmptyP,
115
116
  idEqlP,
@@ -139,6 +140,7 @@ enum ruby_method_ids {
139
140
  tInspect,
140
141
  tIntern,
141
142
  tObject_id,
143
+ t__id__,
142
144
  tConst_added,
143
145
  tConst_missing,
144
146
  tMethodMissing,
@@ -221,6 +223,7 @@ enum ruby_method_ids {
221
223
 
222
224
  /* CONST tokens {{{ */
223
225
  tTOKEN_CONST_BEGIN = tTOKEN_GLOBAL_END-1,
226
+ tRuby,
224
227
  tTOKEN_CONST_END,
225
228
  /* CONST tokens }}} */
226
229
 
@@ -245,6 +248,7 @@ enum ruby_method_ids {
245
248
  DEFINE_LOCALID_FROM_TOKEN(Inspect),
246
249
  DEFINE_LOCALID_FROM_TOKEN(Intern),
247
250
  DEFINE_LOCALID_FROM_TOKEN(Object_id),
251
+ DEFINE_LOCALID_FROM_TOKEN(__id__),
248
252
  DEFINE_LOCALID_FROM_TOKEN(Const_added),
249
253
  DEFINE_LOCALID_FROM_TOKEN(Const_missing),
250
254
  DEFINE_LOCALID_FROM_TOKEN(MethodMissing),
@@ -327,6 +331,7 @@ enum ruby_method_ids {
327
331
 
328
332
  /* CONST IDs {{{ */
329
333
  #define DEFINE_CONSTID_FROM_TOKEN(n) id##n = TOKEN2CONSTID(t##n)
334
+ DEFINE_CONSTID_FROM_TOKEN(Ruby),
330
335
  #undef DEFINE_CONSTID_FROM_TOKEN
331
336
  /* CONST IDs }}} */
332
337
 
@@ -38,6 +38,7 @@ enum ruby_basic_operators {
38
38
  BOP_CMP,
39
39
  BOP_DEFAULT,
40
40
  BOP_PACK,
41
+ BOP_INCLUDE_P,
41
42
 
42
43
  BOP_LAST_
43
44
  };
@@ -90,6 +90,7 @@
90
90
 
91
91
  #define UNSIGNED_INTEGER_MAX(T) ((T)~(T)0)
92
92
 
93
+ #ifndef MUL_OVERFLOW_SIGNED_INTEGER_P
93
94
  #if __has_builtin(__builtin_mul_overflow_p)
94
95
  # define MUL_OVERFLOW_P(a, b) \
95
96
  __builtin_mul_overflow_p((a), (b), (__typeof__(a * b))0)
@@ -131,6 +132,87 @@
131
132
  # define MUL_OVERFLOW_LONG_P(a, b) MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, LONG_MIN, LONG_MAX)
132
133
  # define MUL_OVERFLOW_INT_P(a, b) MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, INT_MIN, INT_MAX)
133
134
  #endif
135
+ #endif
136
+
137
+ #ifndef ADD_OVERFLOW_SIGNED_INTEGER_P
138
+ #if __has_builtin(__builtin_add_overflow_p)
139
+ # define ADD_OVERFLOW_P(a, b) \
140
+ __builtin_add_overflow_p((a), (b), (__typeof__(a * b))0)
141
+ #elif __has_builtin(__builtin_add_overflow)
142
+ # define ADD_OVERFLOW_P(a, b) \
143
+ __extension__ ({ __typeof__(a) c; __builtin_add_overflow((a), (b), &c); })
144
+ #endif
145
+
146
+ #define ADD_OVERFLOW_SIGNED_INTEGER_P(a, b, min, max) ( \
147
+ (a) > 0 ? (b) > (max) - (a) : (b) < (min) - (a))
148
+
149
+ #if __has_builtin(__builtin_add_overflow_p)
150
+ /* __builtin_add_overflow_p can take bitfield */
151
+ /* and GCC permits bitfields for integers other than int */
152
+ # define ADD_OVERFLOW_FIXNUM_P(a, b) \
153
+ __extension__ ({ \
154
+ struct { long fixnum : sizeof(long) * CHAR_BIT - 1; } c = { 0 }; \
155
+ __builtin_add_overflow_p((a), (b), c.fixnum); \
156
+ })
157
+ #else
158
+ # define ADD_OVERFLOW_FIXNUM_P(a, b) \
159
+ ADD_OVERFLOW_SIGNED_INTEGER_P(a, b, FIXNUM_MIN, FIXNUM_MAX)
160
+ #endif
161
+
162
+ #if defined(ADD_OVERFLOW_P) && defined(USE___BUILTIN_ADD_OVERFLOW_LONG_LONG)
163
+ # define ADD_OVERFLOW_LONG_LONG_P(a, b) ADD_OVERFLOW_P(a, b)
164
+ #else
165
+ # define ADD_OVERFLOW_LONG_LONG_P(a, b) ADD_OVERFLOW_SIGNED_INTEGER_P(a, b, LLONG_MIN, LLONG_MAX)
166
+ #endif
167
+
168
+ #ifdef ADD_OVERFLOW_P
169
+ # define ADD_OVERFLOW_LONG_P(a, b) ADD_OVERFLOW_P(a, b)
170
+ # define ADD_OVERFLOW_INT_P(a, b) ADD_OVERFLOW_P(a, b)
171
+ #else
172
+ # define ADD_OVERFLOW_LONG_P(a, b) ADD_OVERFLOW_SIGNED_INTEGER_P(a, b, LONG_MIN, LONG_MAX)
173
+ # define ADD_OVERFLOW_INT_P(a, b) ADD_OVERFLOW_SIGNED_INTEGER_P(a, b, INT_MIN, INT_MAX)
174
+ #endif
175
+ #endif
176
+
177
+ #ifndef SUB_OVERFLOW_SIGNED_INTEGER_P
178
+ #if __has_builtin(__builtin_sub_overflow_p)
179
+ # define SUB_OVERFLOW_P(a, b) \
180
+ __builtin_sub_overflow_p((a), (b), (__typeof__(a * b))0)
181
+ #elif __has_builtin(__builtin_sub_overflow)
182
+ # define SUB_OVERFLOW_P(a, b) \
183
+ __extension__ ({ __typeof__(a) c; __builtin_sub_overflow((a), (b), &c); })
184
+ #endif
185
+
186
+ #define SUB_OVERFLOW_SIGNED_INTEGER_P(a, b, min, max) ( \
187
+ (b) > 0 ? (a) < (min) + (b) : (a) > (max) + (b))
188
+
189
+ #if __has_builtin(__builtin_sub_overflow_p)
190
+ /* __builtin_sub_overflow_p can take bitfield */
191
+ /* and GCC permits bitfields for integers other than int */
192
+ # define SUB_OVERFLOW_FIXNUM_P(a, b) \
193
+ __extension__ ({ \
194
+ struct { long fixnum : sizeof(long) * CHAR_BIT - 1; } c = { 0 }; \
195
+ __builtin_sub_overflow_p((a), (b), c.fixnum); \
196
+ })
197
+ #else
198
+ # define SUB_OVERFLOW_FIXNUM_P(a, b) \
199
+ SUB_OVERFLOW_SIGNED_INTEGER_P(a, b, FIXNUM_MIN, FIXNUM_MAX)
200
+ #endif
201
+
202
+ #if defined(SUB_OVERFLOW_P) && defined(USE___BUILTIN_SUB_OVERFLOW_LONG_LONG)
203
+ # define SUB_OVERFLOW_LONG_LONG_P(a, b) SUB_OVERFLOW_P(a, b)
204
+ #else
205
+ # define SUB_OVERFLOW_LONG_LONG_P(a, b) SUB_OVERFLOW_SIGNED_INTEGER_P(a, b, LLONG_MIN, LLONG_MAX)
206
+ #endif
207
+
208
+ #ifdef SUB_OVERFLOW_P
209
+ # define SUB_OVERFLOW_LONG_P(a, b) SUB_OVERFLOW_P(a, b)
210
+ # define SUB_OVERFLOW_INT_P(a, b) SUB_OVERFLOW_P(a, b)
211
+ #else
212
+ # define SUB_OVERFLOW_LONG_P(a, b) SUB_OVERFLOW_SIGNED_INTEGER_P(a, b, LONG_MIN, LONG_MAX)
213
+ # define SUB_OVERFLOW_INT_P(a, b) SUB_OVERFLOW_SIGNED_INTEGER_P(a, b, INT_MIN, INT_MAX)
214
+ #endif
215
+ #endif
134
216
 
135
217
  #ifdef HAVE_UINT128_T
136
218
  # define bit_length(x) \
@@ -28,6 +28,8 @@ int rb_encdb_dummy(const char *name);
28
28
  void rb_encdb_declare(const char *name);
29
29
  void rb_enc_set_base(const char *name, const char *orig);
30
30
  int rb_enc_set_dummy(int index);
31
+ void rb_enc_raw_set(VALUE obj, rb_encoding *enc);
32
+
31
33
  PUREFUNC(int rb_data_is_encoding(VALUE obj));
32
34
 
33
35
  /* vm.c */
@@ -72,6 +72,7 @@ const char *rb_builtin_type_name(int t);
72
72
  const char *rb_builtin_class_name(VALUE x);
73
73
  PRINTF_ARGS(void rb_warn_deprecated(const char *fmt, const char *suggest, ...), 1, 3);
74
74
  PRINTF_ARGS(void rb_warn_deprecated_to_remove(const char *removal, const char *fmt, const char *suggest, ...), 2, 4);
75
+ PRINTF_ARGS(void rb_warn_reserved_name(const char *removal, const char *fmt, ...), 2, 3);
75
76
  #if RUBY_DEBUG
76
77
  # include "ruby/version.h"
77
78
  # define RUBY_VERSION_SINCE(major, minor) (RUBY_API_VERSION_CODE >= (major * 10000) + (minor) * 100)
@@ -110,6 +111,14 @@ rb_deprecated_method_to_be_removed(const char *removal)
110
111
  RBIMPL_ATTR_DIAGNOSE_IF(RUBY_VERSION_STRING_SINCE(removal), "deprecated method to be removed", "error")
111
112
  {
112
113
  }
114
+
115
+ RBIMPL_ATTR_FORCEINLINE()
116
+ static void
117
+ rb_diagnose_reserved_name_at(const char *coming)
118
+ RBIMPL_ATTR_DIAGNOSE_IF(!RUBY_VERSION_isdigit(coming[0]), "malformed version number", "error")
119
+ RBIMPL_ATTR_DIAGNOSE_IF(RUBY_VERSION_STRING_SINCE(coming), "reserved name already in use", "error")
120
+ {
121
+ }
113
122
  # else
114
123
  RBIMPL_ATTR_ERROR(("deprecated"))
115
124
  void rb_deprecated_method_to_be_removed(const char *);
@@ -117,16 +126,32 @@ void rb_deprecated_method_to_be_removed(const char *);
117
126
  (sizeof(char[1-2*(!RUBY_VERSION_isdigit(removal[0]) || RUBY_VERSION_STRING_SINCE(removal))])!=1 ? \
118
127
  rb_deprecated_method_to_be_removed(removal) : \
119
128
  RBIMPL_ASSERT_NOTHING)
129
+
130
+ RBIMPL_ATTR_ERROR(("deprecated"))
131
+ void rb_diagnose_reserved_name_at(const char *);
132
+ # define rb_diagnose_reserved_name_at(coming) \
133
+ (sizeof(char[1-2*(!RUBY_VERSION_isdigit(coming[0]) || RUBY_VERSION_STRING_SINCE(coming))])!=1 ? \
134
+ rb_diagnose_reserved_name_at(coming) : \
135
+ RBIMPL_ASSERT_NOTHING)
136
+
120
137
  # endif
121
138
  # define rb_warn_deprecated_to_remove_at(removal, ...) \
122
139
  (rb_deprecated_method_to_be_removed(#removal), \
123
140
  rb_warn_deprecated_to_remove(#removal, __VA_ARGS__))
141
+
142
+ # define rb_warn_reserved_name_at(coming, ...) \
143
+ (rb_diagnose_reserved_name_at(#coming), \
144
+ rb_warn_reserved_name(#coming, __VA_ARGS__))
124
145
  # endif
125
146
  #endif
126
147
  #ifndef rb_warn_deprecated_to_remove_at
127
148
  # define rb_warn_deprecated_to_remove_at(removal, ...) \
128
149
  rb_warn_deprecated_to_remove(#removal, __VA_ARGS__)
129
150
  #endif
151
+ #ifndef rb_warn_reserved_name_at
152
+ # define rb_warn_reserved_name_at(removal, ...) \
153
+ rb_warn_reserved_name(#removal, __VA_ARGS__)
154
+ #endif
130
155
  #ifndef RUBY_VERSION_SINCE
131
156
  # define RUBY_VERSION_SINCE(major, minor) 0
132
157
  #endif
@@ -160,6 +185,7 @@ NORETURN(static inline void rb_key_err_raise(VALUE mesg, VALUE recv, VALUE name)
160
185
  static inline void Check_Type(VALUE v, enum ruby_value_type t);
161
186
  static inline bool rb_typeddata_is_instance_of_inline(VALUE obj, const rb_data_type_t *data_type);
162
187
  #define rb_typeddata_is_instance_of rb_typeddata_is_instance_of_inline
188
+ void rb_bug_without_die(const char *fmt, ...);
163
189
 
164
190
  RUBY_SYMBOL_EXPORT_BEGIN
165
191
  /* error.c (export) */
@@ -10,6 +10,7 @@
10
10
  */
11
11
  #include "ruby/internal/config.h" /* for HAVE_LONG_LONG */
12
12
  #include <limits.h> /* for CHAR_BIT */
13
+ #include "internal/bits.h" /* for MUL_OVERFLOW_FIXNUM_P */
13
14
  #include "internal/compilers.h" /* for __has_builtin */
14
15
  #include "ruby/internal/stdbool.h" /* for bool */
15
16
  #include "ruby/intern.h" /* for rb_big_mul */
@@ -16,8 +16,8 @@
16
16
  #include "ruby/ruby.h" /* for rb_event_flag_t */
17
17
  #include "vm_core.h" /* for GET_EC() */
18
18
 
19
- #ifndef USE_SHARED_GC
20
- # define USE_SHARED_GC 0
19
+ #ifndef USE_MODULAR_GC
20
+ # define USE_MODULAR_GC 0
21
21
  #endif
22
22
 
23
23
  #if defined(__x86_64__) && !defined(_ILP32) && defined(__GNUC__)
@@ -175,7 +175,6 @@ struct rb_objspace; /* in vm_core.h */
175
175
  if (_already_disabled == Qfalse) rb_gc_enable()
176
176
 
177
177
  /* gc.c */
178
- extern int ruby_disable_gc;
179
178
  RUBY_ATTR_MALLOC void *ruby_mimmalloc(size_t size);
180
179
  RUBY_ATTR_MALLOC void *ruby_mimcalloc(size_t num, size_t size);
181
180
  void ruby_mimfree(void *ptr);
@@ -197,7 +196,7 @@ static inline void *ruby_sized_xrealloc_inlined(void *ptr, size_t new_size, size
197
196
  static inline void *ruby_sized_xrealloc2_inlined(void *ptr, size_t new_count, size_t elemsiz, size_t old_count) RUBY_ATTR_RETURNS_NONNULL RUBY_ATTR_ALLOC_SIZE((2, 3));
198
197
  static inline void ruby_sized_xfree_inlined(void *ptr, size_t size);
199
198
 
200
- void *rb_gc_ractor_cache_alloc(void);
199
+ void *rb_gc_ractor_cache_alloc(rb_ractor_t *ractor);
201
200
  void rb_gc_ractor_cache_free(void *cache);
202
201
 
203
202
  bool rb_gc_size_allocatable_p(size_t size);
@@ -213,6 +212,9 @@ void rb_gc_ref_update_table_values_only(st_table *tbl);
213
212
 
214
213
  void rb_gc_initial_stress_set(VALUE flag);
215
214
 
215
+ void rb_gc_before_fork(void);
216
+ void rb_gc_after_fork(rb_pid_t pid);
217
+
216
218
  #define rb_gc_mark_and_move_ptr(ptr) do { \
217
219
  VALUE _obj = (VALUE)*(ptr); \
218
220
  rb_gc_mark_and_move(&_obj); \
@@ -225,6 +227,7 @@ void rb_objspace_reachable_objects_from(VALUE obj, void (func)(VALUE, void *), v
225
227
  void rb_objspace_reachable_objects_from_root(void (func)(const char *category, VALUE, void *), void *data);
226
228
  int rb_objspace_internal_object_p(VALUE obj);
227
229
  int rb_objspace_garbage_object_p(VALUE obj);
230
+ bool rb_gc_pointer_to_heap_p(VALUE obj);
228
231
 
229
232
  void rb_objspace_each_objects(
230
233
  int (*callback)(void *start, void *end, size_t stride, void *data),
@@ -234,6 +237,7 @@ size_t rb_gc_obj_slot_size(VALUE obj);
234
237
 
235
238
  VALUE rb_gc_disable_no_rest(void);
236
239
 
240
+ #define RB_GC_MAX_NAME_LEN 20
237
241
 
238
242
  /* gc.c (export) */
239
243
  const char *rb_objspace_data_type_name(VALUE obj);
@@ -248,14 +252,18 @@ void *ruby_sized_xrealloc(void *ptr, size_t new_size, size_t old_size) RUBY_ATTR
248
252
  void *ruby_sized_xrealloc2(void *ptr, size_t new_count, size_t element_size, size_t old_count) RUBY_ATTR_RETURNS_NONNULL RUBY_ATTR_ALLOC_SIZE((2, 3));
249
253
  void ruby_sized_xfree(void *x, size_t size);
250
254
 
251
- #if USE_SHARED_GC
252
- void ruby_load_external_gc_from_argv(int argc, char **argv);
255
+ const char *rb_gc_active_gc_name(void);
256
+ int rb_gc_modular_gc_loaded_p(void);
257
+
258
+ #if USE_MODULAR_GC
259
+ void ruby_load_modular_gc_from_argv(int argc, char **argv);
253
260
  #endif
254
261
  RUBY_SYMBOL_EXPORT_END
255
262
 
256
263
  int rb_ec_stack_check(struct rb_execution_context_struct *ec);
257
264
  void rb_gc_writebarrier_remember(VALUE obj);
258
265
  const char *rb_obj_info(VALUE obj);
266
+ void ruby_annotate_mmap(const void *addr, unsigned long size, const char *name);
259
267
 
260
268
  #if defined(HAVE_MALLOC_USABLE_SIZE) || defined(HAVE_MALLOC_SIZE) || defined(_WIN32)
261
269
 
@@ -79,7 +79,12 @@ struct vm_ifunc_argc {
79
79
  #endif
80
80
  };
81
81
 
82
- /*! IFUNC (Internal FUNCtion) */
82
+ /*! IFUNC (Internal FUNCtion)
83
+ *
84
+ * Bookkeeping for converting a C function and some closed-over data into a
85
+ * block passable to methods. Like Ruby Proc, but not directly accessible at
86
+ * Ruby level since this is an imemo. See rb_block_call() and friends.
87
+ */
83
88
  struct vm_ifunc {
84
89
  VALUE flags;
85
90
  VALUE *svar_lep;
@@ -15,7 +15,7 @@ struct rb_io;
15
15
 
16
16
  #include "ruby/io.h" /* for rb_io_t */
17
17
 
18
- #define IO_WITHOUT_GVL(func, arg) rb_thread_call_without_gvl(func, arg, RUBY_UBF_IO, 0)
18
+ #define IO_WITHOUT_GVL(func, arg) rb_nogvl(func, arg, RUBY_UBF_IO, 0, RB_NOGVL_OFFLOAD_SAFE)
19
19
  #define IO_WITHOUT_GVL_INT(func, arg) (int)(VALUE)IO_WITHOUT_GVL(func, arg)
20
20
 
21
21
  /** Ruby's IO, metadata and buffers. */
@@ -79,8 +79,9 @@ void rb_parser_string_free(rb_parser_t *p, rb_parser_string_t *str);
79
79
  int rb_parser_dvar_defined_ref(struct parser_params*, ID, ID**);
80
80
  ID rb_parser_internal_id(struct parser_params*);
81
81
  int rb_parser_reg_fragment_check(struct parser_params*, rb_parser_string_t*, int);
82
- int rb_reg_named_capture_assign_iter_impl(struct parser_params *p, const char *s, long len, rb_encoding *enc, NODE **succ_block, const rb_code_location_t *loc);
82
+ int rb_reg_named_capture_assign_iter_impl(struct parser_params *p, const char *s, long len, rb_encoding *enc, NODE **succ_block, const rb_code_location_t *loc, rb_parser_assignable_func assignable);
83
83
  int rb_parser_local_defined(struct parser_params *p, ID id, const struct rb_iseq_struct *iseq);
84
+ NODE *rb_parser_assignable(struct parser_params *p, ID id, NODE *val, const YYLTYPE *loc);
84
85
 
85
86
  RUBY_SYMBOL_EXPORT_END
86
87
 
@@ -23,6 +23,7 @@ VALUE rb_block_to_s(VALUE self, const struct rb_block *block, const char *additi
23
23
  VALUE rb_callable_receiver(VALUE);
24
24
 
25
25
  VALUE rb_func_proc_new(rb_block_call_func_t func, VALUE val);
26
+ VALUE rb_func_proc_dup(VALUE src_obj);
26
27
  VALUE rb_func_lambda_new(rb_block_call_func_t func, VALUE val, int min_argc, int max_argc);
27
28
  VALUE rb_iseq_location(const struct rb_iseq_struct *iseq);
28
29
  VALUE rb_sym_to_proc(VALUE sym);
@@ -3,4 +3,8 @@
3
3
 
4
4
  void rb_ractor_ensure_main_ractor(const char *msg);
5
5
 
6
+ RUBY_SYMBOL_EXPORT_BEGIN
7
+ void rb_ractor_setup_belonging(VALUE obj);
8
+ RUBY_SYMBOL_EXPORT_END
9
+
6
10
  #endif /* INTERNAL_RACTOR_H */
@@ -16,7 +16,7 @@
16
16
  #endif
17
17
 
18
18
  #ifdef HAVE_SANITIZER_ASAN_INTERFACE_H
19
- # if __has_feature(address_sanitizer)
19
+ # if __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__)
20
20
  # define RUBY_ASAN_ENABLED
21
21
  # include <sanitizer/asan_interface.h>
22
22
  # endif
@@ -39,6 +39,9 @@
39
39
  #elif defined(RUBY_ASAN_ENABLED)
40
40
  # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
41
41
  __attribute__((__no_sanitize__("address"), __noinline__)) x
42
+ #elif defined(RUBY_MSAN_ENABLED)
43
+ # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
44
+ __attribute__((__no_sanitize__("memory"), __noinline__)) x
42
45
  #elif defined(NO_SANITIZE_ADDRESS)
43
46
  # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
44
47
  NO_SANITIZE_ADDRESS(NOINLINE(x))
@@ -54,10 +57,11 @@
54
57
  # include "internal/warnings.h"
55
58
  # undef NO_SANITIZE
56
59
  # define NO_SANITIZE(x, y) \
57
- COMPILER_WARNING_PUSH; \
58
- COMPILER_WARNING_IGNORED(-Wattributes); \
60
+ COMPILER_WARNING_PUSH \
61
+ COMPILER_WARNING_IGNORED(-Wattributes) \
59
62
  __attribute__((__no_sanitize__(x))) y; \
60
- COMPILER_WARNING_POP
63
+ COMPILER_WARNING_POP \
64
+ y
61
65
  #endif
62
66
 
63
67
  #ifndef NO_SANITIZE
@@ -115,26 +119,22 @@ asan_poison_memory_region(const volatile void *ptr, size_t size)
115
119
  __asan_poison_memory_region(ptr, size);
116
120
  }
117
121
 
118
- /**
119
- * This is a variant of asan_poison_memory_region that takes a VALUE.
120
- *
121
- * @param[in] obj target object.
122
- */
123
- static inline void
124
- asan_poison_object(VALUE obj)
125
- {
126
- MAYBE_UNUSED(struct RVALUE *) ptr = (void *)obj;
127
- asan_poison_memory_region(ptr, SIZEOF_VALUE);
128
- }
129
-
130
122
  #ifdef RUBY_ASAN_ENABLED
131
123
  #define asan_poison_object_if(ptr, obj) do { \
132
- if (ptr) asan_poison_object(obj); \
124
+ if (ptr) rb_asan_poison_object(obj); \
133
125
  } while (0)
134
126
  #else
135
127
  #define asan_poison_object_if(ptr, obj) ((void)(ptr), (void)(obj))
136
128
  #endif
137
129
 
130
+ RUBY_SYMBOL_EXPORT_BEGIN
131
+ /**
132
+ * This is a variant of asan_poison_memory_region that takes a VALUE.
133
+ *
134
+ * @param[in] obj target object.
135
+ */
136
+ void rb_asan_poison_object(VALUE obj);
137
+
138
138
  /**
139
139
  * This function predicates if the given object is fully addressable or not.
140
140
  *
@@ -142,12 +142,17 @@ asan_poison_object(VALUE obj)
142
142
  * @retval 0 the given object is fully addressable.
143
143
  * @retval otherwise pointer to first such byte who is poisoned.
144
144
  */
145
- static inline void *
146
- asan_poisoned_object_p(VALUE obj)
147
- {
148
- MAYBE_UNUSED(struct RVALUE *) ptr = (void *)obj;
149
- return __asan_region_is_poisoned(ptr, SIZEOF_VALUE);
150
- }
145
+ void *rb_asan_poisoned_object_p(VALUE obj);
146
+
147
+ /**
148
+ * This is a variant of asan_unpoison_memory_region that takes a VALUE.
149
+ *
150
+ * @param[in] obj target object.
151
+ * @param[in] malloc_p if the memory region is like a malloc's return value or not.
152
+ */
153
+ void rb_asan_unpoison_object(VALUE obj, bool newobj_p);
154
+
155
+ RUBY_SYMBOL_EXPORT_END
151
156
 
152
157
  /**
153
158
  * This function asserts that a (formally poisoned) memory region from ptr to
@@ -176,24 +181,11 @@ asan_unpoison_memory_region(const volatile void *ptr, size_t size, bool malloc_p
176
181
  }
177
182
  }
178
183
 
179
- /**
180
- * This is a variant of asan_unpoison_memory_region that takes a VALUE.
181
- *
182
- * @param[in] obj target object.
183
- * @param[in] malloc_p if the memory region is like a malloc's return value or not.
184
- */
185
- static inline void
186
- asan_unpoison_object(VALUE obj, bool newobj_p)
187
- {
188
- MAYBE_UNUSED(struct RVALUE *) ptr = (void *)obj;
189
- asan_unpoison_memory_region(ptr, SIZEOF_VALUE, newobj_p);
190
- }
191
-
192
184
  static inline void *
193
185
  asan_unpoison_object_temporary(VALUE obj)
194
186
  {
195
- void *ptr = asan_poisoned_object_p(obj);
196
- asan_unpoison_object(obj, false);
187
+ void *ptr = rb_asan_poisoned_object_p(obj);
188
+ rb_asan_unpoison_object(obj, false);
197
189
  return ptr;
198
190
  }
199
191
 
@@ -201,7 +193,7 @@ static inline void *
201
193
  asan_poison_object_restore(VALUE obj, void *ptr)
202
194
  {
203
195
  if (ptr) {
204
- asan_poison_object(obj);
196
+ rb_asan_poison_object(obj);
205
197
  }
206
198
  return NULL;
207
199
  }
@@ -15,9 +15,11 @@
15
15
  #include "ruby/encoding.h" /* for rb_encoding */
16
16
  #include "ruby/ruby.h" /* for VALUE */
17
17
 
18
- #define STR_NOEMBED FL_USER1
19
- #define STR_SHARED FL_USER2 /* = ELTS_SHARED */
20
- #define STR_CHILLED FL_USER3
18
+ #define STR_SHARED FL_USER0 /* = ELTS_SHARED */
19
+ #define STR_NOEMBED FL_USER1
20
+ #define STR_CHILLED (FL_USER2 | FL_USER3)
21
+ #define STR_CHILLED_LITERAL FL_USER2
22
+ #define STR_CHILLED_SYMBOL_TO_S FL_USER3
21
23
 
22
24
  enum ruby_rstring_private_flags {
23
25
  RSTRING_CHILLED = STR_CHILLED,
@@ -51,12 +53,18 @@ int rb_enc_str_coderange_scan(VALUE str, rb_encoding *enc);
51
53
  int rb_ascii8bit_appendable_encoding_index(rb_encoding *enc, unsigned int code);
52
54
  VALUE rb_str_include(VALUE str, VALUE arg);
53
55
  VALUE rb_str_byte_substr(VALUE str, VALUE beg, VALUE len);
56
+ VALUE rb_str_substr_two_fixnums(VALUE str, VALUE beg, VALUE len, int empty);
54
57
  VALUE rb_str_tmp_frozen_no_embed_acquire(VALUE str);
55
58
  void rb_str_make_embedded(VALUE);
56
59
  VALUE rb_str_upto_each(VALUE, VALUE, int, int (*each)(VALUE, VALUE), VALUE);
57
60
  size_t rb_str_size_as_embedded(VALUE);
58
61
  bool rb_str_reembeddable_p(VALUE);
59
62
  VALUE rb_str_upto_endless_each(VALUE, int (*each)(VALUE, VALUE), VALUE);
63
+ VALUE rb_str_with_debug_created_info(VALUE, VALUE, int);
64
+
65
+ /* error.c */
66
+ void rb_warn_unchilled_literal(VALUE str);
67
+ void rb_warn_unchilled_symbol_to_s(VALUE str);
60
68
 
61
69
  static inline bool STR_EMBED_P(VALUE str);
62
70
  static inline bool STR_SHARED_P(VALUE str);
@@ -123,14 +131,18 @@ CHILLED_STRING_P(VALUE obj)
123
131
  static inline void
124
132
  CHILLED_STRING_MUTATED(VALUE str)
125
133
  {
134
+ VALUE chilled_reason = RB_FL_TEST_RAW(str, STR_CHILLED);
126
135
  FL_UNSET_RAW(str, STR_CHILLED);
127
- rb_category_warn(RB_WARN_CATEGORY_DEPRECATED, "literal string will be frozen in the future");
128
- }
129
-
130
- static inline void
131
- STR_CHILL_RAW(VALUE str)
132
- {
133
- FL_SET_RAW(str, STR_CHILLED);
136
+ switch (chilled_reason) {
137
+ case STR_CHILLED_SYMBOL_TO_S:
138
+ rb_warn_unchilled_symbol_to_s(str);
139
+ break;
140
+ case STR_CHILLED_LITERAL:
141
+ rb_warn_unchilled_literal(str);
142
+ break;
143
+ default:
144
+ rb_bug("RString was chilled for multiple reasons");
145
+ }
134
146
  }
135
147
 
136
148
  static inline bool
@@ -66,6 +66,8 @@ struct rb_io_close_wait_list {
66
66
  int rb_notify_fd_close(int fd, struct rb_io_close_wait_list *busy);
67
67
  void rb_notify_fd_close_wait(struct rb_io_close_wait_list *busy);
68
68
 
69
+ void rb_ec_check_ints(struct rb_execution_context_struct *ec);
70
+
69
71
  RUBY_SYMBOL_EXPORT_BEGIN
70
72
 
71
73
  void *rb_thread_prevent_fork(void *(*func)(void *), void *data); /* for ext/socket/raddrinfo.c */
@@ -82,4 +84,25 @@ RUBY_SYMBOL_EXPORT_END
82
84
  int rb_threadptr_execute_interrupts(struct rb_thread_struct *th, int blocking_timing);
83
85
  bool rb_thread_mn_schedulable(VALUE thread);
84
86
 
87
+ // interrupt exec
88
+
89
+ typedef VALUE (rb_interrupt_exec_func_t)(void *data);
90
+
91
+ enum rb_interrupt_exec_flag {
92
+ rb_interrupt_exec_flag_none = 0x00,
93
+ rb_interrupt_exec_flag_value_data = 0x01,
94
+ };
95
+
96
+ // interrupt the target_th and run func.
97
+ struct rb_ractor_struct;
98
+
99
+ void rb_threadptr_interrupt_exec(struct rb_thread_struct *target_th,
100
+ rb_interrupt_exec_func_t *func, void *data, enum rb_interrupt_exec_flag flags);
101
+
102
+ // create a thread in the target_r and run func on the created thread.
103
+ void rb_ractor_interrupt_exec(struct rb_ractor_struct *target_r,
104
+ rb_interrupt_exec_func_t *func, void *data, enum rb_interrupt_exec_flag flags);
105
+
106
+ void rb_threadptr_interrupt_exec_task_mark(struct rb_thread_struct *th);
107
+
85
108
  #endif /* INTERNAL_THREAD_H */