datadog-ruby_core_source 3.3.6 → 3.3.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (374) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +7 -1
  3. data/datadog-ruby_core_source.gemspec +6 -1
  4. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/id.h +7 -0
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/array.h +1 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/basic_operators.h +2 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/bits.h +82 -0
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/class.h +1 -1
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/encoding.h +2 -0
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/error.h +2 -0
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/fixnum.h +1 -0
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/gc.h +23 -28
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/hash.h +1 -0
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/imemo.h +7 -1
  15. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/io.h +4 -1
  16. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/parse.h +14 -2
  17. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/ractor.h +4 -0
  18. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/sanitizers.h +36 -3
  19. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/string.h +34 -18
  20. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/thread.h +29 -0
  21. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/vm.h +3 -3
  22. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/method.h +1 -0
  23. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/ast.h +2146 -453
  24. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/defines.h +44 -7
  25. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/diagnostic.h +24 -6
  26. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/extension.h +2 -2
  27. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/node.h +0 -21
  28. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/options.h +94 -3
  29. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/parser.h +82 -40
  30. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/prism.h +47 -11
  31. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/regexp.h +43 -0
  32. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/static_literals.h +3 -2
  33. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_char.h +1 -2
  34. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_constant_pool.h +0 -8
  35. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_integer.h +22 -15
  36. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_newline_list.h +11 -0
  37. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_string.h +28 -12
  38. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/version.h +3 -3
  39. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism_compile.h +23 -12
  40. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ractor_core.h +8 -20
  41. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/rubyparser.h +168 -249
  42. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/shape.h +2 -1
  43. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/thread_pthread.h +26 -25
  44. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_core.h +62 -48
  45. data/lib/datadog/ruby_core_source/version.rb +1 -1
  46. data/lib/datadog/ruby_core_source.rb +14 -1
  47. metadata +109 -372
  48. data/.github/workflows/publish.yml +0 -18
  49. data/.gitignore +0 -7
  50. data/.idea/vcs.xml +0 -28
  51. data/CHANGELOG.md +0 -284
  52. data/CONTRIBUTING.md +0 -2
  53. data/Gemfile +0 -4
  54. data/Rakefile +0 -73
  55. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +0 -21
  56. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +0 -50
  57. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +0 -109
  58. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +0 -51
  59. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +0 -69
  60. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +0 -334
  61. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +0 -116
  62. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +0 -31
  63. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +0 -217
  64. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +0 -1570
  65. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +0 -746
  66. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +0 -198
  67. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +0 -1601
  68. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +0 -103
  69. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +0 -61
  70. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +0 -206
  71. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +0 -43
  72. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +0 -254
  73. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +0 -938
  74. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +0 -370
  75. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +0 -1
  76. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +0 -48
  77. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +0 -108
  78. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +0 -36
  79. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +0 -42
  80. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +0 -139
  81. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +0 -73
  82. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +0 -3667
  83. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +0 -213
  84. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +0 -192
  85. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +0 -255
  86. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +0 -214
  87. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +0 -21
  88. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +0 -51
  89. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +0 -109
  90. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +0 -51
  91. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +0 -69
  92. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +0 -334
  93. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +0 -116
  94. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +0 -31
  95. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +0 -217
  96. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +0 -1570
  97. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +0 -746
  98. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +0 -198
  99. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +0 -1601
  100. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +0 -103
  101. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +0 -61
  102. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +0 -206
  103. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +0 -43
  104. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +0 -254
  105. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +0 -938
  106. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +0 -370
  107. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +0 -1
  108. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +0 -48
  109. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +0 -108
  110. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +0 -36
  111. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +0 -42
  112. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +0 -139
  113. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +0 -73
  114. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +0 -3667
  115. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +0 -213
  116. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +0 -192
  117. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +0 -255
  118. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +0 -214
  119. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +0 -21
  120. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +0 -51
  121. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +0 -109
  122. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +0 -51
  123. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +0 -69
  124. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +0 -334
  125. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +0 -116
  126. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +0 -31
  127. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +0 -217
  128. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +0 -1570
  129. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +0 -746
  130. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +0 -198
  131. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +0 -1601
  132. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +0 -103
  133. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +0 -61
  134. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +0 -200
  135. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +0 -43
  136. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +0 -254
  137. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +0 -938
  138. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +0 -370
  139. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +0 -1
  140. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +0 -48
  141. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +0 -108
  142. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +0 -36
  143. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +0 -42
  144. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +0 -139
  145. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +0 -73
  146. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +0 -3667
  147. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +0 -213
  148. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +0 -192
  149. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +0 -255
  150. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +0 -214
  151. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +0 -22
  152. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +0 -117
  153. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +0 -53
  154. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +0 -246
  155. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +0 -423
  156. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +0 -32
  157. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +0 -70
  158. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +0 -343
  159. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +0 -227
  160. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +0 -251
  161. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +0 -9215
  162. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +0 -791
  163. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +0 -212
  164. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +0 -128
  165. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +0 -43
  166. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +0 -243
  167. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +0 -564
  168. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +0 -32
  169. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +0 -42
  170. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +0 -254
  171. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +0 -1004
  172. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +0 -371
  173. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +0 -5
  174. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +0 -101
  175. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +0 -164
  176. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +0 -48
  177. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +0 -118
  178. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +0 -58
  179. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +0 -58
  180. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +0 -138
  181. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +0 -39
  182. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +0 -69
  183. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +0 -5436
  184. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +0 -244
  185. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +0 -619
  186. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +0 -199
  187. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +0 -261
  188. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +0 -137
  189. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +0 -245
  190. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +0 -72
  191. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +0 -22
  192. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +0 -117
  193. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +0 -53
  194. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +0 -246
  195. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +0 -423
  196. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +0 -32
  197. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +0 -70
  198. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +0 -343
  199. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +0 -227
  200. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +0 -251
  201. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +0 -9215
  202. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +0 -791
  203. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +0 -212
  204. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +0 -128
  205. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +0 -43
  206. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +0 -243
  207. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +0 -564
  208. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +0 -32
  209. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +0 -42
  210. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +0 -254
  211. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +0 -1006
  212. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +0 -371
  213. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +0 -5
  214. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +0 -101
  215. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +0 -164
  216. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +0 -48
  217. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +0 -118
  218. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +0 -58
  219. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +0 -58
  220. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +0 -138
  221. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +0 -39
  222. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +0 -69
  223. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +0 -5436
  224. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +0 -244
  225. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +0 -614
  226. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +0 -199
  227. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +0 -261
  228. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +0 -137
  229. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +0 -245
  230. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +0 -72
  231. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +0 -22
  232. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +0 -119
  233. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +0 -53
  234. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  235. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  236. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  237. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +0 -70
  238. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +0 -324
  239. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +0 -237
  240. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  241. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  242. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  243. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +0 -224
  244. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +0 -128
  245. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  246. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  247. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +0 -564
  248. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +0 -32
  249. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  250. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  251. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +0 -42
  252. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +0 -254
  253. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  254. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +0 -371
  255. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  256. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +0 -101
  257. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +0 -165
  258. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +0 -48
  259. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  260. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +0 -58
  261. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +0 -58
  262. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +0 -138
  263. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +0 -39
  264. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  265. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  266. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +0 -244
  267. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  268. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +0 -199
  269. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  270. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  271. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  272. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +0 -79
  273. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  274. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  275. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  276. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +0 -209
  277. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +0 -423
  278. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +0 -32
  279. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  280. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  281. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  282. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +0 -265
  283. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +0 -9902
  284. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +0 -1419
  285. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  286. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  287. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +0 -43
  288. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +0 -244
  289. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  290. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  291. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  292. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  293. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +0 -1006
  294. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  295. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  296. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  297. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  298. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  299. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +0 -123
  300. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  301. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  302. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  303. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  304. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +0 -69
  305. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +0 -5840
  306. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  307. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +0 -627
  308. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  309. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +0 -277
  310. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +0 -137
  311. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +0 -259
  312. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  313. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/build_assert/build_assert.h +0 -0
  314. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/check_type/check_type.h +0 -0
  315. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/container_of/container_of.h +0 -0
  316. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/list/list.h +0 -0
  317. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/str/str.h +0 -0
  318. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/id_table.h +0 -0
  319. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/bignum.h +0 -0
  320. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/cmdlineopt.h +0 -0
  321. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compar.h +0 -0
  322. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compile.h +0 -0
  323. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compilers.h +0 -0
  324. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/complex.h +0 -0
  325. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/cont.h +0 -0
  326. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/dir.h +0 -0
  327. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enc.h +0 -0
  328. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enum.h +0 -0
  329. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enumerator.h +0 -0
  330. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/eval.h +0 -0
  331. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/file.h +0 -0
  332. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/inits.h +0 -0
  333. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/load.h +0 -0
  334. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/loadpath.h +0 -0
  335. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/math.h +0 -0
  336. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/missing.h +0 -0
  337. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/numeric.h +0 -0
  338. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/object.h +0 -0
  339. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/proc.h +0 -0
  340. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/process.h +0 -0
  341. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/random.h +0 -0
  342. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/range.h +0 -0
  343. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/rational.h +0 -0
  344. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/re.h +0 -0
  345. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/ruby_parser.h +0 -0
  346. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/serial.h +0 -0
  347. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/signal.h +0 -0
  348. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/st.h +0 -0
  349. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/static_assert.h +0 -0
  350. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/struct.h +0 -0
  351. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/symbol.h +0 -0
  352. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/time.h +0 -0
  353. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/transcode.h +0 -0
  354. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/util.h +0 -0
  355. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/variable.h +0 -0
  356. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/warnings.h +0 -0
  357. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal.h +0 -0
  358. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/iseq.h +0 -0
  359. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/node.h +0 -0
  360. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/parser_st.h +0 -0
  361. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/parser_value.h +0 -0
  362. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/encoding.h +0 -0
  363. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/pack.h +0 -0
  364. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/prettyprint.h +0 -0
  365. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_buffer.h +0 -0
  366. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_list.h +0 -0
  367. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_memchr.h +0 -0
  368. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_strncasecmp.h +0 -0
  369. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_strpbrk.h +0 -0
  370. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ruby_assert.h +0 -0
  371. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ruby_atomic.h +0 -0
  372. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/thread_none.h +0 -0
  373. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_debug.h +0 -0
  374. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_opts.h +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ec714497a760b5d980a750e9714e66764a5d15f16a64e662930dbe0d6fb42de
