datadog-ruby_core_source 3.3.7 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
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 */