datadog-ruby_core_source 3.3.7 → 3.4.0

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 (211) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +5 -0
  3. data/datadog-ruby_core_source.gemspec +1 -1
  4. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/id.h +2 -0
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/error.h +26 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/gc.h +1 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/parse.h +2 -1
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/proc.h +1 -0
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/sanitizers.h +24 -36
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/ast.h +10 -0
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/extension.h +1 -1
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/version.h +2 -2
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/ractor_core.h +1 -0
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/rubyparser.h +3 -1
  15. data/lib/datadog/ruby_core_source/version.rb +1 -1
  16. metadata +106 -209
  17. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/id.h +0 -347
  18. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/basic_operators.h +0 -64
  19. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/bits.h +0 -568
  20. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +0 -36
  21. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/fixnum.h +0 -184
  22. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/gc.h +0 -322
  23. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/imemo.h +0 -261
  24. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/io.h +0 -143
  25. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/ractor.h +0 -6
  26. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/sanitizers.h +0 -326
  27. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/string.h +0 -186
  28. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/thread.h +0 -85
  29. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/vm.h +0 -137
  30. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/method.h +0 -255
  31. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/ast.h +0 -7524
  32. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/defines.h +0 -242
  33. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/diagnostic.h +0 -450
  34. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +0 -336
  35. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/version.h +0 -29
  36. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism_compile.h +0 -99
  37. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ractor_core.h +0 -382
  38. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rubyparser.h +0 -1350
  39. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_pthread.h +0 -168
  40. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_core.h +0 -2222
  41. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/build_assert/build_assert.h +0 -40
  42. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/check_type/check_type.h +0 -63
  43. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/container_of/container_of.h +0 -142
  44. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/list/list.h +0 -791
  45. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/str/str.h +0 -17
  46. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/id_table.h +0 -39
  47. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/array.h +0 -152
  48. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/bignum.h +0 -244
  49. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/class.h +0 -283
  50. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/cmdlineopt.h +0 -65
  51. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/compar.h +0 -29
  52. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/compile.h +0 -34
  53. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/compilers.h +0 -107
  54. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/complex.h +0 -29
  55. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/cont.h +0 -35
  56. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/dir.h +0 -16
  57. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/enc.h +0 -19
  58. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/enum.h +0 -18
  59. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/enumerator.h +0 -21
  60. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/error.h +0 -218
  61. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/eval.h +0 -33
  62. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/file.h +0 -38
  63. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/hash.h +0 -192
  64. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/inits.h +0 -47
  65. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/load.h +0 -18
  66. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/loadpath.h +0 -16
  67. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/math.h +0 -23
  68. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/missing.h +0 -19
  69. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/numeric.h +0 -274
  70. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/object.h +0 -63
  71. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/parse.h +0 -129
  72. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/proc.h +0 -30
  73. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/process.h +0 -124
  74. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/random.h +0 -17
  75. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/range.h +0 -40
  76. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/rational.h +0 -71
  77. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/re.h +0 -28
  78. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/ruby_parser.h +0 -102
  79. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/serial.h +0 -23
  80. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/signal.h +0 -24
  81. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/st.h +0 -11
  82. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/static_assert.h +0 -16
  83. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/struct.h +0 -127
  84. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/symbol.h +0 -45
  85. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/time.h +0 -34
  86. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/transcode.h +0 -23
  87. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/util.h +0 -27
  88. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/variable.h +0 -72
  89. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/warnings.h +0 -16
  90. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal.h +0 -108
  91. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/iseq.h +0 -340
  92. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/node.h +0 -111
  93. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/parser_st.h +0 -162
  94. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/parser_value.h +0 -106
  95. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/encoding.h +0 -283
  96. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/extension.h +0 -19
  97. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/node.h +0 -129
  98. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/options.h +0 -396
  99. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/pack.h +0 -163
  100. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/parser.h +0 -933
  101. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/prettyprint.h +0 -34
  102. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/regexp.h +0 -43
  103. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/static_literals.h +0 -121
  104. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_buffer.h +0 -218
  105. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_char.h +0 -204
  106. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_constant_pool.h +0 -218
  107. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_integer.h +0 -126
  108. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_list.h +0 -97
  109. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_memchr.h +0 -29
  110. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_newline_list.h +0 -113
  111. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_string.h +0 -190
  112. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_strncasecmp.h +0 -32
  113. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_strpbrk.h +0 -46
  114. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ruby_assert.h +0 -14
  115. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ruby_atomic.h +0 -23
  116. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/shape.h +0 -234
  117. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/thread_none.h +0 -21
  118. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/vm_debug.h +0 -124
  119. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/vm_opts.h +0 -67
  120. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/build_assert/build_assert.h +0 -0
  121. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/check_type/check_type.h +0 -0
  122. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/container_of/container_of.h +0 -0
  123. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/list/list.h +0 -0
  124. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/str/str.h +0 -0
  125. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/id_table.h +0 -0
  126. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/array.h +0 -0
  127. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/basic_operators.h +0 -0
  128. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/bignum.h +0 -0
  129. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/bits.h +0 -0
  130. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/class.h +0 -0
  131. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/cmdlineopt.h +0 -0
  132. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compar.h +0 -0
  133. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compile.h +0 -0
  134. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compilers.h +0 -0
  135. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/complex.h +0 -0
  136. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/cont.h +0 -0
  137. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/dir.h +0 -0
  138. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enc.h +0 -0
  139. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/encoding.h +0 -0
  140. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enum.h +0 -0
  141. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enumerator.h +0 -0
  142. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/eval.h +0 -0
  143. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/file.h +0 -0
  144. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/fixnum.h +0 -0
  145. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/hash.h +0 -0
  146. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/imemo.h +0 -0
  147. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/inits.h +0 -0
  148. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/io.h +0 -0
  149. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/load.h +0 -0
  150. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/loadpath.h +0 -0
  151. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/math.h +0 -0
  152. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/missing.h +0 -0
  153. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/numeric.h +0 -0
  154. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/object.h +0 -0
  155. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/process.h +0 -0
  156. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/ractor.h +0 -0
  157. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/random.h +0 -0
  158. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/range.h +0 -0
  159. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/rational.h +0 -0
  160. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/re.h +0 -0
  161. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/ruby_parser.h +0 -0
  162. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/serial.h +0 -0
  163. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/signal.h +0 -0
  164. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/st.h +0 -0
  165. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/static_assert.h +0 -0
  166. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/string.h +0 -0
  167. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/struct.h +0 -0
  168. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/symbol.h +0 -0
  169. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/thread.h +0 -0
  170. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/time.h +0 -0
  171. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/transcode.h +0 -0
  172. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/util.h +0 -0
  173. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/variable.h +0 -0
  174. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/vm.h +0 -0
  175. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/warnings.h +0 -0
  176. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal.h +0 -0
  177. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/iseq.h +0 -0
  178. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/method.h +0 -0
  179. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/node.h +0 -0
  180. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/parser_st.h +0 -0
  181. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/parser_value.h +0 -0
  182. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/defines.h +0 -0
  183. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/diagnostic.h +0 -0
  184. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/encoding.h +0 -0
  185. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/node.h +0 -0
  186. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/options.h +0 -0
  187. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/pack.h +0 -0
  188. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/parser.h +0 -0
  189. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/prettyprint.h +0 -0
  190. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/prism.h +0 -0
  191. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/regexp.h +0 -0
  192. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/static_literals.h +0 -0
  193. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_buffer.h +0 -0
  194. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_char.h +0 -0
  195. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_constant_pool.h +0 -0
  196. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_integer.h +0 -0
  197. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_list.h +0 -0
  198. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_memchr.h +0 -0
  199. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_newline_list.h +0 -0
  200. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_string.h +0 -0
  201. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_strncasecmp.h +0 -0
  202. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_strpbrk.h +0 -0
  203. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism_compile.h +0 -0
  204. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ruby_assert.h +0 -0
  205. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ruby_atomic.h +0 -0
  206. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/shape.h +0 -0
  207. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/thread_none.h +0 -0
  208. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/thread_pthread.h +0 -0
  209. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/vm_core.h +0 -0
  210. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_debug.h +0 -0
  211. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_opts.h +0 -0