4
- data.tar.gz: 48694ad218f613ab0d7c788f23fca5c650e92763af9ce3fb81e9c9cf1185db9c
3
+ metadata.gz: 640fafef2d6fd5b47ad31e030466f953c1392627b792993842d2faf87672971f
4
+ data.tar.gz: b98be1cfb06e954f8a7c3e9854c8db7816629ee4cb1082fabc19a841cf1d72d3
5
5
  SHA512:
6
- metadata.gz: d54ba0edb39e0f2ecaab66a3cc97e92938753290b9762b7899113da31d3b9eedd82df434367fb16fc04e627954f566ca1d31ffa0b15bef85626001a948b4b74a
7
- data.tar.gz: 8da9aef7c7229156d33830db314a7aaba4cfa91ca7f6288020ea81a8e2fab885942682691427ea28a7f8742df2439906ec56ec5f592d30d50f70610139befda2
6
+ metadata.gz: fad66114abf5661df3b8ea86888e865e9eb60275565e993d44dc923b5514339e59f1125df023e5310d2d92cc0b4cab673852095faf8539036436e4e88b2226a9
7
+ data.tar.gz: cb71c539e7586bf50149b5bc3efaae55c53ed0a6cab14a9b94dd3ca95ac751286e8b9e6fc03ab3e5db46c83053ee5aa3a990d869340b920f8e6b4fef8c3c625d
data/CHANGELOG.datadog.md CHANGED
@@ -1,4 +1,10 @@
1
- ## 2024-10-18
1
+ ## [3.3.7] - 2024-12-13
2
+
3
+ * Remove headers and files not used by dd-trace-rb
4
+ * Removed 3.4.0-preview1 headers
5
+ * Add 3.4.0-rc1 headers
6
+
7
+ ## [3.3.6] - 2024-10-18
2
8
 
