datadog-ruby_core_source 3.5.3 → 3.5.5

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 (357) hide show
  1. checksums.yaml +4 -4
  2. data/datadog-ruby_core_source.gemspec +1 -1
  3. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +36 -0
  4. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +36 -0
  5. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +36 -0
  6. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/ccan/build_assert/build_assert.h +40 -0
  7. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/ccan/check_type/check_type.h +63 -0
  8. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/ccan/container_of/container_of.h +142 -0
  9. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/ccan/list/list.h +788 -0
  10. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/ccan/str/str.h +16 -0
  11. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/id.h +252 -0
  12. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/internal.h +2465 -0
  13. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/iseq.h +304 -0
  14. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/method.h +229 -0
  15. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/node.h +449 -0
  16. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/ruby_assert.h +60 -0
  17. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/ruby_atomic.h +244 -0
  18. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/thread_pthread.h +75 -0
  19. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/thread_win32.h +36 -0
  20. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/vm_core.h +1902 -0
  21. data/lib/datadog/ruby_core_source/ruby-2.6.0-p0/vm_opts.h +70 -0
  22. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/ccan/build_assert/build_assert.h +40 -0
  23. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/ccan/check_type/check_type.h +63 -0
  24. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/ccan/container_of/container_of.h +142 -0
  25. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/ccan/list/list.h +788 -0
  26. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/ccan/str/str.h +16 -0
  27. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/id.h +290 -0
  28. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/internal.h +2697 -0
  29. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/iseq.h +312 -0
  30. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/method.h +229 -0
  31. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/node.h +476 -0
  32. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/ruby_assert.h +15 -0
  33. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/ruby_atomic.h +244 -0
  34. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/thread_pthread.h +75 -0
  35. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/thread_win32.h +36 -0
  36. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/vm_core.h +1968 -0
  37. data/lib/datadog/ruby_core_source/ruby-2.7.0-p0/vm_opts.h +72 -0
  38. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/ccan/build_assert/build_assert.h +40 -0
  39. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/ccan/check_type/check_type.h +63 -0
  40. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/ccan/container_of/container_of.h +142 -0
  41. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/ccan/list/list.h +788 -0
  42. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/ccan/str/str.h +16 -0
  43. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/id.h +290 -0
  44. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/id_table.h +36 -0
  45. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/internal/array.h +119 -0
  46. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/internal/class.h +174 -0
  47. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/internal/compilers.h +108 -0
  48. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/internal/gc.h +161 -0
  49. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/internal/imemo.h +243 -0
  50. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/internal/serial.h +24 -0
  51. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/internal/static_assert.h +17 -0
  52. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/internal/vm.h +136 -0
  53. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/internal/warnings.h +17 -0
  54. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/internal.h +107 -0
  55. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/iseq.h +305 -0
  56. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/method.h +245 -0
  57. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/node.h +484 -0
  58. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/ractor_core.h +343 -0
  59. data/lib/datadog/ruby_core_source/{ruby-3.4.0-p0/internal/dir.h → ruby-3.0.0-p0/ruby_assert.h} +7 -8
  60. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/ruby_atomic.h +23 -0
  61. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/thread_pthread.h +115 -0
  62. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/thread_win32.h +61 -0
  63. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/vm_core.h +2023 -0
  64. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/vm_debug.h +116 -0
  65. data/lib/datadog/ruby_core_source/ruby-3.0.0-p0/vm_opts.h +73 -0
  66. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/ccan/build_assert/build_assert.h +40 -0
  67. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/ccan/check_type/check_type.h +63 -0
  68. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/ccan/container_of/container_of.h +142 -0
  69. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/ccan/list/list.h +788 -0
  70. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/ccan/str/str.h +16 -0
  71. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/darray.h +198 -0
  72. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/id.h +293 -0
  73. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/id_table.h +36 -0
  74. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/internal/array.h +113 -0
  75. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/internal/class.h +196 -0
  76. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/internal/compilers.h +107 -0
  77. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/internal/gc.h +186 -0
  78. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/internal/imemo.h +243 -0
  79. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/internal/serial.h +23 -0
  80. data/lib/datadog/ruby_core_source/{ruby-3.3.5-p100/internal/loadpath.h → ruby-3.1.0-p0/internal/static_assert.h} +8 -8
  81. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/internal/vm.h +133 -0
  82. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/internal/warnings.h +16 -0
  83. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/internal.h +109 -0
  84. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/iseq.h +322 -0
  85. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/method.h +253 -0
  86. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/node.h +510 -0
  87. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/ractor_core.h +346 -0
  88. data/lib/datadog/ruby_core_source/{ruby-3.3.0-p0/internal/dir.h → ruby-3.1.0-p0/ruby_assert.h} +6 -8
  89. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/ruby_atomic.h +23 -0
  90. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/thread_pthread.h +115 -0
  91. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/vm_core.h +2107 -0
  92. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/vm_debug.h +124 -0
  93. data/lib/datadog/ruby_core_source/ruby-3.1.0-p0/vm_opts.h +73 -0
  94. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/ccan/build_assert/build_assert.h +40 -0
  95. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/ccan/check_type/check_type.h +63 -0
  96. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/ccan/container_of/container_of.h +142 -0
  97. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/ccan/list/list.h +789 -0
  98. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/ccan/str/str.h +17 -0
  99. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/id.h +299 -0
  100. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/id_table.h +39 -0
  101. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/internal/array.h +163 -0
  102. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/internal/basic_operators.h +64 -0
  103. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/internal/class.h +182 -0
  104. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/internal/compilers.h +107 -0
  105. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/internal/gc.h +192 -0
  106. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/internal/imemo.h +242 -0
  107. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/internal/serial.h +23 -0
  108. data/lib/datadog/ruby_core_source/{ruby-3.3.0-p0/internal/loadpath.h → ruby-3.2.0-p0/internal/static_assert.h} +8 -8
  109. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/internal/vm.h +134 -0
  110. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/internal/warnings.h +16 -0
  111. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/internal.h +113 -0
  112. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/iseq.h +329 -0
  113. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/method.h +254 -0
  114. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/node.h +514 -0
  115. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/ractor_core.h +342 -0
  116. data/lib/datadog/ruby_core_source/{ruby-3.3.5-p100/internal/dir.h → ruby-3.2.0-p0/ruby_assert.h} +6 -8
  117. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/ruby_atomic.h +23 -0
  118. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/shape.h +232 -0
  119. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/thread_none.h +20 -0
  120. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/thread_pthread.h +133 -0
  121. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/vm_core.h +2106 -0
  122. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/vm_debug.h +122 -0
  123. data/lib/datadog/ruby_core_source/ruby-3.2.0-p0/vm_opts.h +73 -0
  124. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +53 -0
  125. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +423 -0
  126. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +137 -0
  127. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +53 -0
  128. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +423 -0
  129. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +137 -0
  130. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/constant.h +53 -0
  131. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/debug_counter.h +423 -0
  132. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/vm_sync.h +137 -0
  133. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/constant.h +53 -0
  134. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/debug_counter.h +425 -0
  135. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/vm_sync.h +160 -0
  136. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/constant.h +53 -0
  137. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/debug_counter.h +426 -0
  138. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/vm_sync.h +160 -0
  139. data/lib/datadog/ruby_core_source/version.rb +1 -1
  140. metadata +140 -226
  141. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/bignum.h +0 -244
  142. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/bits.h +0 -568
  143. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/cmdlineopt.h +0 -65
  144. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/compar.h +0 -29
  145. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/compile.h +0 -34
  146. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/complex.h +0 -29
  147. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/cont.h +0 -35
  148. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enc.h +0 -19
  149. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/encoding.h +0 -35
  150. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enum.h +0 -18
  151. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enumerator.h +0 -21
  152. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/error.h +0 -216
  153. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/eval.h +0 -32
  154. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/file.h +0 -38
  155. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/fixnum.h +0 -184
  156. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/hash.h +0 -191
  157. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/inits.h +0 -50
  158. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/io.h +0 -137
  159. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/load.h +0 -18
  160. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/math.h +0 -23
  161. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/missing.h +0 -18
  162. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/numeric.h +0 -273
  163. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/object.h +0 -60
  164. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/parse.h +0 -108
  165. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/proc.h +0 -30
  166. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/process.h +0 -124
  167. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/ractor.h +0 -6
  168. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/random.h +0 -17
  169. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/range.h +0 -40
  170. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/rational.h +0 -71
  171. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/re.h +0 -28
  172. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/ruby_parser.h +0 -69
  173. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/sanitizers.h +0 -186
  174. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/signal.h +0 -25
  175. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/string.h +0 -159
  176. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/struct.h +0 -127
  177. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/symbol.h +0 -45
  178. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/thread.h +0 -78
  179. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/time.h +0 -34
  180. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/transcode.h +0 -23
  181. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/util.h +0 -27
  182. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/extension.h +0 -18
  183. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/bignum.h +0 -244
  184. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/bits.h +0 -568
  185. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/cmdlineopt.h +0 -65
  186. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/compar.h +0 -29
  187. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/compile.h +0 -34
  188. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/complex.h +0 -29
  189. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/cont.h +0 -35
  190. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enc.h +0 -19
  191. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/encoding.h +0 -35
  192. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enum.h +0 -18
  193. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enumerator.h +0 -21
  194. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/error.h +0 -216
  195. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/eval.h +0 -33
  196. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/file.h +0 -38
  197. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/fixnum.h +0 -184
  198. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/hash.h +0 -191
  199. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/inits.h +0 -50
  200. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/io.h +0 -137
  201. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/load.h +0 -18
  202. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/math.h +0 -23
  203. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/missing.h +0 -18
  204. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/numeric.h +0 -273
  205. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/object.h +0 -62
  206. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/parse.h +0 -108
  207. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/proc.h +0 -30
  208. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/process.h +0 -124
  209. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/ractor.h +0 -6
  210. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/random.h +0 -17
  211. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/range.h +0 -40
  212. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/rational.h +0 -71
  213. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/re.h +0 -28
  214. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/ruby_parser.h +0 -69
  215. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/sanitizers.h +0 -186
  216. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/signal.h +0 -25
  217. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/string.h +0 -160
  218. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/struct.h +0 -127
  219. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/symbol.h +0 -45
  220. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/thread.h +0 -78
  221. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/time.h +0 -34
  222. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/transcode.h +0 -23
  223. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/util.h +0 -27
  224. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/extension.h +0 -18
  225. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/bignum.h +0 -244
  226. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/bits.h +0 -650
  227. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/cmdlineopt.h +0 -65
  228. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/compar.h +0 -29
  229. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/compile.h +0 -34
  230. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/complex.h +0 -29
  231. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/cont.h +0 -35
  232. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/enc.h +0 -19
  233. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/encoding.h +0 -38
  234. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/enum.h +0 -18
  235. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/enumerator.h +0 -21
  236. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/error.h +0 -244
  237. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/eval.h +0 -33
  238. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/file.h +0 -38
  239. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/fixnum.h +0 -185
  240. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/hash.h +0 -192
  241. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/inits.h +0 -47
  242. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/io.h +0 -143
  243. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/load.h +0 -18
  244. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/loadpath.h +0 -16
  245. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/math.h +0 -23
  246. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/missing.h +0 -19
  247. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/numeric.h +0 -274
  248. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/object.h +0 -63
  249. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/parse.h +0 -130
  250. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/proc.h +0 -31
  251. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/process.h +0 -124
  252. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/ractor.h +0 -10
  253. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/random.h +0 -17
  254. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/range.h +0 -40
  255. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/rational.h +0 -71
  256. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/re.h +0 -28
  257. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/ruby_parser.h +0 -102
  258. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/signal.h +0 -24
  259. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/st.h +0 -11
  260. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/string.h +0 -198
  261. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/struct.h +0 -127
  262. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/symbol.h +0 -45
  263. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/thread.h +0 -108
  264. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/time.h +0 -34
  265. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/transcode.h +0 -23
  266. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/util.h +0 -27
  267. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/prism/extension.h +0 -19
  268. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/bignum.h +0 -256
  269. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/bits.h +0 -647
  270. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/cmdlineopt.h +0 -64
  271. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/compar.h +0 -29
  272. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/compile.h +0 -34
  273. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/complex.h +0 -29
  274. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/concurrent_set.h +0 -21
  275. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/cont.h +0 -34
  276. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/dir.h +0 -16
  277. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/enc.h +0 -19
  278. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/encoding.h +0 -39
  279. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/enum.h +0 -18
  280. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/enumerator.h +0 -21
  281. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/error.h +0 -251
  282. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/eval.h +0 -43
  283. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/file.h +0 -38
  284. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/fixnum.h +0 -185
  285. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/hash.h +0 -194
  286. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/inits.h +0 -51
  287. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/io.h +0 -163
  288. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/load.h +0 -20
  289. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/loadpath.h +0 -16
  290. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/math.h +0 -23
  291. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/missing.h +0 -19
  292. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/numeric.h +0 -323
  293. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/object.h +0 -63
  294. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/parse.h +0 -131
  295. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/proc.h +0 -30
  296. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/process.h +0 -124
  297. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/ractor.h +0 -10
  298. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/random.h +0 -17
  299. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/range.h +0 -40
  300. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/rational.h +0 -71
  301. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/re.h +0 -33
  302. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/ruby_parser.h +0 -102
  303. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/signal.h +0 -25
  304. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/st.h +0 -11
  305. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/string.h +0 -203
  306. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/struct.h +0 -160
  307. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/symbol.h +0 -46
  308. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/thread.h +0 -112
  309. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/time.h +0 -34
  310. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/transcode.h +0 -23
  311. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/util.h +0 -27
  312. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/prism/extension.h +0 -19
  313. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/bignum.h +0 -256
  314. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/bits.h +0 -647
  315. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/cmdlineopt.h +0 -64
  316. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/compar.h +0 -29
  317. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/compile.h +0 -34
  318. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/complex.h +0 -29
  319. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/concurrent_set.h +0 -21
  320. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/cont.h +0 -34
  321. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/dir.h +0 -16
  322. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/enc.h +0 -19
  323. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/encoding.h +0 -39
  324. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/enum.h +0 -18
  325. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/enumerator.h +0 -21
  326. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/error.h +0 -251
  327. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/eval.h +0 -43
  328. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/file.h +0 -38
  329. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/fixnum.h +0 -185
  330. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/hash.h +0 -194
  331. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/inits.h +0 -51
  332. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/io.h +0 -163
  333. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/load.h +0 -20
  334. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/loadpath.h +0 -16
  335. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/math.h +0 -23
  336. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/missing.h +0 -19
  337. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/numeric.h +0 -323
  338. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/object.h +0 -63
  339. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/parse.h +0 -131
  340. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/proc.h +0 -30
  341. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/process.h +0 -124
  342. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/ractor.h +0 -10
  343. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/random.h +0 -17
  344. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/range.h +0 -40
  345. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/rational.h +0 -73
  346. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/re.h +0 -33
  347. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/ruby_parser.h +0 -102
  348. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/signal.h +0 -25
  349. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/st.h +0 -11
  350. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/string.h +0 -203
  351. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/struct.h +0 -160
  352. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/symbol.h +0 -46
  353. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/thread.h +0 -112
  354. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/time.h +0 -34
  355. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/transcode.h +0 -23
  356. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/util.h +0 -27
  357. 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,159 +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
