datadog-ruby_core_source 3.5.3 → 3.5.4

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 (243) hide show
  1. checksums.yaml +4 -4
  2. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +36 -0
  3. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +36 -0
  4. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +36 -0
  5. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +53 -0
  6. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +423 -0
  7. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +137 -0
  8. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +53 -0
  9. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +423 -0
  10. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +137 -0
  11. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/constant.h +53 -0
  12. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/debug_counter.h +423 -0
  13. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/vm_sync.h +137 -0
  14. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/constant.h +53 -0
  15. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/debug_counter.h +425 -0
  16. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/vm_sync.h +160 -0
  17. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/constant.h +53 -0
  18. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/debug_counter.h +426 -0
  19. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/vm_sync.h +160 -0
  20. data/lib/datadog/ruby_core_source/version.rb +1 -1
  21. metadata +20 -224
  22. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/bignum.h +0 -244
  23. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/bits.h +0 -568
  24. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/cmdlineopt.h +0 -65
  25. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/compar.h +0 -29
  26. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/compile.h +0 -34
  27. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/complex.h +0 -29
  28. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/cont.h +0 -35
  29. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/dir.h +0 -16
  30. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enc.h +0 -19
  31. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/encoding.h +0 -35
  32. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enum.h +0 -18
  33. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enumerator.h +0 -21
  34. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/error.h +0 -216
  35. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/eval.h +0 -32
  36. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/file.h +0 -38
  37. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/fixnum.h +0 -184
  38. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/hash.h +0 -191
  39. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/inits.h +0 -50
  40. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/io.h +0 -137
  41. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/load.h +0 -18
  42. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/loadpath.h +0 -16
  43. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/math.h +0 -23
  44. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/missing.h +0 -18
  45. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/numeric.h +0 -273
  46. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/object.h +0 -60
  47. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/parse.h +0 -108
  48. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/proc.h +0 -30
  49. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/process.h +0 -124
  50. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/ractor.h +0 -6
  51. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/random.h +0 -17
  52. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/range.h +0 -40
  53. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/rational.h +0 -71
  54. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/re.h +0 -28
  55. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/ruby_parser.h +0 -69
  56. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/sanitizers.h +0 -186
  57. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/signal.h +0 -25
  58. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/string.h +0 -159
  59. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/struct.h +0 -127
  60. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/symbol.h +0 -45
  61. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/thread.h +0 -78
  62. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/time.h +0 -34
  63. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/transcode.h +0 -23
  64. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/util.h +0 -27
  65. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/extension.h +0 -18
  66. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/bignum.h +0 -244
  67. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/bits.h +0 -568
  68. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/cmdlineopt.h +0 -65
  69. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/compar.h +0 -29
  70. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/compile.h +0 -34
  71. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/complex.h +0 -29
  72. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/cont.h +0 -35
  73. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/dir.h +0 -16
  74. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enc.h +0 -19
  75. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/encoding.h +0 -35
  76. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enum.h +0 -18
  77. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enumerator.h +0 -21
  78. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/error.h +0 -216
  79. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/eval.h +0 -33
  80. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/file.h +0 -38
  81. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/fixnum.h +0 -184
  82. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/hash.h +0 -191
  83. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/inits.h +0 -50
  84. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/io.h +0 -137
  85. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/load.h +0 -18
  86. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/loadpath.h +0 -16
  87. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/math.h +0 -23
  88. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/missing.h +0 -18
  89. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/numeric.h +0 -273
  90. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/object.h +0 -62
  91. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/parse.h +0 -108
  92. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/proc.h +0 -30
  93. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/process.h +0 -124
  94. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/ractor.h +0 -6
  95. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/random.h +0 -17
  96. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/range.h +0 -40
  97. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/rational.h +0 -71
  98. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/re.h +0 -28
  99. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/ruby_parser.h +0 -69
  100. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/sanitizers.h +0 -186
  101. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/signal.h +0 -25
  102. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/string.h +0 -160
  103. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/struct.h +0 -127
  104. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/symbol.h +0 -45
  105. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/thread.h +0 -78
  106. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/time.h +0 -34
  107. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/transcode.h +0 -23
  108. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/util.h +0 -27
  109. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/extension.h +0 -18
  110. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/bignum.h +0 -244
  111. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/bits.h +0 -650
  112. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/cmdlineopt.h +0 -65
  113. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/compar.h +0 -29
  114. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/compile.h +0 -34
  115. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/complex.h +0 -29
  116. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/cont.h +0 -35
  117. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/dir.h +0 -16
  118. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/enc.h +0 -19
  119. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/encoding.h +0 -38
  120. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/enum.h +0 -18
  121. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/enumerator.h +0 -21
  122. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/error.h +0 -244
  123. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/eval.h +0 -33
  124. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/file.h +0 -38
  125. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/fixnum.h +0 -185
  126. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/hash.h +0 -192
  127. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/inits.h +0 -47
  128. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/io.h +0 -143
  129. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/load.h +0 -18
  130. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/loadpath.h +0 -16
  131. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/math.h +0 -23
  132. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/missing.h +0 -19
  133. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/numeric.h +0 -274
  134. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/object.h +0 -63
  135. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/parse.h +0 -130
  136. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/proc.h +0 -31
  137. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/process.h +0 -124
  138. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/ractor.h +0 -10
  139. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/random.h +0 -17
  140. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/range.h +0 -40
  141. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/rational.h +0 -71
  142. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/re.h +0 -28
  143. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/ruby_parser.h +0 -102
  144. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/signal.h +0 -24
  145. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/st.h +0 -11
  146. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/string.h +0 -198
  147. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/struct.h +0 -127
  148. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/symbol.h +0 -45
  149. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/thread.h +0 -108
  150. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/time.h +0 -34
  151. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/transcode.h +0 -23
  152. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/util.h +0 -27
  153. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/prism/extension.h +0 -19
  154. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/bignum.h +0 -256
  155. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/bits.h +0 -647
  156. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/cmdlineopt.h +0 -64
  157. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/compar.h +0 -29
  158. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/compile.h +0 -34
  159. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/complex.h +0 -29
  160. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/concurrent_set.h +0 -21
  161. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/cont.h +0 -34
  162. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/dir.h +0 -16
  163. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/enc.h +0 -19
  164. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/encoding.h +0 -39
  165. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/enum.h +0 -18
  166. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/enumerator.h +0 -21
  167. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/error.h +0 -251
  168. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/eval.h +0 -43
  169. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/file.h +0 -38
  170. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/fixnum.h +0 -185
  171. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/hash.h +0 -194
  172. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/inits.h +0 -51
  173. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/io.h +0 -163
  174. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/load.h +0 -20
  175. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/loadpath.h +0 -16
  176. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/math.h +0 -23
  177. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/missing.h +0 -19
  178. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/numeric.h +0 -323
  179. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/object.h +0 -63
  180. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/parse.h +0 -131
  181. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/proc.h +0 -30
  182. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/process.h +0 -124
  183. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/ractor.h +0 -10
  184. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/random.h +0 -17
  185. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/range.h +0 -40
  186. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/rational.h +0 -71
  187. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/re.h +0 -33
  188. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/ruby_parser.h +0 -102
  189. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/signal.h +0 -25
  190. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/st.h +0 -11
  191. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/string.h +0 -203
  192. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/struct.h +0 -160
  193. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/symbol.h +0 -46
  194. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/thread.h +0 -112
  195. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/time.h +0 -34
  196. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/transcode.h +0 -23
  197. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/util.h +0 -27
  198. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/prism/extension.h +0 -19
  199. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/bignum.h +0 -256
  200. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/bits.h +0 -647
  201. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/cmdlineopt.h +0 -64
  202. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/compar.h +0 -29
  203. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/compile.h +0 -34
  204. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/complex.h +0 -29
  205. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/concurrent_set.h +0 -21
  206. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/cont.h +0 -34
  207. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/dir.h +0 -16
  208. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/enc.h +0 -19
  209. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/encoding.h +0 -39
  210. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/enum.h +0 -18
  211. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/enumerator.h +0 -21
  212. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/error.h +0 -251
  213. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/eval.h +0 -43
  214. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/file.h +0 -38
  215. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/fixnum.h +0 -185
  216. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/hash.h +0 -194
  217. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/inits.h +0 -51
  218. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/io.h +0 -163
  219. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/load.h +0 -20
  220. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/loadpath.h +0 -16
  221. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/math.h +0 -23
  222. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/missing.h +0 -19
  223. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/numeric.h +0 -323
  224. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/object.h +0 -63
  225. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/parse.h +0 -131
  226. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/proc.h +0 -30
  227. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/process.h +0 -124
  228. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/ractor.h +0 -10
  229. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/random.h +0 -17
  230. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/range.h +0 -40
  231. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/rational.h +0 -73
  232. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/re.h +0 -33
  233. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/ruby_parser.h +0 -102
  234. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/signal.h +0 -25
  235. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/st.h +0 -11
  236. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/string.h +0 -203
  237. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/struct.h +0 -160
  238. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/symbol.h +0 -46
  239. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/thread.h +0 -112
  240. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/time.h +0 -34
  241. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/transcode.h +0 -23
  242. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/util.h +0 -27
  243. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/extension.h +0 -19