3
9
  * Initial release - gem renamed to datadog-ruby_source_code, Debase module renamed to Datadog
4
10
  * only sources for 2.5, 3.3, and 3.4 included
@@ -5,7 +5,7 @@ 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}
@@ -15,6 +15,11 @@ Gem::Specification.new do |s|
15
15
  s.required_ruby_version = '>= 2.0.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,
@@ -190,6 +192,8 @@ enum ruby_method_ids {
190
192
  tName,
191
193
  tNil,
192
194
  tPath,
195
+ tPack,
196
+ tBuffer,
193
197
  tUScore,
194
198
  tNUMPARAM_1,
195
199
  tNUMPARAM_2,
@@ -243,6 +247,7 @@ enum ruby_method_ids {
243
247
  DEFINE_LOCALID_FROM_TOKEN(Inspect),
244
248
  DEFINE_LOCALID_FROM_TOKEN(Intern),
245
249
  DEFINE_LOCALID_FROM_TOKEN(Object_id),
250
+ DEFINE_LOCALID_FROM_TOKEN(__id__),
246
251
  DEFINE_LOCALID_FROM_TOKEN(Const_added),
247
252
  DEFINE_LOCALID_FROM_TOKEN(Const_missing),
248
253
  DEFINE_LOCALID_FROM_TOKEN(MethodMissing),
@@ -294,6 +299,8 @@ enum ruby_method_ids {
294
299
  DEFINE_LOCALID_FROM_TOKEN(Name),
295
300
  DEFINE_LOCALID_FROM_TOKEN(Nil),
296
301
  DEFINE_LOCALID_FROM_TOKEN(Path),
302
+ DEFINE_LOCALID_FROM_TOKEN(Pack),
303
+ DEFINE_LOCALID_FROM_TOKEN(Buffer),
297
304
  DEFINE_LOCALID_FROM_TOKEN(UScore),
298
305
  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_1),
299
306
  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_2),
@@ -37,6 +37,7 @@ size_t rb_ary_size_as_embedded(VALUE ary);
37
37
  void rb_ary_make_embedded(VALUE ary);
38
38
  bool rb_ary_embeddable_p(VALUE ary);
39
39
  VALUE rb_ary_diff(VALUE ary1, VALUE ary2);
40
+ RUBY_EXTERN VALUE rb_cArray_empty_frozen;
40
41
 
41
42
  static inline VALUE rb_ary_entry_internal(VALUE ary, long offset);
42
43
  static inline bool ARY_PTR_USING_P(VALUE ary);
@@ -37,6 +37,8 @@ enum ruby_basic_operators {
37
37
  BOP_OR,
38
38
  BOP_CMP,
39
39
  BOP_DEFAULT,
40
+ BOP_PACK,
41
+ BOP_INCLUDE_P,
40
42
 
41
43
  BOP_LAST_
42
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) \
@@ -83,7 +83,7 @@ struct RClass {
83
83
  struct rb_id_table *m_tbl;
84
84
  };
85
85
 
86
- // Assert that classes can be embedded in size_pools[2] (which has 160B slot size)
86
+ // Assert that classes can be embedded in heaps[2] (which has 160B slot size)
87
87
  STATIC_ASSERT(sizeof_rb_classext_t, sizeof(struct RClass) + sizeof(rb_classext_t) <= 4 * RVALUE_SIZE);
88
88
 
89
89
  struct RClass_and_rb_classext_t {
@@ -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 */
@@ -142,6 +142,8 @@ VALUE rb_syntax_error_append(VALUE, VALUE, int, int, rb_encoding*, const char*,
142
142
  PRINTF_ARGS(void rb_enc_warn(rb_encoding *enc, const char *fmt, ...), 2, 3);
143
143
  PRINTF_ARGS(void rb_sys_enc_warning(rb_encoding *enc, const char *fmt, ...), 2, 3);
144
144
  PRINTF_ARGS(void rb_syserr_enc_warning(int err, rb_encoding *enc, const char *fmt, ...), 3, 4);
145
+ PRINTF_ARGS(void rb_enc_compile_warning(rb_encoding *enc, const char *file, int line, const char *fmt, ...), 4, 5);
146
+ PRINTF_ARGS(void rb_enc_compile_warn(rb_encoding *enc, const char *file, int line, const char *fmt, ...), 4, 5);
145
147
  rb_warning_category_t rb_warning_category_from_name(VALUE category);
146
148
  bool rb_warning_category_enabled_p(rb_warning_category_t category);
147
149
  VALUE rb_name_err_new(VALUE mesg, VALUE recv, VALUE method);
@@ -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__)
@@ -163,12 +163,6 @@ struct rb_objspace; /* in vm_core.h */
163
163
  RB_OBJ_WRITE(old, _slot, young); \
164
164
  } while (0)
165
165
 
166
- // We use SIZE_POOL_COUNT number of shape IDs for transitions out of different size pools
167
- // The next available shape ID will be the SPECIAL_CONST_SHAPE_ID
168
- #ifndef SIZE_POOL_COUNT
169
- # define SIZE_POOL_COUNT 5
170
- #endif
171
-
172
166
  /* Used in places that could malloc during, which can cause the GC to run. We
173
167
  * need to temporarily disable the GC to allow the malloc to happen.
174
168
  * Allocating memory during GC is a bad idea, so use this only when absolutely
@@ -180,25 +174,14 @@ struct rb_objspace; /* in vm_core.h */
180
174
  #define DURING_GC_COULD_MALLOC_REGION_END() \
181
175
  if (_already_disabled == Qfalse) rb_gc_enable()
182
176
 
183
- typedef struct ractor_newobj_size_pool_cache {
184
- struct RVALUE *freelist;
185
- struct heap_page *using_page;
186
- } rb_ractor_newobj_size_pool_cache_t;
187
-
188
- typedef struct ractor_newobj_cache {
189
- size_t incremental_mark_step_allocated_slots;
190
- rb_ractor_newobj_size_pool_cache_t size_pool_caches[SIZE_POOL_COUNT];
191
- } rb_ractor_newobj_cache_t;
192
-
193
177
  /* gc.c */
194
- extern int ruby_disable_gc;
195
178
  RUBY_ATTR_MALLOC void *ruby_mimmalloc(size_t size);
196
179
  RUBY_ATTR_MALLOC void *ruby_mimcalloc(size_t num, size_t size);
197
180
  void ruby_mimfree(void *ptr);
198
181
  void rb_gc_prepare_heap(void);
199
182
  void rb_objspace_set_event_hook(const rb_event_flag_t event);
200
- VALUE rb_objspace_gc_enable(struct rb_objspace *);
201
- VALUE rb_objspace_gc_disable(struct rb_objspace *);
183
+ VALUE rb_objspace_gc_enable(void *objspace);
184
+ VALUE rb_objspace_gc_disable(void *objspace);
202
185
  void ruby_gc_set_params(void);
203
186
  void rb_gc_copy_attributes(VALUE dest, VALUE obj);
204
187
  size_t rb_size_mul_or_raise(size_t, size_t, VALUE); /* used in compile.c */
@@ -212,12 +195,13 @@ RUBY_ATTR_MALLOC void *rb_xcalloc_mul_add_mul(size_t, size_t, size_t, size_t);
212
195
  static inline void *ruby_sized_xrealloc_inlined(void *ptr, size_t new_size, size_t old_size) RUBY_ATTR_RETURNS_NONNULL RUBY_ATTR_ALLOC_SIZE((2));
213
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));
214
197
  static inline void ruby_sized_xfree_inlined(void *ptr, size_t size);
