datadog-ruby_core_source 3.3.6 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +16 -1
  3. data/README.md +8 -5
  4. data/datadog-ruby_core_source.gemspec +7 -2
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/id.h +5 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/basic_operators.h +1 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/bits.h +82 -0
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/encoding.h +2 -0
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/error.h +26 -0
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/fixnum.h +1 -0
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/gc.h +14 -6
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/imemo.h +6 -1
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/io.h +1 -1
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/parse.h +2 -1
  15. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/proc.h +1 -0
  16. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/ractor.h +4 -0
  17. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/sanitizers.h +31 -39
  18. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/string.h +22 -10
  19. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/thread.h +23 -0
  20. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/vm.h +1 -1
  21. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/method.h +1 -0
  22. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/ast.h +427 -3
  23. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/defines.h +8 -7
  24. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/diagnostic.h +1 -0
  25. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/extension.h +1 -1
  26. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/prism.h +47 -11
  27. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/version.h +2 -2
  28. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism_compile.h +5 -5
  29. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ractor_core.h +6 -6
  30. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/rubyparser.h +3 -2
  31. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/thread_pthread.h +0 -1
  32. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_core.h +40 -12
  33. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/id.h +9 -0
  34. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/array.h +1 -0
  35. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/basic_operators.h +2 -0
  36. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/bits.h +82 -0
  37. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/class.h +1 -1
  38. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/cmdlineopt.h +0 -4
  39. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/encoding.h +2 -0
  40. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/error.h +28 -0
  41. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/fixnum.h +1 -0
  42. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/gc.h +29 -30
  43. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/hash.h +2 -0
  44. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/imemo.h +10 -13
  45. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/io.h +5 -2
  46. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/parse.h +18 -4
  47. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/proc.h +1 -1
  48. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/ractor.h +4 -0
  49. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/re.h +2 -2
  50. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/sanitizers.h +72 -39
  51. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/string.h +35 -18
  52. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/struct.h +0 -8
  53. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/symbol.h +2 -0
  54. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/thread.h +29 -0
  55. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/time.h +4 -1
  56. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/variable.h +0 -2
  57. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/vm.h +3 -3
  58. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/iseq.h +12 -1
  59. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/method.h +4 -1
  60. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/node.h +14 -3
  61. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/ast.h +2172 -453
  62. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/defines.h +61 -7
  63. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/diagnostic.h +24 -6
  64. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/extension.h +5 -5
  65. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/node.h +0 -21
  66. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/options.h +141 -4
  67. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/parser.h +82 -40
  68. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/prism.h +51 -4
  69. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/regexp.h +43 -0
  70. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/static_literals.h +3 -2
  71. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_buffer.h +10 -0
  72. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_char.h +1 -2
  73. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_constant_pool.h +0 -8
  74. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_integer.h +22 -15
  75. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_newline_list.h +11 -0
  76. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_string.h +28 -12
  77. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/version.h +3 -3
  78. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism_compile.h +29 -12
  79. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/ractor_core.h +9 -20
  80. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/rubyparser.h +198 -248
  81. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/shape.h +2 -1
  82. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/thread_pthread.h +28 -27
  83. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/vm_core.h +65 -66
  84. data/lib/datadog/ruby_core_source/version.rb +1 -1
  85. data/lib/datadog/ruby_core_source.rb +14 -1
  86. metadata +213 -476
  87. data/.github/workflows/publish.yml +0 -18
  88. data/.gitignore +0 -7
  89. data/.idea/vcs.xml +0 -28
  90. data/CHANGELOG.md +0 -284
  91. data/CONTRIBUTING.md +0 -2
  92. data/Gemfile +0 -4
  93. data/Rakefile +0 -73
  94. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +0 -21
  95. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +0 -50
  96. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +0 -109
  97. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +0 -51
  98. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +0 -69
  99. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +0 -334
  100. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +0 -116
  101. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +0 -31
  102. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +0 -217
  103. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +0 -1570
  104. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +0 -746
  105. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +0 -198
  106. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +0 -1601
  107. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +0 -103
  108. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +0 -61
  109. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +0 -206
  110. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +0 -43
  111. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +0 -254
  112. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +0 -938
  113. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +0 -370
  114. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +0 -1
  115. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +0 -48
  116. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +0 -108
  117. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +0 -36
  118. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +0 -42
  119. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +0 -139
  120. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +0 -73
  121. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +0 -3667
  122. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +0 -213
  123. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +0 -192
  124. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +0 -255
  125. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +0 -214
  126. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +0 -21
  127. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +0 -51
  128. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +0 -109
  129. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +0 -51
  130. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +0 -69
  131. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +0 -334
  132. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +0 -116
  133. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +0 -31
  134. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +0 -217
  135. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +0 -1570
  136. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +0 -746
  137. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +0 -198
  138. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +0 -1601
  139. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +0 -103
  140. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +0 -61
  141. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +0 -206
  142. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +0 -43
  143. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +0 -254
  144. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +0 -938
  145. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +0 -370
  146. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +0 -1
  147. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +0 -48
  148. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +0 -108
  149. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +0 -36
  150. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +0 -42
  151. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +0 -139
  152. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +0 -73
  153. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +0 -3667
  154. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +0 -213
  155. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +0 -192
  156. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +0 -255
  157. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +0 -214
  158. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +0 -21
  159. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +0 -51
  160. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +0 -109
  161. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +0 -51
  162. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +0 -69
  163. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +0 -334
  164. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +0 -116
  165. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +0 -31
  166. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +0 -217
  167. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +0 -1570
  168. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +0 -746
  169. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +0 -198
  170. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +0 -1601
  171. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +0 -103
  172. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +0 -61
  173. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +0 -200
  174. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +0 -43
  175. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +0 -254
  176. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +0 -938
  177. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +0 -370
  178. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +0 -1
  179. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +0 -48
  180. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +0 -108
  181. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +0 -36
  182. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +0 -42
  183. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +0 -139
  184. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +0 -73
  185. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +0 -3667
  186. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +0 -213
  187. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +0 -192
  188. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +0 -255
  189. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +0 -214
  190. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +0 -22
  191. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +0 -117
  192. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +0 -53
  193. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +0 -246
  194. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +0 -423
  195. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +0 -32
  196. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +0 -70
  197. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +0 -343
  198. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +0 -227
  199. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +0 -251
  200. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +0 -9215
  201. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +0 -791
  202. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +0 -212
  203. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +0 -128
  204. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +0 -43
  205. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +0 -243
  206. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +0 -564
  207. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +0 -32
  208. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +0 -42
  209. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +0 -254
  210. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +0 -1004
  211. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +0 -371
  212. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +0 -5
  213. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +0 -101
  214. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +0 -164
  215. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +0 -48
  216. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +0 -118
  217. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +0 -58
  218. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +0 -58
  219. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +0 -138
  220. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +0 -39
  221. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +0 -69
  222. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +0 -5436
  223. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +0 -244
  224. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +0 -619
  225. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +0 -199
  226. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +0 -261
  227. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +0 -137
  228. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +0 -245
  229. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +0 -72
  230. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +0 -22
  231. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +0 -117
  232. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +0 -53
  233. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +0 -246
  234. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +0 -423
  235. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +0 -32
  236. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +0 -70
  237. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +0 -343
  238. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +0 -227
  239. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +0 -251
  240. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +0 -9215
  241. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +0 -791
  242. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +0 -212
  243. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +0 -128
  244. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +0 -43
  245. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +0 -243
  246. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +0 -564
  247. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +0 -32
  248. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +0 -42
  249. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +0 -254
  250. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +0 -1006
  251. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +0 -371
  252. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +0 -5
  253. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +0 -101
  254. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +0 -164
  255. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +0 -48
  256. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +0 -118
  257. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +0 -58
  258. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +0 -58
  259. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +0 -138
  260. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +0 -39
  261. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +0 -69
  262. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +0 -5436
  263. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +0 -244
  264. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +0 -614
  265. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +0 -199
  266. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +0 -261
  267. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +0 -137
  268. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +0 -245
  269. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +0 -72
  270. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +0 -22
  271. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +0 -119
  272. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +0 -53
  273. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  274. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  275. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  276. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +0 -70
  277. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +0 -324
  278. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +0 -237
  279. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  280. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  281. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  282. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +0 -224
  283. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +0 -128
  284. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  285. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  286. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +0 -564
  287. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +0 -32
  288. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  289. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  290. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +0 -42
  291. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +0 -254
  292. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  293. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +0 -371
  294. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  295. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +0 -101
  296. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +0 -165
  297. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +0 -48
  298. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  299. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +0 -58
  300. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +0 -58
  301. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +0 -138
  302. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +0 -39
  303. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  304. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  305. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +0 -244
  306. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  307. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +0 -199
  308. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  309. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  310. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  311. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +0 -79
  312. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  313. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  314. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  315. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +0 -209
  316. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +0 -423
  317. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +0 -32
  318. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  319. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  320. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  321. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +0 -265
  322. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +0 -9902
  323. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +0 -1419
  324. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  325. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  326. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +0 -43
  327. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +0 -244
  328. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  329. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  330. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  331. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  332. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +0 -1006
  333. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  334. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  335. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  336. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  337. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  338. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +0 -123
  339. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  340. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  341. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  342. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  343. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +0 -69
  344. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +0 -5840
  345. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  346. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +0 -627
  347. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  348. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +0 -277
  349. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +0 -137
  350. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +0 -259
  351. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  352. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/build_assert/build_assert.h +0 -0
  353. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/check_type/check_type.h +0 -0
  354. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/container_of/container_of.h +0 -0
  355. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/list/list.h +0 -0
  356. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/str/str.h +0 -0
  357. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/id_table.h +0 -0
  358. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/array.h +0 -0
  359. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/bignum.h +0 -0
  360. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/class.h +0 -0
  361. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/cmdlineopt.h +0 -0
  362. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compar.h +0 -0
  363. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compile.h +0 -0
  364. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compilers.h +0 -0
  365. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/complex.h +0 -0
  366. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/cont.h +0 -0
  367. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/dir.h +0 -0
  368. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enc.h +0 -0
  369. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enum.h +0 -0
  370. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enumerator.h +0 -0
  371. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/eval.h +0 -0
  372. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/file.h +0 -0
  373. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/hash.h +0 -0
  374. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/inits.h +0 -0
  375. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/load.h +0 -0
  376. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/loadpath.h +0 -0
  377. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/math.h +0 -0
  378. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/missing.h +0 -0
  379. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/numeric.h +0 -0
  380. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/object.h +0 -0
  381. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/process.h +0 -0
  382. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/random.h +0 -0
  383. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/range.h +0 -0
  384. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/rational.h +0 -0
  385. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/re.h +0 -0
  386. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/ruby_parser.h +0 -0
  387. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/serial.h +0 -0
  388. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/signal.h +0 -0
  389. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/st.h +0 -0
  390. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/static_assert.h +0 -0
  391. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/struct.h +0 -0
  392. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/symbol.h +0 -0
  393. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/time.h +0 -0
  394. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/transcode.h +0 -0
  395. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/util.h +0 -0
  396. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/variable.h +0 -0
  397. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/warnings.h +0 -0
  398. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal.h +0 -0
  399. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/iseq.h +0 -0
  400. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/node.h +0 -0
  401. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/parser_st.h +0 -0
  402. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/parser_value.h +0 -0
  403. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/encoding.h +0 -0
  404. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/node.h +0 -0
  405. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/options.h +0 -0
  406. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/pack.h +0 -0
  407. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/parser.h +0 -0
  408. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/prettyprint.h +0 -0
  409. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/regexp.h +0 -0
  410. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/static_literals.h +0 -0
  411. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_buffer.h +0 -0
  412. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_char.h +0 -0
  413. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_constant_pool.h +0 -0
  414. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_integer.h +0 -0
  415. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_list.h +0 -0
  416. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_memchr.h +0 -0
  417. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_newline_list.h +0 -0
  418. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_string.h +0 -0
  419. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_strncasecmp.h +0 -0
  420. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_strpbrk.h +0 -0
  421. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ruby_assert.h +0 -0
  422. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ruby_atomic.h +0 -0
  423. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/shape.h +0 -0
  424. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/thread_none.h +0 -0
  425. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/vm_debug.h +0 -0
  426. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/vm_opts.h +0 -0
  427. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/build_assert/build_assert.h +0 -0
  428. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/check_type/check_type.h +0 -0
  429. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/container_of/container_of.h +0 -0
  430. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/list/list.h +0 -0
  431. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/str/str.h +0 -0
  432. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/id_table.h +0 -0
  433. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/bignum.h +0 -0
  434. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/compar.h +0 -0
  435. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/compile.h +0 -0
  436. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/compilers.h +0 -0
  437. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/complex.h +0 -0
  438. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/cont.h +0 -0
  439. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/dir.h +0 -0
  440. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/enc.h +0 -0
  441. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/enum.h +0 -0
  442. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/enumerator.h +0 -0
  443. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/eval.h +0 -0
  444. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/file.h +0 -0
  445. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/inits.h +0 -0
  446. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/load.h +0 -0
  447. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/loadpath.h +0 -0
  448. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/math.h +0 -0
  449. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/missing.h +0 -0
  450. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/numeric.h +0 -0
  451. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/object.h +0 -0
  452. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/process.h +0 -0
  453. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/random.h +0 -0
  454. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/range.h +0 -0
  455. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/rational.h +0 -0
  456. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/ruby_parser.h +0 -0
  457. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/serial.h +0 -0
  458. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/signal.h +0 -0
  459. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/st.h +0 -0
  460. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/static_assert.h +0 -0
  461. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/transcode.h +0 -0
  462. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/util.h +0 -0
  463. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/warnings.h +0 -0
  464. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal.h +0 -0
  465. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/parser_st.h +0 -0
  466. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/parser_value.h +0 -0
  467. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/encoding.h +0 -0
  468. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/pack.h +0 -0
  469. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/prettyprint.h +0 -0
  470. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_list.h +0 -0
  471. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_memchr.h +0 -0
  472. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_strncasecmp.h +0 -0
  473. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_strpbrk.h +0 -0
  474. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ruby_assert.h +0 -0
  475. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ruby_atomic.h +0 -0
  476. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/thread_none.h +0 -0
  477. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/vm_debug.h +0 -0
  478. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/vm_opts.h +0 -0