- void rb_str_tmp_frozen_release(VALUE str, VALUE tmp);
61
- VALUE rb_setup_fake_str(struct RString *fake_str, const char *name, long len, rb_encoding *enc);
62
- VALUE rb_str_upto_each(VALUE, VALUE, int, int (*each)(VALUE, VALUE), VALUE);
63
- VALUE rb_str_upto_endless_each(VALUE, int (*each)(VALUE, VALUE), VALUE);
64
- void rb_str_make_embedded(VALUE);
65
- size_t rb_str_size_as_embedded(VALUE);
66
- bool rb_str_reembeddable_p(VALUE);
67
- RUBY_SYMBOL_EXPORT_END
68
-
69
- VALUE rb_fstring_new(const char *ptr, long len);
70
- VALUE rb_obj_as_string_result(VALUE str, VALUE obj);
71
- VALUE rb_str_opt_plus(VALUE x, VALUE y);
72
- VALUE rb_str_concat_literals(size_t num, const VALUE *strary);
73
- VALUE rb_str_eql(VALUE str1, VALUE str2);
74
- VALUE rb_id_quote_unprintable(ID);
75
- VALUE rb_sym_proc_call(ID mid, int argc, const VALUE *argv, int kw_splat, VALUE passed_proc);
76
-
77
- struct rb_execution_context_struct;
78
- VALUE rb_ec_str_resurrect(struct rb_execution_context_struct *ec, VALUE str);
79
-
80
- #define rb_fstring_lit(str) rb_fstring_new((str), rb_strlen_lit(str))
81
- #define rb_fstring_literal(str) rb_fstring_lit(str)
82
- #define rb_fstring_enc_lit(str, enc) rb_fstring_enc_new((str), rb_strlen_lit(str), (enc))
83
- #define rb_fstring_enc_literal(str, enc) rb_fstring_enc_lit(str, enc)
84
-
85
- static inline VALUE
86
- QUOTE(VALUE v)
87
- {
88
- return rb_str_quote_unprintable(v);
89
- }
90
-
91
- static inline VALUE
92
- QUOTE_ID(ID i)
93
- {
94
- return rb_id_quote_unprintable(i);
95
- }
96
-
97
- static inline bool
98
- STR_EMBED_P(VALUE str)
99
- {
100
- return ! FL_TEST_RAW(str, STR_NOEMBED);
101
- }
102
-
103
- static inline bool
104
- STR_SHARED_P(VALUE str)
105
- {
106
- return FL_ALL_RAW(str, STR_NOEMBED | STR_SHARED);
107
- }
108
-
109
- static inline bool
110
- is_ascii_string(VALUE str)
111
- {
112
- return rb_enc_str_coderange(str) == ENC_CODERANGE_7BIT;
113
- }
114
-
115
- static inline bool
116
- is_broken_string(VALUE str)
117
- {
118
- return rb_enc_str_coderange(str) == ENC_CODERANGE_BROKEN;
119
- }
120
-
121
- static inline bool
122
- at_char_boundary(const char *s, const char *p, const char *e, rb_encoding *enc)
123
- {
124
- return rb_enc_left_char_head(s, p, e, enc) == p;
125
- }
126
-
127
- static inline bool
128
- at_char_right_boundary(const char *s, const char *p, const char *e, rb_encoding *enc)
129
- {
130
- RUBY_ASSERT(s <= p);
131
- RUBY_ASSERT(p <= e);
132
-
133
- return rb_enc_right_char_head(s, p, e, enc) == p;
134
- }
135
-
136
- /* expect tail call optimization */
137
- // YJIT needs this function to never allocate and never raise
138
- static inline VALUE
139
- rb_str_eql_internal(const VALUE str1, const VALUE str2)
140
- {
141
- const long len = RSTRING_LEN(str1);
142
- const char *ptr1, *ptr2;
143
-
144
- if (len != RSTRING_LEN(str2)) return Qfalse;
145
- if (!rb_str_comparable(str1, str2)) return Qfalse;
146
- if ((ptr1 = RSTRING_PTR(str1)) == (ptr2 = RSTRING_PTR(str2)))
147
- return Qtrue;
148
- if (memcmp(ptr1, ptr2, len) == 0)
149
- return Qtrue;
150
- return Qfalse;
151
- }
152
-
153
- #if __has_builtin(__builtin_constant_p)
154
- # define rb_fstring_cstr(str) \
155
- (__builtin_constant_p(str) ? \
156
- rb_fstring_new((str), (long)strlen(str)) : \
157
- (rb_fstring_cstr)(str))
158
- #endif
159
- #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 */