215
- void rb_gc_ractor_newobj_cache_clear(rb_ractor_newobj_cache_t *newobj_cache);
198
+
199
+ void *rb_gc_ractor_cache_alloc(rb_ractor_t *ractor);
200
+ void rb_gc_ractor_cache_free(void *cache);
201
+
216
202
  bool rb_gc_size_allocatable_p(size_t size);
217
- size_t *rb_gc_size_pool_sizes(void);
218
- size_t rb_gc_size_pool_id_for_size(size_t size);
219
- int rb_objspace_garbage_object_p(VALUE obj);
220
- bool rb_gc_is_ptr_to_obj(const void *ptr);
203
+ size_t *rb_gc_heap_sizes(void);
204
+ size_t rb_gc_heap_id_for_size(size_t size);
221
205
 
222
206
  void rb_gc_mark_and_move(VALUE *ptr);
223
207
 
@@ -228,6 +212,9 @@ void rb_gc_ref_update_table_values_only(st_table *tbl);
228
212
 
229
213
  void rb_gc_initial_stress_set(VALUE flag);
230
214
 
215
+ void rb_gc_before_fork(void);
216
+ void rb_gc_after_fork(rb_pid_t pid);
217
+
231
218
  #define rb_gc_mark_and_move_ptr(ptr) do { \