@@ -137,14 +137,15 @@
137
137
  #endif
138
138
 
139
139
  /**
140
- * isinf on Windows is defined as accepting a float, but on POSIX systems it
141
- * accepts a float, a double, or a long double. We want to mirror this behavior
142
- * on windows.
140
+ * isinf on POSIX systems it accepts a float, a double, or a long double.
141
+ * But mingw didn't provide an isinf macro, only an isinf function that only
142
+ * accepts floats, so we need to use _finite instead.
143
143
  */
144
- #ifdef _WIN32
145
- # include <float.h>
146
- # undef isinf
147
- # define isinf(x) (sizeof(x) == sizeof(float) ? !_finitef(x) : !_finite(x))
144
+ #ifdef __MINGW64__
145
+ #include <float.h>
146
+ #define PRISM_ISINF(x) (!_finite(x))
147
+ #else
148
+ #define PRISM_ISINF(x) isinf(x)
148
149
  #endif
149
150
 
150
151
  /**
@@ -170,6 +170,7 @@ typedef enum {
170
170
  PM_ERR_INSTANCE_VARIABLE_BARE,
171
171
  PM_ERR_INVALID_BLOCK_EXIT,
172
172
  PM_ERR_INVALID_CHARACTER,
173
+ PM_ERR_INVALID_COMMA,
173
174
  PM_ERR_INVALID_ENCODING_MAGIC_COMMENT,
174
175
  PM_ERR_INVALID_ESCAPE_CHARACTER,
175
176
  PM_ERR_INVALID_FLOAT_EXPONENT,
@@ -1,7 +1,7 @@
1
1
  #ifndef PRISM_EXT_NODE_H
2
2
  #define PRISM_EXT_NODE_H
3
3
 
4
- #define EXPECTED_PRISM_VERSION "1.0.0"
4
+ #define EXPECTED_PRISM_VERSION "1.2.0"
5
5
 
6
6
  #include <ruby.h>
7
7
  #include <ruby/encoding.h>
@@ -219,17 +219,6 @@ PRISM_EXPORTED_FUNCTION const char * pm_token_type_name(pm_token_type_t token_ty
219
219
  */