@@ -1,71 +0,0 @@
1
- #ifndef INTERNAL_RATIONAL_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_RATIONAL_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 Rational.
10
- */
11
- #include "ruby/internal/config.h" /* for HAVE_LIBGMP */
12
- #include "ruby/ruby.h" /* for struct RBasic */
13
- #include "internal/numeric.h" /* for INT_POSITIVE_P */
14
- #include "ruby_assert.h" /* for assert */
15
-
16
- struct RRational {
17
- struct RBasic basic;
18
- VALUE num;
19
- VALUE den;
20
- };
21
-
22
- #define RRATIONAL(obj) ((struct RRational *)(obj))
23
-
24
- /* rational.c */
25
- VALUE rb_rational_canonicalize(VALUE x);
26
- VALUE rb_rational_uminus(VALUE self);
27
- VALUE rb_rational_plus(VALUE self, VALUE other);
28
- VALUE rb_rational_minus(VALUE self, VALUE other);
29
- VALUE rb_rational_mul(VALUE self, VALUE other);
30
- VALUE rb_rational_div(VALUE self, VALUE other);
31
- VALUE rb_lcm(VALUE x, VALUE y);
32
- VALUE rb_rational_reciprocal(VALUE x);
33
- VALUE rb_cstr_to_rat(const char *, int);
34
- VALUE rb_rational_hash(VALUE self);
35
- VALUE rb_rational_abs(VALUE self);
36
- VALUE rb_rational_cmp(VALUE self, VALUE other);
37
- VALUE rb_rational_pow(VALUE self, VALUE other);
38
- VALUE rb_rational_floor(VALUE self, int ndigits);
39
- VALUE rb_numeric_quo(VALUE x, VALUE y);
40
- VALUE rb_flo_round_by_rational(int argc, VALUE *argv, VALUE num);
41
- VALUE rb_float_numerator(VALUE x);
42
- VALUE rb_float_denominator(VALUE x);
43
-
44
- static inline void RATIONAL_SET_NUM(VALUE r, VALUE n);
45
- static inline void RATIONAL_SET_DEN(VALUE r, VALUE d);
46
-
47
- RUBY_SYMBOL_EXPORT_BEGIN
48
- /* rational.c (export) */
49
- VALUE rb_gcd(VALUE x, VALUE y);
50
- VALUE rb_gcd_normal(VALUE self, VALUE other);
51
- #if defined(HAVE_LIBGMP) && defined(HAVE_GMP_H)
52
- VALUE rb_gcd_gmp(VALUE x, VALUE y);
53
- #endif
54
- RUBY_SYMBOL_EXPORT_END
55
-
56
- static inline void
57
- RATIONAL_SET_NUM(VALUE r, VALUE n)
58
- {
59
- assert(RB_INTEGER_TYPE_P(n));
60
- RB_OBJ_WRITE(r, &RRATIONAL(r)->num, n);
61
- }
62
-
63
- static inline void
64
- RATIONAL_SET_DEN(VALUE r, VALUE d)
65
- {
66
- assert(RB_INTEGER_TYPE_P(d));
67
- assert(INT_POSITIVE_P(d));
68
- RB_OBJ_WRITE(r, &RRATIONAL(r)->den, d);
69
- }
70
-
71
- #endif /* INTERNAL_RATIONAL_H */
@@ -1,28 +0,0 @@
1
- #ifndef INTERNAL_RE_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_RE_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 Regexp.
10
- */
11
- #include "ruby/internal/stdbool.h" /* for bool */
12
- #include "ruby/ruby.h" /* for VALUE */
13
-
14
- /* re.c */
15
- VALUE rb_reg_compile(VALUE str, int options, const char *sourcefile, int sourceline);
16
- VALUE rb_reg_check_preprocess(VALUE);
17
- long rb_reg_search0(VALUE, VALUE, long, int, int);
18
- VALUE rb_reg_match_p(VALUE re, VALUE str, long pos);
19
- bool rb_reg_start_with_p(VALUE re, VALUE str);
20
- VALUE rb_reg_hash(VALUE re);
21
- VALUE rb_reg_equal(VALUE re1, VALUE re2);
22
- void rb_backref_set_string(VALUE string, long pos, long len);
23
- void rb_match_unbusy(VALUE);
24
- int rb_match_count(VALUE match);
25
- VALUE rb_reg_new_ary(VALUE ary, int options);
26
- VALUE rb_reg_last_defined(VALUE match);
27
-
28
- #endif /* INTERNAL_RE_H */
@@ -1,69 +0,0 @@
1
- #ifndef INTERNAL_RUBY_PARSE_H
2
- #define INTERNAL_RUBY_PARSE_H
3
-
4
- #include "internal.h"
5
- #include "internal/imemo.h"
6
- #include "rubyparser.h"
7
- #include "vm.h"
8
-
9
- RUBY_SYMBOL_EXPORT_BEGIN
10
- #ifdef UNIVERSAL_PARSER
11
- void rb_parser_config_initialize(rb_parser_config_t *config);
12
- #endif
13
- VALUE rb_parser_set_context(VALUE, const struct rb_iseq_struct *, int);
14
- VALUE rb_parser_new(void);
15
- rb_ast_t *rb_parser_compile_string_path(VALUE vparser, VALUE fname, VALUE src, int line);
16
- RUBY_SYMBOL_EXPORT_END
17
-
18
- VALUE rb_parser_end_seen_p(VALUE);
19
- VALUE rb_parser_encoding(VALUE);
20
- VALUE rb_parser_set_yydebug(VALUE, VALUE);
21
- void rb_parser_set_options(VALUE, int, int, int, int);
22
- void *rb_parser_load_file(VALUE parser, VALUE name);
23
- void rb_parser_set_script_lines(VALUE vparser, VALUE lines_array);
24
- void rb_parser_error_tolerant(VALUE vparser);
25
- void rb_parser_keep_tokens(VALUE vparser);
26
-
27
- rb_ast_t *rb_parser_compile_string(VALUE, const char*, VALUE, int);
28
- rb_ast_t *rb_parser_compile_file_path(VALUE vparser, VALUE fname, VALUE input, int line);
29
- rb_ast_t *rb_parser_compile_generic(VALUE vparser, VALUE (*lex_gets)(VALUE, int), VALUE fname, VALUE input, int line);
30
-
31
- enum lex_state_bits {
32
- EXPR_BEG_bit, /* ignore newline, +/- is a sign. */
33
- EXPR_END_bit, /* newline significant, +/- is an operator. */
34
- EXPR_ENDARG_bit, /* ditto, and unbound braces. */
35
- EXPR_ENDFN_bit, /* ditto, and unbound braces. */
36
- EXPR_ARG_bit, /* newline significant, +/- is an operator. */
37
- EXPR_CMDARG_bit, /* newline significant, +/- is an operator. */
38
- EXPR_MID_bit, /* newline significant, +/- is an operator. */
39
- EXPR_FNAME_bit, /* ignore newline, no reserved words. */
40
- EXPR_DOT_bit, /* right after `.', `&.' or `::', no reserved words. */
41
- EXPR_CLASS_bit, /* immediate after `class', no here document. */
42
- EXPR_LABEL_bit, /* flag bit, label is allowed. */
43
- EXPR_LABELED_bit, /* flag bit, just after a label. */
44
- EXPR_FITEM_bit, /* symbol literal as FNAME. */
45
- EXPR_MAX_STATE
46
- };
47
- /* examine combinations */
48
- enum lex_state_e {
49
- #define DEF_EXPR(n) EXPR_##n = (1 << EXPR_##n##_bit)
50
- DEF_EXPR(BEG),
51
- DEF_EXPR(END),
52
- DEF_EXPR(ENDARG),
53
- DEF_EXPR(ENDFN),
54
- DEF_EXPR(ARG),
55
- DEF_EXPR(CMDARG),
56
- DEF_EXPR(MID),
57
- DEF_EXPR(FNAME),
58
- DEF_EXPR(DOT),
59
- DEF_EXPR(CLASS),
60
- DEF_EXPR(LABEL),
61
- DEF_EXPR(LABELED),
62
- DEF_EXPR(FITEM),
63
- EXPR_VALUE = EXPR_BEG,
64
- EXPR_BEG_ANY = (EXPR_BEG | EXPR_MID | EXPR_CLASS),
65
- EXPR_ARG_ANY = (EXPR_ARG | EXPR_CMDARG),
66
- EXPR_END_ANY = (EXPR_END | EXPR_ENDARG | EXPR_ENDFN),
67
- EXPR_NONE = 0
68
- };
69
- #endif /* INTERNAL_RUBY_PARSE_H */
@@ -1,186 +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
- # include <sanitizer/asan_interface.h>
20
- #endif
21
-
22
- #ifdef HAVE_SANITIZER_MSAN_INTERFACE_H
23
- # if __has_feature(memory_sanitizer)
24
- # include <sanitizer/msan_interface.h>
25
- # endif
26
- #endif
27
-
28
- #include "ruby/internal/stdbool.h" /* for bool */
29
- #include "ruby/ruby.h" /* for VALUE */
30
-
31
- #if 0
32
- #elif __has_feature(memory_sanitizer) && __has_feature(address_sanitizer)
33
- # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
34
- __attribute__((__no_sanitize__("memory, address"), __noinline__)) x
35
- #elif __has_feature(address_sanitizer)
36
- # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
37
- __attribute__((__no_sanitize__("address"), __noinline__)) x
38
- #elif defined(NO_SANITIZE_ADDRESS)
39
- # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
40
- NO_SANITIZE_ADDRESS(NOINLINE(x))
41
- #elif defined(NO_ADDRESS_SAFETY_ANALYSIS)
42
- # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
43
- NO_ADDRESS_SAFETY_ANALYSIS(NOINLINE(x))
44
- #else
45
- # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) x
46
- #endif
47
-
48
- #if defined(NO_SANITIZE) && RBIMPL_COMPILER_IS(GCC)
49
- /* GCC warns about unknown sanitizer, which is annoying. */
50
- # include "internal/warnings.h"
51
- # undef NO_SANITIZE
52
- # define NO_SANITIZE(x, y) \
53
- COMPILER_WARNING_PUSH; \
54
- COMPILER_WARNING_IGNORED(-Wattributes); \
55
- __attribute__((__no_sanitize__(x))) y; \
56
- COMPILER_WARNING_POP
57
- #endif
58
-
59
- #ifndef NO_SANITIZE
60
- # define NO_SANITIZE(x, y) y
61
- #endif
62
-
63
- #if !__has_feature(address_sanitizer)
64
- # define __asan_poison_memory_region(x, y)
65
- # define __asan_unpoison_memory_region(x, y)
66
- # define __asan_region_is_poisoned(x, y) 0
67
- #endif
68
-
69
- #if !__has_feature(memory_sanitizer)
70
- # define __msan_allocated_memory(x, y) ((void)(x), (void)(y))
71
- # define __msan_poison(x, y) ((void)(x), (void)(y))
72
- # define __msan_unpoison(x, y) ((void)(x), (void)(y))
73
- # define __msan_unpoison_string(x) ((void)(x))
74
- #endif
75
-
76
- #ifdef VALGRIND_MAKE_READABLE
77
- # define VALGRIND_MAKE_MEM_DEFINED(p, n) VALGRIND_MAKE_READABLE((p), (n))
78
- #endif
79
-
80
- #ifdef VALGRIND_MAKE_WRITABLE
81
- # define VALGRIND_MAKE_MEM_UNDEFINED(p, n) VALGRIND_MAKE_WRITABLE((p), (n))
82
- #endif
83
-
84
- #ifndef VALGRIND_MAKE_MEM_DEFINED
85
- # define VALGRIND_MAKE_MEM_DEFINED(p, n) 0
86
- #endif
87
-
88
- #ifndef VALGRIND_MAKE_MEM_UNDEFINED
89
- # define VALGRIND_MAKE_MEM_UNDEFINED(p, n) 0
90
- #endif
91
-
92
- /*!
93
- * This function asserts that a (continuous) memory region from ptr to size
94
- * being "poisoned". Both read / write access to such memory region are
95
- * prohibited until properly unpoisoned. The region must be previously
96
- * allocated (do not pass a freed pointer here), but not necessarily be an
97
- * entire object that the malloc returns. You can punch hole a part of a
98
- * gigantic heap arena. This is handy when you do not free an allocated memory
99
- * region to reuse later: poison when you keep it unused, and unpoison when you
100
- * reuse.
101
- *
102
- * \param[in] ptr pointer to the beginning of the memory region to poison.
103
- * \param[in] size the length of the memory region to poison.
104
- */
105
- static inline void
106
- asan_poison_memory_region(const volatile void *ptr, size_t size)
107
- {
108
- __msan_poison(ptr, size);
109
- __asan_poison_memory_region(ptr, size);
110
- }
111
-
112
- /*!
113
- * This is a variant of asan_poison_memory_region that takes a VALUE.
114
- *
115
- * \param[in] obj target object.
116
- */
117
- static inline void
118
- asan_poison_object(VALUE obj)
119
- {
120
- MAYBE_UNUSED(struct RVALUE *) ptr = (void *)obj;
121
- asan_poison_memory_region(ptr, SIZEOF_VALUE);
122
- }
123
-
124
- #if !__has_feature(address_sanitizer)
125
- #define asan_poison_object_if(ptr, obj) ((void)(ptr), (void)(obj))
126
- #else
127
- #define asan_poison_object_if(ptr, obj) do { \
128
- if (ptr) asan_poison_object(obj); \
129
- } while (0)
130
- #endif
131
-
132
- /*!
133
- * This function predicates if the given object is fully addressable or not.
134
- *
135
- * \param[in] obj target object.
136
- * \retval 0 the given object is fully addressable.
137
- * \retval otherwise pointer to first such byte who is poisoned.
138
- */
139
- static inline void *
140
- asan_poisoned_object_p(VALUE obj)
141
- {
142
- MAYBE_UNUSED(struct RVALUE *) ptr = (void *)obj;
143
- return __asan_region_is_poisoned(ptr, SIZEOF_VALUE);
144
- }
145
-
146
- /*!
147
- * This function asserts that a (formally poisoned) memory region from ptr to
148
- * size is now addressable. Write access to such memory region gets allowed.
149
- * However read access might or might not be possible depending on situations,
150
- * because the region can have contents of previous usages. That information
151
- * should be passed by the malloc_p flag. If that is true, the contents of the
152
- * region is _not_ fully defined (like the return value of malloc behaves).
153
- * Reading from there is NG; write something first. If malloc_p is false on
154
- * the other hand, that memory region is fully defined and can be read
155
- * immediately.
156
- *
157
- * \param[in] ptr pointer to the beginning of the memory region to unpoison.
158
- * \param[in] size the length of the memory region.
159
- * \param[in] malloc_p if the memory region is like a malloc's return value or not.
160
- */
161
- static inline void
162
- asan_unpoison_memory_region(const volatile void *ptr, size_t size, bool malloc_p)
163
- {
164
- __asan_unpoison_memory_region(ptr, size);
165
- if (malloc_p) {
166
- __msan_allocated_memory(ptr, size);
167
- }
168
- else {
169
- __msan_unpoison(ptr, size);
170
- }
171
- }
172
-
173
- /*!
174
- * This is a variant of asan_unpoison_memory_region that takes a VALUE.
175
- *
176
- * \param[in] obj target object.
177
- * \param[in] malloc_p if the memory region is like a malloc's return value or not.
178
- */
179
- static inline void
180
- asan_unpoison_object(VALUE obj, bool newobj_p)
181
- {
182
- MAYBE_UNUSED(struct RVALUE *) ptr = (void *)obj;
183
- asan_unpoison_memory_region(ptr, SIZEOF_VALUE, newobj_p);
184
- }
185
-
186
- #endif /* INTERNAL_SANITIZERS_H */
@@ -1,25 +0,0 @@
1
- #ifndef INTERNAL_SIGNAL_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_SIGNAL_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 SignalException.
10
- */
11
-
12
- /* signal.c */
13
- extern int ruby_enable_coredump;
14
- int rb_get_next_signal(void);
15
-
16
- #ifdef POSIX_SIGNAL
17
- void (*ruby_posix_signal(int, void (*)(int)))(int);
18
- #endif
19
-
20
- RUBY_SYMBOL_EXPORT_BEGIN
21
- /* signal.c (export) */
22
- int rb_grantpt(int fd);
23
- RUBY_SYMBOL_EXPORT_END
24
-
25
- #endif /* INTERNAL_SIGNAL_H */
@@ -1,160 +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
-
21
- #ifdef rb_fstring_cstr
22
- # undef rb_fstring_cstr
23
- #endif
24
-
25
- /* string.c */
26
- VALUE rb_fstring(VALUE);
27
- VALUE rb_fstring_cstr(const char *str);
28
- VALUE rb_fstring_enc_new(const char *ptr, long len, rb_encoding *enc);
29
- int rb_str_buf_cat_escaped_char(VALUE result, unsigned int c, int unicode_p);
30
- int rb_str_symname_p(VALUE);
31
- VALUE rb_str_quote_unprintable(VALUE);
32
- char *rb_str_fill_terminator(VALUE str, const int termlen);
33
- void rb_str_change_terminator_length(VALUE str, const int oldtermlen, const int termlen);
34
- VALUE rb_str_locktmp_ensure(VALUE str, VALUE (*func)(VALUE), VALUE arg);
35
- VALUE rb_str_chomp_string(VALUE str, VALUE chomp);
36
- VALUE rb_external_str_with_enc(VALUE str, rb_encoding *eenc);
37
- VALUE rb_str_cat_conv_enc_opts(VALUE newstr, long ofs, const char *ptr, long len,
38
- rb_encoding *from, int ecflags, VALUE ecopts);
39
- VALUE rb_enc_str_scrub(rb_encoding *enc, VALUE str, VALUE repl);
40
- VALUE rb_str_escape(VALUE str);
41
- size_t rb_str_memsize(VALUE);
42
- char *rb_str_to_cstr(VALUE str);
43
- const char *ruby_escaped_char(int c);
44
- void rb_str_make_independent(VALUE str);
45
- int rb_enc_str_coderange_scan(VALUE str, rb_encoding *enc);
46
- int rb_ascii8bit_appendable_encoding_index(rb_encoding *enc, unsigned int code);
47
- VALUE rb_str_include(VALUE str, VALUE arg);
48
-
49
- static inline bool STR_EMBED_P(VALUE str);
50
- static inline bool STR_SHARED_P(VALUE str);
51
- static inline VALUE QUOTE(VALUE v);
52
- static inline VALUE QUOTE_ID(ID v);
53
- static inline bool is_ascii_string(VALUE str);
54
- static inline bool is_broken_string(VALUE str);
55
- static inline VALUE rb_str_eql_internal(const VALUE str1, const VALUE str2);
56
-
57
- RUBY_SYMBOL_EXPORT_BEGIN
58
- /* string.c (export) */
59
- VALUE rb_str_tmp_frozen_acquire(VALUE str);
60
- VALUE rb_str_tmp_frozen_no_embed_acquire(VALUE str);
61
- void rb_str_tmp_frozen_release(VALUE str, VALUE tmp);
62
- VALUE rb_setup_fake_str(struct RString *fake_str, const char *name, long len, rb_encoding *enc);
63
- VALUE rb_str_upto_each(VALUE, VALUE, int, int (*each)(VALUE, VALUE), VALUE);
64
- VALUE rb_str_upto_endless_each(VALUE, int (*each)(VALUE, VALUE), VALUE);
65
- void rb_str_make_embedded(VALUE);
66
- size_t rb_str_size_as_embedded(VALUE);
67
- bool rb_str_reembeddable_p(VALUE);
68
- RUBY_SYMBOL_EXPORT_END
69
-
70
- VALUE rb_fstring_new(const char *ptr, long len);
71
- VALUE rb_obj_as_string_result(VALUE str, VALUE obj);
72
- VALUE rb_str_opt_plus(VALUE x, VALUE y);
73
- VALUE rb_str_concat_literals(size_t num, const VALUE *strary);
74
- VALUE rb_str_eql(VALUE str1, VALUE str2);
75
- VALUE rb_id_quote_unprintable(ID);
76
- VALUE rb_sym_proc_call(ID mid, int argc, const VALUE *argv, int kw_splat, VALUE passed_proc);
77
-
78
- struct rb_execution_context_struct;
79
- VALUE rb_ec_str_resurrect(struct rb_execution_context_struct *ec, VALUE str);
80
-
81
- #define rb_fstring_lit(str) rb_fstring_new((str), rb_strlen_lit(str))
82
- #define rb_fstring_literal(str) rb_fstring_lit(str)
83
- #define rb_fstring_enc_lit(str, enc) rb_fstring_enc_new((str), rb_strlen_lit(str), (enc))
84
- #define rb_fstring_enc_literal(str, enc) rb_fstring_enc_lit(str, enc)
85
-
86
- static inline VALUE
87
- QUOTE(VALUE v)
88
- {
89
- return rb_str_quote_unprintable(v);
90
- }
91
-
92
- static inline VALUE
93
- QUOTE_ID(ID i)
94
- {
95
- return rb_id_quote_unprintable(i);
96
- }
97
-
98
- static inline bool
99
- STR_EMBED_P(VALUE str)
100
- {
101
- return ! FL_TEST_RAW(str, STR_NOEMBED);
102
- }
103
-
104
- static inline bool
105
- STR_SHARED_P(VALUE str)
106
- {
107
- return FL_ALL_RAW(str, STR_NOEMBED | STR_SHARED);
108
- }
109
-
110
- static inline bool
111
- is_ascii_string(VALUE str)
112
- {
113
- return rb_enc_str_coderange(str) == ENC_CODERANGE_7BIT;
114
- }
115
-
116
- static inline bool
117
- is_broken_string(VALUE str)
118
- {
119
- return rb_enc_str_coderange(str) == ENC_CODERANGE_BROKEN;
120
- }
121
-
122
- static inline bool
123
- at_char_boundary(const char *s, const char *p, const char *e, rb_encoding *enc)
124
- {
125
- return rb_enc_left_char_head(s, p, e, enc) == p;
126
- }
127
-
128
- static inline bool
129
- at_char_right_boundary(const char *s, const char *p, const char *e, rb_encoding *enc)
130
- {
131
- RUBY_ASSERT(s <= p);
132
- RUBY_ASSERT(p <= e);
133
-
134
- return rb_enc_right_char_head(s, p, e, enc) == p;
135
- }
136
-
137
- /* expect tail call optimization */
138
- // YJIT needs this function to never allocate and never raise
139
- static inline VALUE
140
- rb_str_eql_internal(const VALUE str1, const VALUE str2)
141
- {
142
- const long len = RSTRING_LEN(str1);
143
- const char *ptr1, *ptr2;
144
-
145
- if (len != RSTRING_LEN(str2)) return Qfalse;
146
- if (!rb_str_comparable(str1, str2)) return Qfalse;
147
- if ((ptr1 = RSTRING_PTR(str1)) == (ptr2 = RSTRING_PTR(str2)))
148
- return Qtrue;
149
- if (memcmp(ptr1, ptr2, len) == 0)
150
- return Qtrue;
151
- return Qfalse;
152
- }
153
-
154
- #if __has_builtin(__builtin_constant_p)
155
- # define rb_fstring_cstr(str) \
156
- (__builtin_constant_p(str) ? \
157
- rb_fstring_new((str), (long)strlen(str)) : \
158
- (rb_fstring_cstr)(str))
159
- #endif
160
- #endif /* INTERNAL_STRING_H */
@@ -1,127 +0,0 @@
1
- #ifndef INTERNAL_STRUCT_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_STRUCT_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 Struct.
10
- */
11
- #include "ruby/internal/stdbool.h" /* for bool */
12
- #include "ruby/ruby.h" /* for struct RBasic */
13
-
14
- enum {
15
- RSTRUCT_EMBED_LEN_MASK = RUBY_FL_USER7 | RUBY_FL_USER6 | RUBY_FL_USER5 | RUBY_FL_USER4 |
16
- RUBY_FL_USER3 | RUBY_FL_USER2 | RUBY_FL_USER1,
17
- RSTRUCT_EMBED_LEN_SHIFT = (RUBY_FL_USHIFT+1),
18
- };
19
-
20
- struct RStruct {
21
- struct RBasic basic;
22
- union {
23
- struct {
24
- long len;
25
- const VALUE *ptr;
26
- } heap;
27
- /* This is a length 1 array because:
28
- * 1. GCC has a bug that does not optimize C flexible array members
29
- * (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102452)
30
- * 2. Zero length arrays are not supported by all compilers
31
- */
32
- const VALUE ary[1];
33
- } as;
34
- };
35
-
36
- #define RSTRUCT(obj) ((struct RStruct *)(obj))
37
-
38
- #ifdef RSTRUCT_LEN
39
- # undef RSTRUCT_LEN
40
- #endif
41
-
42
- #ifdef RSTRUCT_PTR
43
- # undef RSTRUCT_PTR
44
- #endif
45
-
46
- #ifdef RSTRUCT_SET
47
- # undef RSTRUCT_SET
48
- #endif
49
-
50
- #ifdef RSTRUCT_GET
51
- # undef RSTRUCT_GET
52
- #endif
53
-
54
- #define RSTRUCT_LEN internal_RSTRUCT_LEN
55
- #define RSTRUCT_SET internal_RSTRUCT_SET
56
- #define RSTRUCT_GET internal_RSTRUCT_GET
57
-
58
- /* struct.c */
59
- VALUE rb_struct_init_copy(VALUE copy, VALUE s);
60
- VALUE rb_struct_lookup(VALUE s, VALUE idx);
61
- VALUE rb_struct_s_keyword_init(VALUE klass);
62
- static inline const VALUE *rb_struct_const_heap_ptr(VALUE st);
63
- static inline long RSTRUCT_EMBED_LEN(VALUE st);
64
- static inline long RSTRUCT_LEN(VALUE st);
65
- static inline int RSTRUCT_LENINT(VALUE st);
66
- static inline const VALUE *RSTRUCT_CONST_PTR(VALUE st);
67
- static inline void RSTRUCT_SET(VALUE st, long k, VALUE v);
68
- static inline VALUE RSTRUCT_GET(VALUE st, long k);
69
-
70
- static inline long
71
- RSTRUCT_EMBED_LEN(VALUE st)
72
- {
73
- long ret = FL_TEST_RAW(st, RSTRUCT_EMBED_LEN_MASK);
74
- ret >>= RSTRUCT_EMBED_LEN_SHIFT;
75
- return ret;
76
- }
77
-
78
- static inline long
79
- RSTRUCT_LEN(VALUE st)
80
- {
81
- if (FL_TEST_RAW(st, RSTRUCT_EMBED_LEN_MASK)) {
82
- return RSTRUCT_EMBED_LEN(st);
83
- }
84
- else {
85
- return RSTRUCT(st)->as.heap.len;
86
- }
87
- }
88
-
89
- static inline int
90
- RSTRUCT_LENINT(VALUE st)
91
- {
92
- return rb_long2int(RSTRUCT_LEN(st));
93
- }
94
-
95
- static inline const VALUE *
96
- RSTRUCT_CONST_PTR(VALUE st)
97
- {
98
- const struct RStruct *p = RSTRUCT(st);
99
-
100
- if (FL_TEST_RAW(st, RSTRUCT_EMBED_LEN_MASK)) {
101
- return p->as.ary;
102
- }
103
- else {
104
- return p->as.heap.ptr;
105
- }
106
- }
107
-
108
- static inline void
109
- RSTRUCT_SET(VALUE st, long k, VALUE v)
110
- {
111
- RB_OBJ_WRITE(st, &RSTRUCT_CONST_PTR(st)[k], v);
112
- }
113
-
114
- static inline VALUE
115
- RSTRUCT_GET(VALUE st, long k)
116
- {
117
- return RSTRUCT_CONST_PTR(st)[k];
118
- }
119
-
120
- static inline const VALUE *
121
- rb_struct_const_heap_ptr(VALUE st)
122
- {
123
- assert(!FL_TEST_RAW(st, RSTRUCT_EMBED_LEN_MASK));
124
- return RSTRUCT(st)->as.heap.ptr;
125
- }
126
-
127
- #endif /* INTERNAL_STRUCT_H */