232
219
  VALUE _obj = (VALUE)*(ptr); \
233
220
  rb_gc_mark_and_move(&_obj); \
@@ -238,8 +225,8 @@ RUBY_SYMBOL_EXPORT_BEGIN
238
225
  /* exports for objspace module */
239
226
  void rb_objspace_reachable_objects_from(VALUE obj, void (func)(VALUE, void *), void *data);
240
227
  void rb_objspace_reachable_objects_from_root(void (func)(const char *category, VALUE, void *), void *data);
241
- int rb_objspace_markable_object_p(VALUE obj);
242
228
  int rb_objspace_internal_object_p(VALUE obj);
229
+ int rb_objspace_garbage_object_p(VALUE obj);
243
230
 
244
231
  void rb_objspace_each_objects(
245
232
  int (*callback)(void *start, void *end, size_t stride, void *data),
@@ -249,13 +236,13 @@ size_t rb_gc_obj_slot_size(VALUE obj);
249
236
 
250
237
  VALUE rb_gc_disable_no_rest(void);
251
238
 
239
+ #define RB_GC_MAX_NAME_LEN 20
252
240
 
253
241
  /* gc.c (export) */
254
242
  const char *rb_objspace_data_type_name(VALUE obj);
255
243
  VALUE rb_wb_protected_newobj_of(struct rb_execution_context_struct *, VALUE, VALUE, size_t);
256
244
  VALUE rb_wb_unprotected_newobj_of(VALUE, VALUE, size_t);
257
245
  size_t rb_obj_memsize_of(VALUE);
258
- void rb_gc_verify_internal_consistency(void);
259
246
  size_t rb_obj_gc_flags(VALUE, ID[], size_t);
260
247
  void rb_gc_mark_values(long n, const VALUE *values);
261
248
  void rb_gc_mark_vm_stack_values(long n, const VALUE *values);
@@ -263,11 +250,19 @@ void rb_gc_update_values(long n, VALUE *values);
263
250
  void *ruby_sized_xrealloc(void *ptr, size_t new_size, size_t old_size) RUBY_ATTR_RETURNS_NONNULL RUBY_ATTR_ALLOC_SIZE((2));
264
251
  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));
