datadog-ruby_core_source 3.3.6 → 3.3.7

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 (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