@@ -1,326 +0,0 @@
1
- #ifndef INTERNAL_SANITIZERS_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_SANITIZERS_H
3
- /**
4
- * @author Ruby developers <ruby-core@ruby-lang.org>
5
- * @copyright This file is a part of the programming language Ruby.
6
- * Permission is hereby granted, to either redistribute and/or
7
- * modify this file, provided that the conditions mentioned in the
8
- * file COPYING are met. Consult the file for details.
9
- * @brief Internal header for ASAN / MSAN / etc.
10
- */
11
- #include "ruby/internal/config.h"
12
- #include "internal/compilers.h" /* for __has_feature */
13
-
14
- #ifdef HAVE_VALGRIND_MEMCHECK_H
15
- # include <valgrind/memcheck.h>
16
- #endif
17
-
18
- #ifdef HAVE_SANITIZER_ASAN_INTERFACE_H
19
- # if __has_feature(address_sanitizer)
20
- # define RUBY_ASAN_ENABLED
21
- # include <sanitizer/asan_interface.h>
22
- # endif
23
- #endif
24
-
25
- #ifdef HAVE_SANITIZER_MSAN_INTERFACE_H
26
- # if __has_feature(memory_sanitizer)
27
- # define RUBY_MSAN_ENABLED
28
- # include <sanitizer/msan_interface.h>
29
- # endif
30
- #endif
31
-
32
- #include "ruby/internal/stdbool.h" /* for bool */
33
- #include "ruby/ruby.h" /* for VALUE */
34
-
35
- #if 0
36
- #elif defined(RUBY_ASAN_ENABLED) && defined(RUBY_MSAN_ENABLED)
37
- # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
38
- __attribute__((__no_sanitize__("memory, address"), __noinline__)) x
39
- #elif defined(RUBY_ASAN_ENABLED)
40
- # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
41
- __attribute__((__no_sanitize__("address"), __noinline__)) x
42
- #elif defined(NO_SANITIZE_ADDRESS)
43
- # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
44
- NO_SANITIZE_ADDRESS(NOINLINE(x))
45
- #elif defined(NO_ADDRESS_SAFETY_ANALYSIS)
46
- # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
47
- NO_ADDRESS_SAFETY_ANALYSIS(NOINLINE(x))
48
- #else
49
- # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) x
50
- #endif
51
-
52
- #if defined(NO_SANITIZE) && RBIMPL_COMPILER_IS(GCC)
53
- /* GCC warns about unknown sanitizer, which is annoying. */
54
- # include "internal/warnings.h"
55
- # undef NO_SANITIZE
56
- # define NO_SANITIZE(x, y) \
57
- COMPILER_WARNING_PUSH; \
58
- COMPILER_WARNING_IGNORED(-Wattributes); \
59
- __attribute__((__no_sanitize__(x))) y; \
60
- COMPILER_WARNING_POP
61
- #endif
62
-
63
- #ifndef NO_SANITIZE
64
- # define NO_SANITIZE(x, y) y
65
- #endif
66
-
67
- #ifndef RUBY_ASAN_ENABLED
68
- # define __asan_poison_memory_region(x, y)
69
- # define __asan_unpoison_memory_region(x, y)
70
- # define __asan_region_is_poisoned(x, y) 0
71
- # define __asan_get_current_fake_stack() NULL
72
- # define __asan_addr_is_in_fake_stack(fake_stack, slot, start, end) NULL
73
- #endif
74
-
75
- #ifndef RUBY_MSAN_ENABLED
76
- # define __msan_allocated_memory(x, y) ((void)(x), (void)(y))
77
- # define __msan_poison(x, y) ((void)(x), (void)(y))
78
- # define __msan_unpoison(x, y) ((void)(x), (void)(y))
79
- # define __msan_unpoison_string(x) ((void)(x))
80
- #endif
81
-
82
- #ifdef VALGRIND_MAKE_READABLE
83
- # define VALGRIND_MAKE_MEM_DEFINED(p, n) VALGRIND_MAKE_READABLE((p), (n))
84
- #endif
85
-
86
- #ifdef VALGRIND_MAKE_WRITABLE
87
- # define VALGRIND_MAKE_MEM_UNDEFINED(p, n) VALGRIND_MAKE_WRITABLE((p), (n))
88
- #endif
89
-
90
- #ifndef VALGRIND_MAKE_MEM_DEFINED
91
- # define VALGRIND_MAKE_MEM_DEFINED(p, n) 0
92
- #endif
93
-
94
- #ifndef VALGRIND_MAKE_MEM_UNDEFINED
95
- # define VALGRIND_MAKE_MEM_UNDEFINED(p, n) 0
96
- #endif
97
-
98
- /**
99
- * This function asserts that a (continuous) memory region from ptr to size
100
- * being "poisoned". Both read / write access to such memory region are
101
- * prohibited until properly unpoisoned. The region must be previously
102
- * allocated (do not pass a freed pointer here), but not necessarily be an
103
- * entire object that the malloc returns. You can punch hole a part of a
104
- * gigantic heap arena. This is handy when you do not free an allocated memory
105
- * region to reuse later: poison when you keep it unused, and unpoison when you
106
- * reuse.
107
- *
108
- * @param[in] ptr pointer to the beginning of the memory region to poison.
109
- * @param[in] size the length of the memory region to poison.
110
- */
111
- static inline void
112
- asan_poison_memory_region(const volatile void *ptr, size_t size)
113
- {
114
- __msan_poison(ptr, size);
115
- __asan_poison_memory_region(ptr, size);
116
- }
117
-
118
- /**
119
- * This is a variant of asan_poison_memory_region that takes a VALUE.
120
- *
121
- * @param[in] obj target object.
122
- */
123
- static inline void
124
- asan_poison_object(VALUE obj)
125
- {
126
- MAYBE_UNUSED(struct RVALUE *) ptr = (void *)obj;
127
- asan_poison_memory_region(ptr, SIZEOF_VALUE);
128
- }
129
-
130
- #ifdef RUBY_ASAN_ENABLED
131
- #define asan_poison_object_if(ptr, obj) do { \
132
- if (ptr) asan_poison_object(obj); \
133
- } while (0)
134
- #else
135
- #define asan_poison_object_if(ptr, obj) ((void)(ptr), (void)(obj))
136
- #endif
137
-
138
- /**
139
- * This function predicates if the given object is fully addressable or not.
140
- *
141
- * @param[in] obj target object.
142
- * @retval 0 the given object is fully addressable.
143
- * @retval otherwise pointer to first such byte who is poisoned.
144
- */
145
- static inline void *
146
- asan_poisoned_object_p(VALUE obj)
147
- {
148
- MAYBE_UNUSED(struct RVALUE *) ptr = (void *)obj;
149
- return __asan_region_is_poisoned(ptr, SIZEOF_VALUE);
150
- }
151
-
152
- /**
153
- * This function asserts that a (formally poisoned) memory region from ptr to
154
- * size is now addressable. Write access to such memory region gets allowed.
155
- * However read access might or might not be possible depending on situations,
156
- * because the region can have contents of previous usages. That information
157
- * should be passed by the malloc_p flag. If that is true, the contents of the
158
- * region is _not_ fully defined (like the return value of malloc behaves).
159
- * Reading from there is NG; write something first. If malloc_p is false on
160
- * the other hand, that memory region is fully defined and can be read
161
- * immediately.
162
- *
163
- * @param[in] ptr pointer to the beginning of the memory region to unpoison.
164
- * @param[in] size the length of the memory region.
165
- * @param[in] malloc_p if the memory region is like a malloc's return value or not.
166
- */
167
- static inline void
168
- asan_unpoison_memory_region(const volatile void *ptr, size_t size, bool malloc_p)
169
- {
170
- __asan_unpoison_memory_region(ptr, size);
171
- if (malloc_p) {
172
- __msan_allocated_memory(ptr, size);
173
- }
174
- else {
175
- __msan_unpoison(ptr, size);
176
- }
177
- }
178
-
179
- /**
180
- * This is a variant of asan_unpoison_memory_region that takes a VALUE.
181
- *
182
- * @param[in] obj target object.
183
- * @param[in] malloc_p if the memory region is like a malloc's return value or not.
184
- */
185
- static inline void
186
- asan_unpoison_object(VALUE obj, bool newobj_p)
187
- {
188
- MAYBE_UNUSED(struct RVALUE *) ptr = (void *)obj;
189
- asan_unpoison_memory_region(ptr, SIZEOF_VALUE, newobj_p);
190
- }
191
-
192
- static inline void *
193
- asan_unpoison_object_temporary(VALUE obj)
194
- {
195
- void *ptr = asan_poisoned_object_p(obj);
196
- asan_unpoison_object(obj, false);
197
- return ptr;
198
- }
199
-
200
- static inline void *
201
- asan_poison_object_restore(VALUE obj, void *ptr)
202
- {
203
- if (ptr) {
204
- asan_poison_object(obj);
205
- }
206
- return NULL;
207
- }
208
-
209
- #define asan_unpoisoning_object(obj) \
210
- for (void *poisoned = asan_unpoison_object_temporary(obj), \
211
- *unpoisoning = &poisoned; /* flag to loop just once */ \
212
- unpoisoning; \
213
- unpoisoning = asan_poison_object_restore(obj, poisoned))
214
-
215
-
216
- static inline void *
217
- asan_unpoison_memory_region_temporary(void *ptr, size_t len)
218
- {
219
- void *poisoned_ptr = __asan_region_is_poisoned(ptr, len);
220
- asan_unpoison_memory_region(ptr, len, false);
221
- return poisoned_ptr;
222
- }
223
-
224
- static inline void *
225
- asan_poison_memory_region_restore(void *ptr, size_t len, void *poisoned_ptr)
226
- {
227
- if (poisoned_ptr) {
228
- asan_poison_memory_region(ptr, len);
229
- }
230
- return NULL;
231
- }
232
-
233
- #define asan_unpoisoning_memory_region(ptr, len) \
234
- for (void *poisoned = asan_unpoison_memory_region_temporary(ptr, len), \
235
- *unpoisoning = &poisoned; /* flag to loop just once */ \
236
- unpoisoning; \
237
- unpoisoning = asan_poison_memory_region_restore(ptr, len, poisoned))
238
-
239
- /**
240
- * Checks if the given pointer is on an ASAN fake stack. If so, it returns the
241
- * address this variable has on the real frame; if not, it returns the origin
242
- * address unmodified.
243
- *
244
- * n.b. - _dereferencing_ the returned address is meaningless and should not
245
- * be done; even though ASAN reserves space for the variable in both the real and
246
- * fake stacks, the _value_ of that variable is only in the fake stack.
247
- *
248
- * n.b. - this only works for addresses passed in from local variables on the same
249
- * thread, because the ASAN fake stacks are threadlocal.
250
- *
251
- * @param[in] slot the address of some local variable
252
- * @retval a pointer to something from that frame on the _real_ machine stack
253
- */
254
- static inline void *
255
- asan_get_real_stack_addr(void* slot)
256
- {
257
- VALUE *addr;
258
- addr = __asan_addr_is_in_fake_stack(__asan_get_current_fake_stack(), slot, NULL, NULL);
259
- return addr ? addr : slot;
260
- }
261
-
262
- /**
263
- * Gets the current thread's fake stack handle, which can be passed into get_fake_stack_extents
264
- *
265
- * @retval An opaque value which can be passed to asan_get_fake_stack_extents
266
- */
267
- static inline void *
268
- asan_get_thread_fake_stack_handle(void)
269
- {
270
- return __asan_get_current_fake_stack();
271
- }
272
-
273
- /**
274
- * Checks if the given VALUE _actually_ represents a pointer to an ASAN fake stack.
275
- *
276
- * If the given slot _is_ actually a reference to an ASAN fake stack, and that fake stack
277
- * contains the real values for the passed-in range of machine stack addresses, returns true
278
- * and the range of the fake stack through the outparams.
279
- *
280
- * Otherwise, returns false, and sets the outparams to NULL.
281
- *
282
- * Note that this function expects "start" to be > "end" on downward-growing stack architectures;
283
- *
284
- * @param[in] thread_fake_stack_handle The asan fake stack reference for the thread we're scanning
285
- * @param[in] slot The value on the machine stack we want to inspect
286
- * @param[in] machine_stack_start The extents of the real machine stack on which slot lives
287
- * @param[in] machine_stack_end The extents of the real machine stack on which slot lives
288
- * @param[out] fake_stack_start_out The extents of the fake stack which contains real VALUEs
289
- * @param[out] fake_stack_end_out The extents of the fake stack which contains real VALUEs
290
- * @return Whether slot is a pointer to a fake stack for the given machine stack range
291
- */
292
-
293
- static inline bool
294
- asan_get_fake_stack_extents(void *thread_fake_stack_handle, VALUE slot,
295
- void *machine_stack_start, void *machine_stack_end,
296
- void **fake_stack_start_out, void **fake_stack_end_out)
297
- {
298
- /* the ifdef is needed here to suppress a warning about fake_frame_{start/end} being
299
- uninitialized if __asan_addr_is_in_fake_stack is an empty macro */
300
- #ifdef RUBY_ASAN_ENABLED
301
- void *fake_frame_start;
302
- void *fake_frame_end;
303
- void *real_stack_frame = __asan_addr_is_in_fake_stack(
304
- thread_fake_stack_handle, (void *)slot, &fake_frame_start, &fake_frame_end
305
- );
306
- if (real_stack_frame) {
307
- bool in_range;
308
- #if STACK_GROW_DIRECTION < 0
309
- in_range = machine_stack_start >= real_stack_frame && real_stack_frame >= machine_stack_end;
310
- #else
311
- in_range = machine_stack_start <= real_stack_frame && real_stack_frame <= machine_stack_end;
312
- #endif
313
- if (in_range) {
314
- *fake_stack_start_out = fake_frame_start;
315
- *fake_stack_end_out = fake_frame_end;
316
- return true;
317
- }
318
- }
319
- #endif
320
- *fake_stack_start_out = 0;
321
- *fake_stack_end_out = 0;
322
- return false;
323
- }
324
-
325
-
326
- #endif /* INTERNAL_SANITIZERS_H */
@@ -1,186 +0,0 @@
1
- #ifndef INTERNAL_STRING_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_STRING_H
3
- /**
4
- * @author Ruby developers <ruby-core@ruby-lang.org>
5
- * @copyright This file is a part of the programming language Ruby.
6
- * Permission is hereby granted, to either redistribute and/or
7
- * modify this file, provided that the conditions mentioned in the
8
- * file COPYING are met. Consult the file for details.
9
- * @brief Internal header for String.
10
- */
11
- #include "ruby/internal/config.h"
12
- #include <stddef.h> /* for size_t */
13
- #include "internal/compilers.h" /* for __has_builtin */
14
- #include "ruby/internal/stdbool.h" /* for bool */
15
- #include "ruby/encoding.h" /* for rb_encoding */
16
- #include "ruby/ruby.h" /* for VALUE */
17
-
18
- #define STR_NOEMBED FL_USER1
19
- #define STR_SHARED FL_USER2 /* = ELTS_SHARED */
20
- #define STR_CHILLED FL_USER3
21
-
22
- enum ruby_rstring_private_flags {
23
- RSTRING_CHILLED = STR_CHILLED,
24
- };
25
-
26
- #ifdef rb_fstring_cstr
27
- # undef rb_fstring_cstr
28
- #endif
29
-
30
- /* string.c */
31
- VALUE rb_fstring(VALUE);
32
- VALUE rb_fstring_cstr(const char *str);
33
- VALUE rb_fstring_enc_new(const char *ptr, long len, rb_encoding *enc);
34
- int rb_str_buf_cat_escaped_char(VALUE result, unsigned int c, int unicode_p);
35
- int rb_str_symname_p(VALUE);
36
- VALUE rb_str_quote_unprintable(VALUE);
37
- char *rb_str_fill_terminator(VALUE str, const int termlen);
38
- void rb_str_change_terminator_length(VALUE str, const int oldtermlen, const int termlen);
39
- VALUE rb_str_locktmp_ensure(VALUE str, VALUE (*func)(VALUE), VALUE arg);
40
- VALUE rb_str_chomp_string(VALUE str, VALUE chomp);
41
- VALUE rb_external_str_with_enc(VALUE str, rb_encoding *eenc);
42
- VALUE rb_str_cat_conv_enc_opts(VALUE newstr, long ofs, const char *ptr, long len,
43
- rb_encoding *from, int ecflags, VALUE ecopts);
44
- VALUE rb_enc_str_scrub(rb_encoding *enc, VALUE str, VALUE repl);
45
- VALUE rb_str_escape(VALUE str);
46
- size_t rb_str_memsize(VALUE);
47
- char *rb_str_to_cstr(VALUE str);
48
- const char *ruby_escaped_char(int c);
49
- void rb_str_make_independent(VALUE str);
50
- int rb_enc_str_coderange_scan(VALUE str, rb_encoding *enc);
51
- int rb_ascii8bit_appendable_encoding_index(rb_encoding *enc, unsigned int code);
52
- VALUE rb_str_include(VALUE str, VALUE arg);
53
- VALUE rb_str_byte_substr(VALUE str, VALUE beg, VALUE len);
54
- VALUE rb_str_tmp_frozen_no_embed_acquire(VALUE str);
55
- void rb_str_make_embedded(VALUE);
56
- VALUE rb_str_upto_each(VALUE, VALUE, int, int (*each)(VALUE, VALUE), VALUE);
57
- size_t rb_str_size_as_embedded(VALUE);
58
- bool rb_str_reembeddable_p(VALUE);
59
- VALUE rb_str_upto_endless_each(VALUE, int (*each)(VALUE, VALUE), VALUE);
60
-
61
- static inline bool STR_EMBED_P(VALUE str);
62
- static inline bool STR_SHARED_P(VALUE str);
63
- static inline VALUE QUOTE(VALUE v);
64
- static inline VALUE QUOTE_ID(ID v);
65
- static inline bool is_ascii_string(VALUE str);
66
- static inline bool is_broken_string(VALUE str);
67
- static inline VALUE rb_str_eql_internal(const VALUE str1, const VALUE str2);
68
-
69
- RUBY_SYMBOL_EXPORT_BEGIN
70
- /* string.c (export) */
71
- VALUE rb_str_tmp_frozen_acquire(VALUE str);
72
- void rb_str_tmp_frozen_release(VALUE str, VALUE tmp);
73
- VALUE rb_setup_fake_str(struct RString *fake_str, const char *name, long len, rb_encoding *enc);
74
- RUBY_SYMBOL_EXPORT_END
75
-
76
- VALUE rb_fstring_new(const char *ptr, long len);
77
- VALUE rb_obj_as_string_result(VALUE str, VALUE obj);
78
- VALUE rb_str_opt_plus(VALUE x, VALUE y);
79
- VALUE rb_str_concat_literals(size_t num, const VALUE *strary);
80
- VALUE rb_str_eql(VALUE str1, VALUE str2);
81
- VALUE rb_id_quote_unprintable(ID);
82
- VALUE rb_sym_proc_call(ID mid, int argc, const VALUE *argv, int kw_splat, VALUE passed_proc);
83
- VALUE rb_enc_literal_str(const char *ptr, long len, rb_encoding *enc);
84
-
85
- struct rb_execution_context_struct;
86
- VALUE rb_ec_str_resurrect(struct rb_execution_context_struct *ec, VALUE str, bool chilled);
87
-
88
- #define rb_fstring_lit(str) rb_fstring_new((str), rb_strlen_lit(str))
89
- #define rb_fstring_literal(str) rb_fstring_lit(str)
90
- #define rb_fstring_enc_lit(str, enc) rb_fstring_enc_new((str), rb_strlen_lit(str), (enc))
91
- #define rb_fstring_enc_literal(str, enc) rb_fstring_enc_lit(str, enc)
92
-
93
- static inline VALUE
94
- QUOTE(VALUE v)
95
- {
96
- return rb_str_quote_unprintable(v);
97
- }
98
-
99
- static inline VALUE
100
- QUOTE_ID(ID i)
101
- {
102
- return rb_id_quote_unprintable(i);
103
- }
104
-
105
- static inline bool
106
- STR_EMBED_P(VALUE str)
107
- {
108
- return ! FL_TEST_RAW(str, STR_NOEMBED);
109
- }
110
-
111
- static inline bool
112
- STR_SHARED_P(VALUE str)
113
- {
114
- return FL_ALL_RAW(str, STR_NOEMBED | STR_SHARED);
115
- }
116
-
117
- static inline bool
118
- CHILLED_STRING_P(VALUE obj)
119
- {
120
- return RB_TYPE_P(obj, T_STRING) && FL_TEST_RAW(obj, STR_CHILLED);
121
- }
122
-
123
- static inline void
124
- CHILLED_STRING_MUTATED(VALUE str)
125
- {
126
- FL_UNSET_RAW(str, STR_CHILLED);
127
- rb_category_warn(RB_WARN_CATEGORY_DEPRECATED, "literal string will be frozen in the future");
128
- }
129
-
130
- static inline void
131
- STR_CHILL_RAW(VALUE str)
132
- {
133
- FL_SET_RAW(str, STR_CHILLED);
134
- }
135
-
136
- static inline bool
137
- is_ascii_string(VALUE str)
138
- {
139
- return rb_enc_str_coderange(str) == ENC_CODERANGE_7BIT;
140
- }
141
-
142
- static inline bool
143
- is_broken_string(VALUE str)
144
- {
145
- return rb_enc_str_coderange(str) == ENC_CODERANGE_BROKEN;
146
- }
147
-
148
- static inline bool
149
- at_char_boundary(const char *s, const char *p, const char *e, rb_encoding *enc)
150
- {
151
- return rb_enc_left_char_head(s, p, e, enc) == p;
152
- }
153
-
154
- static inline bool
155
- at_char_right_boundary(const char *s, const char *p, const char *e, rb_encoding *enc)
156
- {
157
- RUBY_ASSERT(s <= p);
158
- RUBY_ASSERT(p <= e);
159
-
160
- return rb_enc_right_char_head(s, p, e, enc) == p;
161
- }
162
-
163
- /* expect tail call optimization */
164
- // YJIT needs this function to never allocate and never raise
165
- static inline VALUE
166
- rb_str_eql_internal(const VALUE str1, const VALUE str2)
167
- {
168
- const long len = RSTRING_LEN(str1);
169
- const char *ptr1, *ptr2;
170
-
171
- if (len != RSTRING_LEN(str2)) return Qfalse;
172
- if (!rb_str_comparable(str1, str2)) return Qfalse;
173
- if ((ptr1 = RSTRING_PTR(str1)) == (ptr2 = RSTRING_PTR(str2)))
174
- return Qtrue;
175
- if (memcmp(ptr1, ptr2, len) == 0)
176
- return Qtrue;
177
- return Qfalse;
178
- }
179
-
180
- #if __has_builtin(__builtin_constant_p)
181
- # define rb_fstring_cstr(str) \
182
- (__builtin_constant_p(str) ? \
183
- rb_fstring_new((str), (long)strlen(str)) : \
184
- (rb_fstring_cstr)(str))
185
- #endif
186
- #endif /* INTERNAL_STRING_H */
@@ -1,85 +0,0 @@
1
- #ifndef INTERNAL_THREAD_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_THREAD_H
3
- /**
4
- * @author Ruby developers <ruby-core@ruby-lang.org>
5
- * @copyright This file is a part of the programming language Ruby.
6
- * Permission is hereby granted, to either redistribute and/or
7
- * modify this file, provided that the conditions mentioned in the
8
- * file COPYING are met. Consult the file for details.
9
- * @brief Internal header for Thread.
10
- */
11
- #include "ruby/ruby.h" /* for VALUE */
12
- #include "ruby/intern.h" /* for rb_blocking_function_t */
13
- #include "ccan/list/list.h" /* for list in rb_io_close_wait_list */
14
-
15
- struct rb_thread_struct; /* in vm_core.h */
16
-
17
- #define RB_VM_SAVE_MACHINE_CONTEXT(th) \
18
- do { \
19
- FLUSH_REGISTER_WINDOWS; \
20
- setjmp((th)->ec->machine.regs); \
21
- SET_MACHINE_STACK_END(&(th)->ec->machine.stack_end); \
22
- } while (0)
23
-
24
- /* thread.c */
25
- #define COVERAGE_INDEX_LINES 0
26
- #define COVERAGE_INDEX_BRANCHES 1
27
- #define COVERAGE_TARGET_LINES 1
28
- #define COVERAGE_TARGET_BRANCHES 2
29
- #define COVERAGE_TARGET_METHODS 4
30
- #define COVERAGE_TARGET_ONESHOT_LINES 8
31
- #define COVERAGE_TARGET_EVAL 16
32
-
33
- #define RUBY_FATAL_THREAD_KILLED INT2FIX(0)
34
- #define RUBY_FATAL_THREAD_TERMINATED INT2FIX(1)
35
- #define RUBY_FATAL_FIBER_KILLED RB_INT2FIX(2)
36
-
37
- VALUE rb_obj_is_mutex(VALUE obj);
38
- VALUE rb_suppress_tracing(VALUE (*func)(VALUE), VALUE arg);
39
- void rb_thread_execute_interrupts(VALUE th);
40
- VALUE rb_get_coverages(void);
41
- int rb_get_coverage_mode(void);
42
- VALUE rb_default_coverage(int);
43
- VALUE rb_thread_shield_new(void);
44
- bool rb_thread_shield_owned(VALUE self);
45
- VALUE rb_thread_shield_wait(VALUE self);
46
- VALUE rb_thread_shield_release(VALUE self);
47
- VALUE rb_thread_shield_destroy(VALUE self);
48
- int rb_thread_to_be_killed(VALUE thread);
49
- void rb_thread_acquire_fork_lock(void);
50
- void rb_thread_release_fork_lock(void);
51
- void rb_thread_reset_fork_lock(void);
52
- void rb_mutex_allow_trap(VALUE self, int val);
53
- VALUE rb_uninterruptible(VALUE (*b_proc)(VALUE), VALUE data);
54
- VALUE rb_mutex_owned_p(VALUE self);
55
- VALUE rb_exec_recursive_outer_mid(VALUE (*f)(VALUE g, VALUE h, int r), VALUE g, VALUE h, ID mid);
56
- void ruby_mn_threads_params(void);
57
-
58
- int rb_thread_wait_for_single_fd(int fd, int events, struct timeval * timeout);
59
-
60
- struct rb_io_close_wait_list {
61
- struct ccan_list_head pending_fd_users;
62
- VALUE closing_thread;
63
- VALUE closing_fiber;
64
- VALUE wakeup_mutex;
65
- };
66
- int rb_notify_fd_close(int fd, struct rb_io_close_wait_list *busy);
67
- void rb_notify_fd_close_wait(struct rb_io_close_wait_list *busy);
68
-
69
- RUBY_SYMBOL_EXPORT_BEGIN
70
-
71
- void *rb_thread_prevent_fork(void *(*func)(void *), void *data); /* for ext/socket/raddrinfo.c */
72
-
73
- /* Temporary. This API will be removed (renamed). */
74
- VALUE rb_thread_io_blocking_region(rb_blocking_function_t *func, void *data1, int fd);
75
- VALUE rb_thread_io_blocking_call(rb_blocking_function_t *func, void *data1, int fd, int events);
76
-
77
- /* thread.c (export) */
78
- int ruby_thread_has_gvl_p(void); /* for ext/fiddle/closure.c */
79
-
80
- RUBY_SYMBOL_EXPORT_END
81
-
82
- int rb_threadptr_execute_interrupts(struct rb_thread_struct *th, int blocking_timing);
83
- bool rb_thread_mn_schedulable(VALUE thread);
84
-
85
- #endif /* INTERNAL_THREAD_H */