220
220
  const char * pm_token_type_human(pm_token_type_t token_type);
221
221
 
222
- /**
223
- * Format the errors on the parser into the given buffer.
224
- *
225
- * @param parser The parser to format the errors for.
226
- * @param error_list The list of errors to format.
227
- * @param buffer The buffer to format the errors into.
228
- * @param colorize Whether or not to colorize the errors with ANSI escape sequences.
229
- * @param inline_messages Whether or not to inline the messages with the source.
230
- */
231
- PRISM_EXPORTED_FUNCTION void pm_parser_errors_format(const pm_parser_t *parser, const pm_list_t *error_list, pm_buffer_t *buffer, bool colorize, bool inline_messages);
232
-
233
222
  // We optionally support dumping to JSON. For systems that don't want or need
234
223
  // this functionality, it can be turned off with the PRISM_EXCLUDE_JSON define.
235
224
  #ifndef PRISM_EXCLUDE_JSON
@@ -245,6 +234,53 @@ PRISM_EXPORTED_FUNCTION void pm_dump_json(pm_buffer_t *buffer, const pm_parser_t
245
234
 
246
235
  #endif
247
236
 
237
+ /**
238
+ * Represents the results of a slice query.
239
+ */
240
+ typedef enum {
241
+ /** Returned if the encoding given to a slice query was invalid. */
242
+ PM_STRING_QUERY_ERROR = -1,
243
+
244
+ /** Returned if the result of the slice query is false. */
245
+ PM_STRING_QUERY_FALSE,
246
+
247
+ /** Returned if the result of the slice query is true. */
248
+ PM_STRING_QUERY_TRUE
249
+ } pm_string_query_t;
250
+
251
+ /**
252
+ * Check that the slice is a valid local variable name.
253
+ *
254
+ * @param source The source to check.
255
+ * @param length The length of the source.
256
+ * @param encoding_name The name of the encoding of the source.
257
+ * @return PM_STRING_QUERY_TRUE if the query is true, PM_STRING_QUERY_FALSE if
258
+ * the query is false, and PM_STRING_QUERY_ERROR if the encoding was invalid.
259
+ */
260
+ PRISM_EXPORTED_FUNCTION pm_string_query_t pm_string_query_local(const uint8_t *source, size_t length, const char *encoding_name);
261
+
262
+ /**
263
+ * Check that the slice is a valid constant name.
264
+ *
265
+ * @param source The source to check.
266
+ * @param length The length of the source.
267
+ * @param encoding_name The name of the encoding of the source.
268
+ * @return PM_STRING_QUERY_TRUE if the query is true, PM_STRING_QUERY_FALSE if
269
+ * the query is false, and PM_STRING_QUERY_ERROR if the encoding was invalid.
270
+ */
271
+ PRISM_EXPORTED_FUNCTION pm_string_query_t pm_string_query_constant(const uint8_t *source, size_t length, const char *encoding_name);
272
+
273
+ /**
274
+ * Check that the slice is a valid method name.
275
+ *
276
+ * @param source The source to check.
277
+ * @param length The length of the source.
278
+ * @param encoding_name The name of the encoding of the source.
279
+ * @return PM_STRING_QUERY_TRUE if the query is true, PM_STRING_QUERY_FALSE if
280
+ * the query is false, and PM_STRING_QUERY_ERROR if the encoding was invalid.
281
+ */
282
+ PRISM_EXPORTED_FUNCTION pm_string_query_t pm_string_query_method_name(const uint8_t *source, size_t length, const char *encoding_name);
283
+
248
284
  /**
249
285
  * @mainpage
250
286
  *
@@ -14,7 +14,7 @@
14
14
  /**
15
15
  * The minor version of the Prism library as an int.
16
16
  */
17
- #define PRISM_VERSION_MINOR 0
17
+ #define PRISM_VERSION_MINOR 2
18
18
 
19
19
  /**
20
20
  * The patch version of the Prism library as an int.
@@ -24,6 +24,6 @@
24
24
  /**
25
25
  * The version of the Prism library as a constant string.
26
26
  */
27
- #define PRISM_VERSION "1.0.0"
27
+ #define PRISM_VERSION "1.2.0"
28
28
 
29
29
  #endif
@@ -90,10 +90,10 @@ VALUE pm_parse_string(pm_parse_result_t *result, VALUE source, VALUE filepath, V
90
90
  VALUE pm_parse_stdin(pm_parse_result_t *result);
91
91
  void pm_parse_result_free(pm_parse_result_t *result);
92
92
 
93
- rb_iseq_t *pm_iseq_new(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent, enum rb_iseq_type);
94
- rb_iseq_t *pm_iseq_new_top(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent);
95
- rb_iseq_t *pm_iseq_new_main(pm_scope_node_t *node, VALUE path, VALUE realpath, const rb_iseq_t *parent, int opt);
96
- rb_iseq_t *pm_iseq_new_eval(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, int first_lineno, const rb_iseq_t *parent, int isolated_depth);
97
- rb_iseq_t *pm_iseq_new_with_opt(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, int first_lineno, const rb_iseq_t *parent, int isolated_depth, enum rb_iseq_type, const rb_compile_option_t*);
93
+ rb_iseq_t *pm_iseq_new(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent, enum rb_iseq_type, int *error_state);
94
+ rb_iseq_t *pm_iseq_new_top(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent, int *error_state);
95
+ rb_iseq_t *pm_iseq_new_main(pm_scope_node_t *node, VALUE path, VALUE realpath, const rb_iseq_t *parent, int opt, int *error_state);
96
+ rb_iseq_t *pm_iseq_new_eval(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, int first_lineno, const rb_iseq_t *parent, int isolated_depth, int *error_state);
97
+ rb_iseq_t *pm_iseq_new_with_opt(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, int first_lineno, const rb_iseq_t *parent, int isolated_depth, enum rb_iseq_type, const rb_compile_option_t *option, int *error_state);
98
98
 
99
99
  VALUE pm_iseq_compile_node(rb_iseq_t *iseq, pm_scope_node_t *node);
@@ -180,6 +180,7 @@ struct rb_ractor_struct {
180
180
 
181
181
  st_table *local_storage;
182
182
  struct rb_id_table *idkey_local_storage;
183
+ VALUE local_storage_store_lock;
183
184
 
184
185
  VALUE r_stdin;
185
186
  VALUE r_stdout;
@@ -222,6 +223,8 @@ void rb_ractor_terminate_interrupt_main_thread(rb_ractor_t *r);
222
223
  void rb_ractor_terminate_all(void);
223
224
  bool rb_ractor_main_p_(void);
224
225
  void rb_ractor_atfork(rb_vm_t *vm, rb_thread_t *th);
226
+ VALUE rb_ractor_require(VALUE feature);
227
+ VALUE rb_ractor_autoload_load(VALUE space, ID id);
225
228
 
226
229
  VALUE rb_ractor_ensure_shareable(VALUE obj, VALUE name);
227
230
 
@@ -304,18 +307,15 @@ rb_ractor_thread_switch(rb_ractor_t *cr, rb_thread_t *th)
304
307
  }
305
308
 
306
309
  #define rb_ractor_set_current_ec(cr, ec) rb_ractor_set_current_ec_(cr, ec, __FILE__, __LINE__)
310
+ #ifdef RB_THREAD_LOCAL_SPECIFIER
311
+ void rb_current_ec_set(rb_execution_context_t *ec);
312
+ #endif
307
313
 
308
314
  static inline void
309
315
  rb_ractor_set_current_ec_(rb_ractor_t *cr, rb_execution_context_t *ec, const char *file, int line)
310
316
  {
311
317
  #ifdef RB_THREAD_LOCAL_SPECIFIER
312
-
313
- # ifdef __APPLE__
314
318
  rb_current_ec_set(ec);
315
- # else
316
- ruby_current_ec = ec;
317
- # endif
318
-
319
319
  #else
320
320
  native_tls_set(ruby_current_ec_key, ec);
321
321
  #endif
@@ -1171,6 +1171,8 @@ typedef struct parser_params rb_parser_t;
1171
1171
  typedef struct rb_imemo_tmpbuf_struct rb_imemo_tmpbuf_t;
1172
1172
  #endif
1173
1173
 
1174
+ typedef NODE *(*rb_parser_assignable_func)(struct parser_params *p, ID id, NODE *val, const rb_code_location_t *loc);
1175
+
1174
1176
  #ifdef UNIVERSAL_PARSER
1175
1177
  typedef struct rb_parser_config_struct {
1176
1178
  /* Memory */
@@ -1188,13 +1190,12 @@ typedef struct rb_parser_config_struct {
1188
1190
 
1189
1191
  // VALUE rb_suppress_tracing(VALUE (*func)(VALUE), VALUE arg);
1190
1192
  VALUE (*compile_callback)(VALUE (*func)(VALUE), VALUE arg);
1191
- NODE *(*reg_named_capture_assign)(struct parser_params* p, VALUE regexp, const rb_code_location_t *loc);
1193
+ NODE *(*reg_named_capture_assign)(struct parser_params* p, VALUE regexp, const rb_code_location_t *loc, rb_parser_assignable_func assignable);
1192
1194
 
1193
1195
  /* Variable */
1194
1196
  VALUE (*attr_get)(VALUE obj, ID id);
1195
1197
 
1196
1198
  /* Array */
1197
- VALUE (*ary_new)(void);
1198
1199
  VALUE (*ary_push)(VALUE ary, VALUE elem);
1199
1200
  VALUE (*ary_new_from_args)(long n, ...);
1200
1201
  VALUE (*ary_unshift)(VALUE ary, VALUE item);
@@ -132,7 +132,6 @@ struct rb_thread_sched {
132
132
 
133
133
  #ifdef RB_THREAD_LOCAL_SPECIFIER
134
134
  NOINLINE(void rb_current_ec_set(struct rb_execution_context_struct *));
135
- NOINLINE(struct rb_execution_context_struct *rb_current_ec_noinline(void));
136
135
 
137
136
  # ifdef __APPLE__
138
137
  // on Darwin, TLS can not be accessed across .so
@@ -70,7 +70,30 @@
70
70
  #define RUBY_ASSERT_MUTEX_OWNED(mutex) VM_ASSERT(rb_mutex_owned_p(mutex))
71
71
 
72
72
  #if defined(RUBY_ASSERT_CRITICAL_SECTION)
73
- // TODO add documentation
73
+ /*
74
+ # Critical Section Assertions
75
+
76
+ These assertions are used to ensure that context switching does not occur between two points in the code. In theory,
77
+ such code should already be protected by a mutex, but these assertions are used to ensure that the mutex is held.
78
+
79
+ The specific case where it can be useful is where a mutex is held further up the call stack, and the code in question
80
+ may not directly hold the mutex. In this case, the critical section assertions can be used to ensure that the mutex is
81
+ held by someone else.
82
+
83
+ These assertions are only enabled when RUBY_ASSERT_CRITICAL_SECTION is defined, which is only defined if VM_CHECK_MODE
84
+ is set.
85
+
86
+ ## Example Usage
87
+
88
+ ```c
89
+ RUBY_ASSERT_CRITICAL_SECTION_ENTER();
90
+ // ... some code which does not invoke rb_vm_check_ints() ...
91
+ RUBY_ASSERT_CRITICAL_SECTION_LEAVE();
92
+ ```
93
+
94
+ If `rb_vm_check_ints()` is called between the `RUBY_ASSERT_CRITICAL_SECTION_ENTER()` and
95
+ `RUBY_ASSERT_CRITICAL_SECTION_LEAVE()`, a failed assertion will result.
96
+ */
74
97
  extern int ruby_assert_critical_section_entered;
75
98
  #define RUBY_ASSERT_CRITICAL_SECTION_ENTER() do{ruby_assert_critical_section_entered += 1;}while(false)
76
99
  #define RUBY_ASSERT_CRITICAL_SECTION_LEAVE() do{VM_ASSERT(ruby_assert_critical_section_entered > 0);ruby_assert_critical_section_entered -= 1;}while(false)
@@ -230,6 +253,8 @@ union ic_serial_entry {
230
253
  VALUE data[2];
231
254
  };
232
255
 
256
+ #define IMEMO_CONST_CACHE_SHAREABLE IMEMO_FL_USER0
257
+
233
258
  // imemo_constcache
234
259
  struct iseq_inline_constant_cache_entry {
235
260
  VALUE flags;
@@ -370,6 +395,8 @@ enum rb_builtin_attr {
370
395
  BUILTIN_ATTR_SINGLE_NOARG_LEAF = 0x02,
371
396
  // This attribute signals JIT to duplicate the iseq for each block iseq so that its `yield` will be monomorphic.
372
397
  BUILTIN_ATTR_INLINE_BLOCK = 0x04,
398
+ // The iseq acts like a C method in backtraces.
399
+ BUILTIN_ATTR_C_TRACE = 0x08,
373
400
  };
374
401
 
375
402
  typedef VALUE (*rb_jit_func_t)(struct rb_execution_context_struct *, struct rb_control_frame_struct *);
@@ -579,6 +606,12 @@ rb_iseq_check(const rb_iseq_t *iseq)
579
606
  return iseq;
580
607
  }
581
608
 
609
+ static inline bool
610
+ rb_iseq_attr_p(const rb_iseq_t *iseq, enum rb_builtin_attr attr)
611
+ {
612
+ return (ISEQ_BODY(iseq)->builtin_attrs & attr) == attr;
613
+ }
614
+
582
615
  static inline const rb_iseq_t *
583
616
  def_iseq_ptr(rb_method_definition_t *def)
584
617
  {
@@ -766,13 +799,13 @@ typedef struct rb_vm_struct {
766
799
  struct rb_id_table *negative_cme_table;
767
800
  st_table *overloaded_cme_table; // cme -> overloaded_cme
768
801
  st_table *unused_block_warning_table;
769
- bool unused_block_warning_strict;
770
802
 
771
803
  // This id table contains a mapping from ID to ICs. It does this with ID
772
804
  // keys and nested st_tables as values. The nested tables have ICs as keys
773
805
  // and Qtrue as values. It is used when inline constant caches need to be
774
806
  // invalidated or ISEQs are being freed.
775
807
  struct rb_id_table *constant_cache;
808
+ ID inserting_constant_cache_id;
776
809
 
777
810
  #ifndef VM_GLOBAL_CC_CACHE_TABLE_SIZE
778
811
  #define VM_GLOBAL_CC_CACHE_TABLE_SIZE 1023
@@ -1124,6 +1157,7 @@ typedef struct rb_thread_struct {
1124
1157
  struct rb_unblock_callback unblock;
1125
1158
  VALUE locking_mutex;
1126
1159
  struct rb_mutex_struct *keeping_mutexes;
1160
+ struct ccan_list_head interrupt_exec_tasks;
1127
1161
 
1128
1162
  struct rb_waiting_list *join_list;
1129
1163
 
@@ -1280,6 +1314,7 @@ enum vm_opt_newarray_send_type {
1280
1314
  VM_OPT_NEWARRAY_SEND_HASH = 3,
1281
1315
  VM_OPT_NEWARRAY_SEND_PACK = 4,
1282
1316
  VM_OPT_NEWARRAY_SEND_PACK_BUFFER = 5,
1317
+ VM_OPT_NEWARRAY_SEND_INCLUDE_P = 6,
1283
1318
  };
1284
1319
 
1285
1320
  enum vm_special_object_type {
@@ -1487,22 +1522,13 @@ VM_ENV_ESCAPED_P(const VALUE *ep)
1487
1522
  return VM_ENV_FLAGS(ep, VM_ENV_FLAG_ESCAPED) ? 1 : 0;
1488
1523
  }
1489
1524
 
1490
- #if VM_CHECK_MODE > 0
1491
- static inline int
1492
- vm_assert_env(VALUE obj)
1493
- {
1494
- VM_ASSERT(imemo_type_p(obj, imemo_env));
1495
- return 1;
1496
- }
1497
- #endif
1498
-
1499
1525
  RBIMPL_ATTR_NONNULL((1))
1500
1526
  static inline VALUE
1501
1527
  VM_ENV_ENVVAL(const VALUE *ep)
1502
1528
  {
1503
1529
  VALUE envval = ep[VM_ENV_DATA_INDEX_ENV];
1504
1530
  VM_ASSERT(VM_ENV_ESCAPED_P(ep));
1505
- VM_ASSERT(vm_assert_env(envval));
1531
+ VM_ASSERT(envval == Qundef || imemo_type_p(envval, imemo_env));
1506
1532
  return envval;
1507
1533
  }
1508
1534
 
@@ -1945,6 +1971,8 @@ rb_ec_vm_ptr(const rb_execution_context_t *ec)
1945
1971
  }
1946
1972
  }
1947
1973
 
1974
+ NOINLINE(struct rb_execution_context_struct *rb_current_ec_noinline(void));
1975
+
1948
1976
  static inline rb_execution_context_t *
1949
1977
  rb_current_execution_context(bool expect_ec)
1950
1978
  {
@@ -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,
@@ -219,6 +223,7 @@ enum ruby_method_ids {
219
223
 
220
224
  /* CONST tokens {{{ */
221
225
  tTOKEN_CONST_BEGIN = tTOKEN_GLOBAL_END-1,
226
+ tRuby,
222
227
  tTOKEN_CONST_END,
223
228
  /* CONST tokens }}} */
224
229
 
@@ -243,6 +248,7 @@ enum ruby_method_ids {
243
248
  DEFINE_LOCALID_FROM_TOKEN(Inspect),
244
249
  DEFINE_LOCALID_FROM_TOKEN(Intern),
245
250
  DEFINE_LOCALID_FROM_TOKEN(Object_id),
251
+ DEFINE_LOCALID_FROM_TOKEN(__id__),
246
252
  DEFINE_LOCALID_FROM_TOKEN(Const_added),
247
253
  DEFINE_LOCALID_FROM_TOKEN(Const_missing),
248
254
  DEFINE_LOCALID_FROM_TOKEN(MethodMissing),
@@ -294,6 +300,8 @@ enum ruby_method_ids {
294
300
  DEFINE_LOCALID_FROM_TOKEN(Name),
295
301
  DEFINE_LOCALID_FROM_TOKEN(Nil),
296
302
  DEFINE_LOCALID_FROM_TOKEN(Path),
303
+ DEFINE_LOCALID_FROM_TOKEN(Pack),
304
+ DEFINE_LOCALID_FROM_TOKEN(Buffer),
297
305
  DEFINE_LOCALID_FROM_TOKEN(UScore),
298
306
  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_1),
299
307
  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_2),
@@ -323,6 +331,7 @@ enum ruby_method_ids {
323
331
 
324
332
  /* CONST IDs {{{ */
325
333
  #define DEFINE_CONSTID_FROM_TOKEN(n) id##n = TOKEN2CONSTID(t##n)
334
+ DEFINE_CONSTID_FROM_TOKEN(Ruby),
326
335
  #undef DEFINE_CONSTID_FROM_TOKEN
327
336
  /* CONST IDs }}} */
328
337
 
@@ -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 {
@@ -1,7 +1,6 @@
1
1
  #ifndef INTERNAL_CMDLINEOPT_H /*-*-C-*-vi:se ft=c:*/
2
2
  #define INTERNAL_CMDLINEOPT_H
3
3
 
4
- #include "rjit.h"
5
4
  #include "yjit.h"
6
5
 
7
6
  typedef struct {
@@ -24,9 +23,6 @@ typedef struct ruby_cmdline_options {
24
23
  ruby_features_t warn;
25
24
  unsigned int dump;
26
25
  long backtrace_length_limit;
27
- #if USE_RJIT
28
- struct rb_rjit_options rjit;
29
- #endif
30
26
 
31
27
  const char *crash_report;
32
28
 
@@ -28,6 +28,8 @@ int rb_encdb_dummy(const char *name);
28
28
  void rb_encdb_declare(const char *name);
29
29
  void rb_enc_set_base(const char *name, const char *orig);
30
30
  int rb_enc_set_dummy(int index);
31
+ void rb_enc_raw_set(VALUE obj, rb_encoding *enc);
32
+
31
33
  PUREFUNC(int rb_data_is_encoding(VALUE obj));
32
34
 
33
35
  /* vm.c */
@@ -72,6 +72,7 @@ const char *rb_builtin_type_name(int t);
72
72
  const char *rb_builtin_class_name(VALUE x);
73
73
  PRINTF_ARGS(void rb_warn_deprecated(const char *fmt, const char *suggest, ...), 1, 3);
74
74
  PRINTF_ARGS(void rb_warn_deprecated_to_remove(const char *removal, const char *fmt, const char *suggest, ...), 2, 4);
75
+ PRINTF_ARGS(void rb_warn_reserved_name(const char *removal, const char *fmt, ...), 2, 3);
75
76
  #if RUBY_DEBUG
76
77
  # include "ruby/version.h"
77
78
  # define RUBY_VERSION_SINCE(major, minor) (RUBY_API_VERSION_CODE >= (major * 10000) + (minor) * 100)
@@ -110,6 +111,14 @@ rb_deprecated_method_to_be_removed(const char *removal)
110
111
  RBIMPL_ATTR_DIAGNOSE_IF(RUBY_VERSION_STRING_SINCE(removal), "deprecated method to be removed", "error")
111
112
  {
112
113
  }
114
+
115
+ RBIMPL_ATTR_FORCEINLINE()
116
+ static void
117
+ rb_diagnose_reserved_name_at(const char *coming)
118
+ RBIMPL_ATTR_DIAGNOSE_IF(!RUBY_VERSION_isdigit(coming[0]), "malformed version number", "error")
119
+ RBIMPL_ATTR_DIAGNOSE_IF(RUBY_VERSION_STRING_SINCE(coming), "reserved name already in use", "error")
120
+ {
121
+ }
113
122
  # else
114
123
  RBIMPL_ATTR_ERROR(("deprecated"))
115
124
  void rb_deprecated_method_to_be_removed(const char *);
@@ -117,16 +126,32 @@ void rb_deprecated_method_to_be_removed(const char *);
117
126
  (sizeof(char[1-2*(!RUBY_VERSION_isdigit(removal[0]) || RUBY_VERSION_STRING_SINCE(removal))])!=1 ? \
118
127
  rb_deprecated_method_to_be_removed(removal) : \
119
128
  RBIMPL_ASSERT_NOTHING)
129
+
130
+ RBIMPL_ATTR_ERROR(("deprecated"))
131
+ void rb_diagnose_reserved_name_at(const char *);
132
+ # define rb_diagnose_reserved_name_at(coming) \
133
+ (sizeof(char[1-2*(!RUBY_VERSION_isdigit(coming[0]) || RUBY_VERSION_STRING_SINCE(coming))])!=1 ? \
134
+ rb_diagnose_reserved_name_at(coming) : \
135
+ RBIMPL_ASSERT_NOTHING)
136
+
120
137
  # endif
121
138
  # define rb_warn_deprecated_to_remove_at(removal, ...) \
122
139
  (rb_deprecated_method_to_be_removed(#removal), \
123
140
  rb_warn_deprecated_to_remove(#removal, __VA_ARGS__))
141
+
142
+ # define rb_warn_reserved_name_at(coming, ...) \
143
+ (rb_diagnose_reserved_name_at(#coming), \
144
+ rb_warn_reserved_name(#coming, __VA_ARGS__))
124
145
  # endif
125
146
  #endif
126
147
  #ifndef rb_warn_deprecated_to_remove_at
127
148
  # define rb_warn_deprecated_to_remove_at(removal, ...) \
128
149
  rb_warn_deprecated_to_remove(#removal, __VA_ARGS__)
129
150
  #endif
151
+ #ifndef rb_warn_reserved_name_at
152
+ # define rb_warn_reserved_name_at(removal, ...) \
153
+ rb_warn_reserved_name(#removal, __VA_ARGS__)
154
+ #endif
130
155
  #ifndef RUBY_VERSION_SINCE
131
156
  # define RUBY_VERSION_SINCE(major, minor) 0
132
157
  #endif
@@ -142,6 +167,8 @@ VALUE rb_syntax_error_append(VALUE, VALUE, int, int, rb_encoding*, const char*,
142
167
  PRINTF_ARGS(void rb_enc_warn(rb_encoding *enc, const char *fmt, ...), 2, 3);
143
168
  PRINTF_ARGS(void rb_sys_enc_warning(rb_encoding *enc, const char *fmt, ...), 2, 3);
144
169
  PRINTF_ARGS(void rb_syserr_enc_warning(int err, rb_encoding *enc, const char *fmt, ...), 3, 4);
170
+ PRINTF_ARGS(void rb_enc_compile_warning(rb_encoding *enc, const char *file, int line, const char *fmt, ...), 4, 5);
171
+ PRINTF_ARGS(void rb_enc_compile_warn(rb_encoding *enc, const char *file, int line, const char *fmt, ...), 4, 5);
145
172
  rb_warning_category_t rb_warning_category_from_name(VALUE category);
146
173
  bool rb_warning_category_enabled_p(rb_warning_category_t category);
147
174
  VALUE rb_name_err_new(VALUE mesg, VALUE recv, VALUE method);
@@ -158,6 +185,7 @@ NORETURN(static inline void rb_key_err_raise(VALUE mesg, VALUE recv, VALUE name)
158
185
  static inline void Check_Type(VALUE v, enum ruby_value_type t);
159
186
  static inline bool rb_typeddata_is_instance_of_inline(VALUE obj, const rb_data_type_t *data_type);
160
187
  #define rb_typeddata_is_instance_of rb_typeddata_is_instance_of_inline
188
+ void rb_bug_without_die(const char *fmt, ...);
161
189
 
162
190
  RUBY_SYMBOL_EXPORT_BEGIN
163
191
  /* error.c (export) */
@@ -10,6 +10,7 @@
10
10
  */
11
11
  #include "ruby/internal/config.h" /* for HAVE_LONG_LONG */
12
12
  #include <limits.h> /* for CHAR_BIT */
13
+ #include "internal/bits.h" /* for MUL_OVERFLOW_FIXNUM_P */
13
14
  #include "internal/compilers.h" /* for __has_builtin */
14
15
  #include "ruby/internal/stdbool.h" /* for bool */
15
16
  #include "ruby/intern.h" /* for rb_big_mul */