265
252
  void ruby_sized_xfree(void *x, size_t size);
253
+
254
+ const char *rb_gc_active_gc_name(void);
255
+ int rb_gc_modular_gc_loaded_p(void);
256
+
257
+ #if USE_MODULAR_GC
258
+ void ruby_load_modular_gc_from_argv(int argc, char **argv);
259
+ #endif
266
260
  RUBY_SYMBOL_EXPORT_END
267
261
 
268
262
  int rb_ec_stack_check(struct rb_execution_context_struct *ec);
269
263
  void rb_gc_writebarrier_remember(VALUE obj);
270
264
  const char *rb_obj_info(VALUE obj);
265
+ void ruby_annotate_mmap(const void *addr, unsigned long size, const char *name);
271
266
 
272
267
  #if defined(HAVE_MALLOC_USABLE_SIZE) || defined(HAVE_MALLOC_SIZE) || defined(_WIN32)
273
268
 
@@ -88,6 +88,7 @@ int rb_hash_stlike_foreach_with_replace(VALUE hash, st_foreach_check_callback_fu
88
88
  int rb_hash_stlike_update(VALUE hash, st_data_t key, st_update_callback_func *func, st_data_t arg);
89
89
  VALUE rb_ident_hash_new_with_size(st_index_t size);
90
90
  void rb_hash_free(VALUE hash);
91
+ RUBY_EXTERN VALUE rb_cHash_empty_frozen;
91
92
 
92
93
  static inline unsigned RHASH_AR_TABLE_SIZE_RAW(VALUE h);
93
94
  static inline VALUE RHASH_IFNONE(VALUE h);
@@ -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;
@@ -87,6 +92,7 @@ struct vm_ifunc {
87
92
  const void *data;
88
93
  struct vm_ifunc_argc argc;
89
94
  };
95
+ #define IFUNC_YIELD_OPTIMIZABLE IMEMO_FL_USER0
90
96
 
91
97
  struct rb_imemo_tmpbuf_struct {
92
98
  VALUE flags;
@@ -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. */
@@ -135,6 +135,9 @@ RUBY_SYMBOL_EXPORT_BEGIN
135
135
  void rb_maygvl_fd_fix_cloexec(int fd);
136
136
  int rb_gc_for_fd(int err);
137
137
  void rb_write_error_str(VALUE mesg);
138
+
139
+ VALUE rb_io_blocking_region_wait(struct rb_io *io, rb_blocking_function_t *function, void *argument, enum rb_io_event events);
140
+ VALUE rb_io_blocking_region(struct rb_io *io, rb_blocking_function_t *function, void *argument);
138
141
  RUBY_SYMBOL_EXPORT_END
139
142
 
140
143
  #endif /* INTERNAL_IO_H */
@@ -12,6 +12,17 @@
12
12
  #include "rubyparser.h"
13
13
  #include "internal/static_assert.h"
14
14
 
15
+ // The default parser to use for Ruby code.
16
+ typedef enum {
17
+ RB_DEFAULT_PARSER_PARSE_Y,
18
+ RB_DEFAULT_PARSER_PRISM,
19
+ } ruby_default_parser_enum;
20
+
21
+ ruby_default_parser_enum rb_ruby_default_parser(void);
22
+ void rb_ruby_default_parser_set(ruby_default_parser_enum parser);
23
+
24
+ #define rb_ruby_prism_p() (rb_ruby_default_parser() == RB_DEFAULT_PARSER_PRISM)
25
+
15
26
  #ifdef UNIVERSAL_PARSER
16
27
  #define rb_encoding const void
17
28
  #endif
@@ -55,7 +66,7 @@ void rb_ruby_parser_set_script_lines(rb_parser_t *p);
55
66
  void rb_ruby_parser_error_tolerant(rb_parser_t *p);
56
67
  void rb_ruby_parser_keep_tokens(rb_parser_t *p);
57
68
  typedef rb_parser_string_t*(rb_parser_lex_gets_func)(struct parser_params*, rb_parser_input_data, int);
58
- rb_ast_t *rb_parser_compile(rb_parser_t *p, rb_parser_lex_gets_func *gets, const char *fname_ptr, long fname_len, rb_encoding *fname_enc, rb_parser_input_data input, int line);
69
+ rb_ast_t *rb_parser_compile(rb_parser_t *p, rb_parser_lex_gets_func *gets, VALUE fname, rb_parser_input_data input, int line);
59
70
 
60
71
  RUBY_SYMBOL_EXPORT_BEGIN
61
72
 
@@ -63,6 +74,7 @@ rb_encoding *rb_ruby_parser_encoding(rb_parser_t *p);
63
74
  int rb_ruby_parser_end_seen_p(rb_parser_t *p);
64
75
  int rb_ruby_parser_set_yydebug(rb_parser_t *p, int flag);
65
76
  rb_parser_string_t *rb_str_to_parser_string(rb_parser_t *p, VALUE str);
77
+ void rb_parser_string_free(rb_parser_t *p, rb_parser_string_t *str);
66
78
 
67
79
  int rb_parser_dvar_defined_ref(struct parser_params*, ID, ID**);
68
80
  ID rb_parser_internal_id(struct parser_params*);
@@ -97,7 +109,7 @@ VALUE rb_ruby_parser_ruby_sourcefile_string(rb_parser_t *p);
97
109
  int rb_ruby_parser_ruby_sourceline(rb_parser_t *p);
98
110
  int rb_ruby_parser_lex_state(rb_parser_t *p);
99
111
  void rb_ruby_ripper_parse0(rb_parser_t *p);
100
- int rb_ruby_ripper_dedent_string(rb_parser_t *p, VALUE string, int width);
112
+ int rb_ruby_ripper_dedent_string(rb_parser_t *p, rb_parser_string_t *string, int width);
101
113
  int rb_ruby_ripper_initialized_p(rb_parser_t *p);
102
114
  void rb_ruby_ripper_parser_initialize(rb_parser_t *p);
103
115
  long rb_ruby_ripper_column(rb_parser_t *p);
@@ -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 */
@@ -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
@@ -206,6 +210,35 @@ asan_poison_object_restore(VALUE obj, void *ptr)
206
210
  return NULL;
207
211
  }
208
212
 
213
+ #define asan_unpoisoning_object(obj) \
214
+ for (void *poisoned = asan_unpoison_object_temporary(obj), \
215
+ *unpoisoning = &poisoned; /* flag to loop just once */ \
216
+ unpoisoning; \
217
+ unpoisoning = asan_poison_object_restore(obj, poisoned))
218
+
219
+
220
+ static inline void *
221
+ asan_unpoison_memory_region_temporary(void *ptr, size_t len)
222
+ {
223
+ void *poisoned_ptr = __asan_region_is_poisoned(ptr, len);
224
+ asan_unpoison_memory_region(ptr, len, false);
225
+ return poisoned_ptr;
226
+ }
227
+
228
+ static inline void *
229
+ asan_poison_memory_region_restore(void *ptr, size_t len, void *poisoned_ptr)
230
+ {
231
+ if (poisoned_ptr) {
232
+ asan_poison_memory_region(ptr, len);
233
+ }
234
+ return NULL;
235
+ }
236
+
237
+ #define asan_unpoisoning_memory_region(ptr, len) \
238
+ for (void *poisoned = asan_unpoison_memory_region_temporary(ptr, len), \
239
+ *unpoisoning = &poisoned; /* flag to loop just once */ \
240
+ unpoisoning; \
241
+ unpoisoning = asan_poison_memory_region_restore(ptr, len, poisoned))
209
242
 
210
243
  /**
211
244
  * Checks if the given pointer is on an ASAN fake stack. If so, it returns the
@@ -15,9 +15,15 @@
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
23
+
24
+ enum ruby_rstring_private_flags {
25
+ RSTRING_CHILLED = STR_CHILLED,
26
+ };
21
27
 
22
28
  #ifdef rb_fstring_cstr
23
29
  # undef rb_fstring_cstr
@@ -47,6 +53,18 @@ int rb_enc_str_coderange_scan(VALUE str, rb_encoding *enc);
47
53
  int rb_ascii8bit_appendable_encoding_index(rb_encoding *enc, unsigned int code);
48
54
  VALUE rb_str_include(VALUE str, VALUE arg);
49
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);
57
+ VALUE rb_str_tmp_frozen_no_embed_acquire(VALUE str);
58
+ void rb_str_make_embedded(VALUE);
59
+ VALUE rb_str_upto_each(VALUE, VALUE, int, int (*each)(VALUE, VALUE), VALUE);
60
+ size_t rb_str_size_as_embedded(VALUE);
61
+ bool rb_str_reembeddable_p(VALUE);
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);
50
68
 
51
69
  static inline bool STR_EMBED_P(VALUE str);
52
70
  static inline bool STR_SHARED_P(VALUE str);
@@ -59,14 +77,8 @@ static inline VALUE rb_str_eql_internal(const VALUE str1, const VALUE str2);
59
77
  RUBY_SYMBOL_EXPORT_BEGIN
60
78
  /* string.c (export) */
61
79
  VALUE rb_str_tmp_frozen_acquire(VALUE str);
62
- VALUE rb_str_tmp_frozen_no_embed_acquire(VALUE str);
63
80
  void rb_str_tmp_frozen_release(VALUE str, VALUE tmp);
64
81
  VALUE rb_setup_fake_str(struct RString *fake_str, const char *name, long len, rb_encoding *enc);
65
- VALUE rb_str_upto_each(VALUE, VALUE, int, int (*each)(VALUE, VALUE), VALUE);
66
- VALUE rb_str_upto_endless_each(VALUE, int (*each)(VALUE, VALUE), VALUE);
67
- void rb_str_make_embedded(VALUE);
68
- size_t rb_str_size_as_embedded(VALUE);
69
- bool rb_str_reembeddable_p(VALUE);
70
82
  RUBY_SYMBOL_EXPORT_END
71
83
 
72
84
  VALUE rb_fstring_new(const char *ptr, long len);
@@ -76,6 +88,7 @@ VALUE rb_str_concat_literals(size_t num, const VALUE *strary);
76
88
  VALUE rb_str_eql(VALUE str1, VALUE str2);
77
89
  VALUE rb_id_quote_unprintable(ID);
78
90
  VALUE rb_sym_proc_call(ID mid, int argc, const VALUE *argv, int kw_splat, VALUE passed_proc);
91
+ VALUE rb_enc_literal_str(const char *ptr, long len, rb_encoding *enc);
79
92
 
80
93
  struct rb_execution_context_struct;
81
94
  VALUE rb_ec_str_resurrect(struct rb_execution_context_struct *ec, VALUE str, bool chilled);
@@ -118,15 +131,18 @@ CHILLED_STRING_P(VALUE obj)
118
131
  static inline void
119
132
  CHILLED_STRING_MUTATED(VALUE str)
120
133
  {
121
- rb_category_warn(RB_WARN_CATEGORY_DEPRECATED, "literal string will be frozen in the future");
122
- FL_UNSET_RAW(str, STR_CHILLED | FL_FREEZE);
123
- }
124
-
125
- static inline void
126
- STR_CHILL_RAW(VALUE str)
127
- {
128
- // Chilled strings are always also frozen
129
- FL_SET_RAW(str, STR_CHILLED | RUBY_FL_FREEZE);
134
+ VALUE chilled_reason = RB_FL_TEST_RAW(str, STR_CHILLED);
135
+ FL_UNSET_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
+ }
130
146
  }
131
147
 
132
148
  static inline bool