datadog-ruby_core_source 3.3.7 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +5 -0
  3. data/datadog-ruby_core_source.gemspec +1 -1
  4. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/id.h +2 -0
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/error.h +26 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/gc.h +1 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/parse.h +2 -1
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/proc.h +1 -0
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/sanitizers.h +24 -36
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/ast.h +10 -0
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/extension.h +1 -1
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/version.h +2 -2
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/ractor_core.h +1 -0
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/rubyparser.h +3 -1
  15. data/lib/datadog/ruby_core_source/version.rb +1 -1
  16. metadata +106 -209
  17. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/id.h +0 -347
  18. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/basic_operators.h +0 -64
  19. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/bits.h +0 -568
  20. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +0 -36
  21. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/fixnum.h +0 -184
  22. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/gc.h +0 -322
  23. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/imemo.h +0 -261
  24. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/io.h +0 -143
  25. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/ractor.h +0 -6
  26. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/sanitizers.h +0 -326
  27. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/string.h +0 -186
  28. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/thread.h +0 -85
  29. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/vm.h +0 -137
  30. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/method.h +0 -255
  31. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/ast.h +0 -7524
  32. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/defines.h +0 -242
  33. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/diagnostic.h +0 -450
  34. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +0 -336
  35. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/version.h +0 -29
  36. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism_compile.h +0 -99
  37. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ractor_core.h +0 -382
  38. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rubyparser.h +0 -1350
  39. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_pthread.h +0 -168
  40. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_core.h +0 -2222
  41. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/build_assert/build_assert.h +0 -40
  42. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/check_type/check_type.h +0 -63
  43. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/container_of/container_of.h +0 -142
  44. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/list/list.h +0 -791
  45. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/str/str.h +0 -17
  46. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/id_table.h +0 -39
  47. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/array.h +0 -152
  48. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/bignum.h +0 -244
  49. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/class.h +0 -283
  50. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/cmdlineopt.h +0 -65
  51. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/compar.h +0 -29
  52. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/compile.h +0 -34
  53. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/compilers.h +0 -107
  54. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/complex.h +0 -29
  55. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/cont.h +0 -35
  56. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/dir.h +0 -16
  57. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/enc.h +0 -19
  58. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/enum.h +0 -18
  59. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/enumerator.h +0 -21
  60. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/error.h +0 -218
  61. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/eval.h +0 -33
  62. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/file.h +0 -38
  63. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/hash.h +0 -192
  64. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/inits.h +0 -47
  65. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/load.h +0 -18
  66. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/loadpath.h +0 -16
  67. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/math.h +0 -23
  68. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/missing.h +0 -19
  69. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/numeric.h +0 -274
  70. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/object.h +0 -63
  71. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/parse.h +0 -129
  72. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/proc.h +0 -30
  73. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/process.h +0 -124
  74. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/random.h +0 -17
  75. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/range.h +0 -40
  76. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/rational.h +0 -71
  77. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/re.h +0 -28
  78. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/ruby_parser.h +0 -102
  79. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/serial.h +0 -23
  80. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/signal.h +0 -24
  81. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/st.h +0 -11
  82. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/static_assert.h +0 -16
  83. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/struct.h +0 -127
  84. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/symbol.h +0 -45
  85. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/time.h +0 -34
  86. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/transcode.h +0 -23
  87. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/util.h +0 -27
  88. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/variable.h +0 -72
  89. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/warnings.h +0 -16
  90. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal.h +0 -108
  91. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/iseq.h +0 -340
  92. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/node.h +0 -111
  93. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/parser_st.h +0 -162
  94. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/parser_value.h +0 -106
  95. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/encoding.h +0 -283
  96. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/extension.h +0 -19
  97. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/node.h +0 -129
  98. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/options.h +0 -396
  99. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/pack.h +0 -163
  100. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/parser.h +0 -933
  101. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/prettyprint.h +0 -34
  102. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/regexp.h +0 -43
  103. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/static_literals.h +0 -121
  104. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_buffer.h +0 -218
  105. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_char.h +0 -204
  106. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_constant_pool.h +0 -218
  107. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_integer.h +0 -126
  108. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_list.h +0 -97
  109. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_memchr.h +0 -29
  110. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_newline_list.h +0 -113
  111. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_string.h +0 -190
  112. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_strncasecmp.h +0 -32
  113. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_strpbrk.h +0 -46
  114. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ruby_assert.h +0 -14
  115. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ruby_atomic.h +0 -23
  116. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/shape.h +0 -234
  117. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/thread_none.h +0 -21
  118. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/vm_debug.h +0 -124
  119. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/vm_opts.h +0 -67
  120. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/build_assert/build_assert.h +0 -0
  121. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/check_type/check_type.h +0 -0
  122. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/container_of/container_of.h +0 -0
  123. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/list/list.h +0 -0
  124. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/str/str.h +0 -0
  125. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/id_table.h +0 -0
  126. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/array.h +0 -0
  127. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/basic_operators.h +0 -0
  128. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/bignum.h +0 -0
  129. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/bits.h +0 -0
  130. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/class.h +0 -0
  131. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/cmdlineopt.h +0 -0
  132. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compar.h +0 -0
  133. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compile.h +0 -0
  134. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compilers.h +0 -0
  135. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/complex.h +0 -0
  136. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/cont.h +0 -0
  137. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/dir.h +0 -0
  138. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enc.h +0 -0
  139. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/encoding.h +0 -0
  140. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enum.h +0 -0
  141. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enumerator.h +0 -0
  142. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/eval.h +0 -0
  143. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/file.h +0 -0
  144. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/fixnum.h +0 -0
  145. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/hash.h +0 -0
  146. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/imemo.h +0 -0
  147. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/inits.h +0 -0
  148. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/io.h +0 -0
  149. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/load.h +0 -0
  150. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/loadpath.h +0 -0
  151. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/math.h +0 -0
  152. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/missing.h +0 -0
  153. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/numeric.h +0 -0
  154. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/object.h +0 -0
  155. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/process.h +0 -0
  156. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/ractor.h +0 -0
  157. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/random.h +0 -0
  158. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/range.h +0 -0
  159. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/rational.h +0 -0
  160. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/re.h +0 -0
  161. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/ruby_parser.h +0 -0
  162. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/serial.h +0 -0
  163. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/signal.h +0 -0
  164. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/st.h +0 -0
  165. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/static_assert.h +0 -0
  166. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/string.h +0 -0
  167. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/struct.h +0 -0
  168. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/symbol.h +0 -0
  169. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/thread.h +0 -0
  170. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/time.h +0 -0
  171. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/transcode.h +0 -0
  172. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/util.h +0 -0
  173. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/variable.h +0 -0
  174. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/vm.h +0 -0
  175. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/warnings.h +0 -0
  176. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal.h +0 -0
  177. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/iseq.h +0 -0
  178. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/method.h +0 -0
  179. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/node.h +0 -0
  180. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/parser_st.h +0 -0
  181. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/parser_value.h +0 -0
  182. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/defines.h +0 -0
  183. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/diagnostic.h +0 -0
  184. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/encoding.h +0 -0
  185. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/node.h +0 -0
  186. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/options.h +0 -0
  187. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/pack.h +0 -0
  188. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/parser.h +0 -0
  189. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/prettyprint.h +0 -0
  190. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/prism.h +0 -0
  191. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/regexp.h +0 -0
  192. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/static_literals.h +0 -0
  193. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_buffer.h +0 -0
  194. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_char.h +0 -0
  195. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_constant_pool.h +0 -0
  196. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_integer.h +0 -0
  197. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_list.h +0 -0
  198. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_memchr.h +0 -0
  199. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_newline_list.h +0 -0
  200. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_string.h +0 -0
  201. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_strncasecmp.h +0 -0
  202. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_strpbrk.h +0 -0
  203. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism_compile.h +0 -0
  204. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ruby_assert.h +0 -0
  205. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ruby_atomic.h +0 -0
  206. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/shape.h +0 -0
  207. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/thread_none.h +0 -0
  208. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/thread_pthread.h +0 -0
  209. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/vm_core.h +0 -0
  210. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_debug.h +0 -0
  211. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_opts.h +0 -0
@@ -1,190 +0,0 @@
1
- /**
2
- * @file pm_string.h
3
- *
4
- * A generic string type that can have various ownership semantics.
5
- */
6
- #ifndef PRISM_STRING_H
7
- #define PRISM_STRING_H
8
-
9
- #include "prism/defines.h"
10
-
11
- #include <assert.h>
12
- #include <errno.h>
13
- #include <stdbool.h>
14
- #include <stddef.h>
15
- #include <stdlib.h>
16
- #include <string.h>
17
-
18
- // The following headers are necessary to read files using demand paging.
19
- #ifdef _WIN32
20
- #include <windows.h>
21
- #elif defined(_POSIX_MAPPED_FILES)
22
- #include <fcntl.h>
23
- #include <sys/mman.h>
24
- #include <sys/stat.h>
25
- #elif defined(PRISM_HAS_FILESYSTEM)
26
- #include <fcntl.h>
27
- #include <sys/stat.h>
28
- #endif
29
-
30
- /**
31
- * A generic string type that can have various ownership semantics.
32
- */
33
- typedef struct {
34
- /** A pointer to the start of the string. */
35
- const uint8_t *source;
36
-
37
- /** The length of the string in bytes of memory. */
38
- size_t length;
39
-
40
- /** The type of the string. This field determines how the string should be freed. */
41
- enum {
42
- /** This string is a constant string, and should not be freed. */
43
- PM_STRING_CONSTANT,
44
-
45
- /** This is a slice of another string, and should not be freed. */
46
- PM_STRING_SHARED,
47
-
48
- /** This string owns its memory, and should be freed using `pm_string_free`. */
49
- PM_STRING_OWNED,
50
-
51
- #ifdef PRISM_HAS_MMAP
52
- /** This string is a memory-mapped file, and should be freed using `pm_string_free`. */
53
- PM_STRING_MAPPED
54
- #endif
55
- } type;
56
- } pm_string_t;
57
-
58
- /**
59
- * Returns the size of the pm_string_t struct. This is necessary to allocate the
60
- * correct amount of memory in the FFI backend.
61
- *
62
- * @return The size of the pm_string_t struct.
63
- */
64
- PRISM_EXPORTED_FUNCTION size_t pm_string_sizeof(void);
65
-
66
- /**
67
- * Defines an empty string. This is useful for initializing a string that will
68
- * be filled in later.
69
- */
70
- #define PM_STRING_EMPTY ((pm_string_t) { .type = PM_STRING_CONSTANT, .source = NULL, .length = 0 })
71
-
72
- /**
73
- * Initialize a shared string that is based on initial input.
74
- *
75
- * @param string The string to initialize.
76
- * @param start The start of the string.
77
- * @param end The end of the string.
78
- */
79
- void pm_string_shared_init(pm_string_t *string, const uint8_t *start, const uint8_t *end);
80
-
81
- /**
82
- * Initialize an owned string that is responsible for freeing allocated memory.
83
- *
84
- * @param string The string to initialize.
85
- * @param source The source of the string.
86
- * @param length The length of the string.
87
- */
88
- void pm_string_owned_init(pm_string_t *string, uint8_t *source, size_t length);
89
-
90
- /**
91
- * Initialize a constant string that doesn't own its memory source.
92
- *
93
- * @param string The string to initialize.
94
- * @param source The source of the string.
95
- * @param length The length of the string.
96
- */
97
- void pm_string_constant_init(pm_string_t *string, const char *source, size_t length);
98
-
99
- /**
100
- * Represents the result of calling pm_string_mapped_init or
101
- * pm_string_file_init. We need this additional information because there is
102
- * not a platform-agnostic way to indicate that the file that was attempted to
103
- * be opened was a directory.
104
- */
105
- typedef enum {
106
- /** Indicates that the string was successfully initialized. */
107
- PM_STRING_INIT_SUCCESS = 0,
108
- /**
109
- * Indicates a generic error from a string_*_init function, where the type
110
- * of error should be read from `errno` or `GetLastError()`.
111
- */
112
- PM_STRING_INIT_ERROR_GENERIC = 1,
113
- /**
114
- * Indicates that the file that was attempted to be opened was a directory.
115
- */
116
- PM_STRING_INIT_ERROR_DIRECTORY = 2
117
- } pm_string_init_result_t;
118
-
119
- /**
120
- * Read the file indicated by the filepath parameter into source and load its
121
- * contents and size into the given `pm_string_t`. The given `pm_string_t`
122
- * should be freed using `pm_string_free` when it is no longer used.
123
- *
124
- * We want to use demand paging as much as possible in order to avoid having to
125
- * read the entire file into memory (which could be detrimental to performance
126
- * for large files). This means that if we're on windows we'll use
127
- * `MapViewOfFile`, on POSIX systems that have access to `mmap` we'll use
128
- * `mmap`, and on other POSIX systems we'll use `read`.
129
- *
130
- * @param string The string to initialize.
131
- * @param filepath The filepath to read.
132
- * @return The success of the read, indicated by the value of the enum.
133
- */
134
- PRISM_EXPORTED_FUNCTION pm_string_init_result_t pm_string_mapped_init(pm_string_t *string, const char *filepath);
135
-
136
- /**
137
- * Read the file indicated by the filepath parameter into source and load its
138
- * contents and size into the given `pm_string_t`. The given `pm_string_t`
139
- * should be freed using `pm_string_free` when it is no longer used.
140
- *
141
- * @param string The string to initialize.
142
- * @param filepath The filepath to read.
143
- * @return The success of the read, indicated by the value of the enum.
144
- */
145
- PRISM_EXPORTED_FUNCTION pm_string_init_result_t pm_string_file_init(pm_string_t *string, const char *filepath);
146
-
147
- /**
148
- * Ensure the string is owned. If it is not, then reinitialize it as owned and
149
- * copy over the previous source.
150
- *
151
- * @param string The string to ensure is owned.
152
- */
153
- void pm_string_ensure_owned(pm_string_t *string);
154
-
155
- /**
156
- * Compare the underlying lengths and bytes of two strings. Returns 0 if the
157
- * strings are equal, a negative number if the left string is less than the
158
- * right string, and a positive number if the left string is greater than the
159
- * right string.
160
- *
161
- * @param left The left string to compare.
162
- * @param right The right string to compare.
163
- * @return The comparison result.
164
- */
165
- int pm_string_compare(const pm_string_t *left, const pm_string_t *right);
166
-
167
- /**
168
- * Returns the length associated with the string.
169
- *
170
- * @param string The string to get the length of.
171
- * @return The length of the string.
172
- */
173
- PRISM_EXPORTED_FUNCTION size_t pm_string_length(const pm_string_t *string);
174
-
175
- /**
176
- * Returns the start pointer associated with the string.
177
- *
178
- * @param string The string to get the start pointer of.
179
- * @return The start pointer of the string.
180
- */
181
- PRISM_EXPORTED_FUNCTION const uint8_t * pm_string_source(const pm_string_t *string);
182
-
183
- /**
184
- * Free the associated memory of the given string.
185
- *
186
- * @param string The string to free.
187
- */
188
- PRISM_EXPORTED_FUNCTION void pm_string_free(pm_string_t *string);
189
-
190
- #endif
@@ -1,32 +0,0 @@
1
- /**
2
- * @file pm_strncasecmp.h
3
- *
4
- * A custom strncasecmp implementation.
5
- */
6
- #ifndef PRISM_STRNCASECMP_H
7
- #define PRISM_STRNCASECMP_H
8
-
9
- #include "prism/defines.h"
10
-
11
- #include <ctype.h>
12
- #include <stddef.h>
13
- #include <stdint.h>
14
-
15
- /**
16
- * Compare two strings, ignoring case, up to the given length. Returns 0 if the
17
- * strings are equal, a negative number if string1 is less than string2, or a
18
- * positive number if string1 is greater than string2.
19
- *
20
- * Note that this is effectively our own implementation of strncasecmp, but it's
21
- * not available on all of the platforms we want to support so we're rolling it
22
- * here.
23
- *
24
- * @param string1 The first string to compare.
25
- * @param string2 The second string to compare
26
- * @param length The maximum number of characters to compare.
27
- * @return 0 if the strings are equal, a negative number if string1 is less than
28
- * string2, or a positive number if string1 is greater than string2.
29
- */
30
- int pm_strncasecmp(const uint8_t *string1, const uint8_t *string2, size_t length);
31
-
32
- #endif
@@ -1,46 +0,0 @@
1
- /**
2
- * @file pm_strpbrk.h
3
- *
4
- * A custom strpbrk implementation.
5
- */
6
- #ifndef PRISM_STRPBRK_H
7
- #define PRISM_STRPBRK_H
8
-
9
- #include "prism/defines.h"
10
- #include "prism/diagnostic.h"
11
- #include "prism/parser.h"
12
-
13
- #include <stddef.h>
14
- #include <string.h>
15
-
16
- /**
17
- * Here we have rolled our own version of strpbrk. The standard library strpbrk
18
- * has undefined behavior when the source string is not null-terminated. We want
19
- * to support strings that are not null-terminated because pm_parse does not
20
- * have the contract that the string is null-terminated. (This is desirable
21
- * because it means the extension can call pm_parse with the result of a call to
22
- * mmap).
23
- *
24
- * The standard library strpbrk also does not support passing a maximum length
25
- * to search. We want to support this for the reason mentioned above, but we
26
- * also don't want it to stop on null bytes. Ruby actually allows null bytes
27
- * within strings, comments, regular expressions, etc. So we need to be able to
28
- * skip past them.
29
- *
30
- * Finally, we want to support encodings wherein the charset could contain
31
- * characters that are trailing bytes of multi-byte characters. For example, in
32
- * Shift-JIS, the backslash character can be a trailing byte. In that case we
33
- * need to take a slower path and iterate one multi-byte character at a time.
34
- *
35
- * @param parser The parser.
36
- * @param source The source to search.
37
- * @param charset The charset to search for.
38
- * @param length The maximum number of bytes to search.
39
- * @param validate Whether to validate that the source string is valid in the
40
- * current encoding of the parser.
41
- * @return A pointer to the first character in the source string that is in the
42
- * charset, or NULL if no such character exists.
43
- */
44
- const uint8_t * pm_strpbrk(pm_parser_t *parser, const uint8_t *source, const uint8_t *charset, ptrdiff_t length, bool validate);
45
-
46
- #endif
@@ -1,14 +0,0 @@
1
- #ifndef RUBY_TOPLEVEL_ASSERT_H /*-*-C-*-vi:se ft=c:*/
2
- #define RUBY_TOPLEVEL_ASSERT_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
- */
10
- #include "ruby/assert.h"
11
- #undef assert
12
- #define assert RUBY_ASSERT_NDEBUG
13
-
14
- #endif /* RUBY_TOPLEVEL_ASSERT_H */
@@ -1,23 +0,0 @@
1
- #include "ruby/atomic.h"
2
-
3
- /* shim macros only */
4
- #define ATOMIC_ADD(var, val) RUBY_ATOMIC_ADD(var, val)
5
- #define ATOMIC_CAS(var, oldval, newval) RUBY_ATOMIC_CAS(var, oldval, newval)
6
- #define ATOMIC_DEC(var) RUBY_ATOMIC_DEC(var)
7
- #define ATOMIC_EXCHANGE(var, val) RUBY_ATOMIC_EXCHANGE(var, val)
8
- #define ATOMIC_FETCH_ADD(var, val) RUBY_ATOMIC_FETCH_ADD(var, val)
9
- #define ATOMIC_FETCH_SUB(var, val) RUBY_ATOMIC_FETCH_SUB(var, val)
10
- #define ATOMIC_INC(var) RUBY_ATOMIC_INC(var)
11
- #define ATOMIC_OR(var, val) RUBY_ATOMIC_OR(var, val)
12
- #define ATOMIC_PTR_CAS(var, oldval, newval) RUBY_ATOMIC_PTR_CAS(var, oldval, newval)
13
- #define ATOMIC_PTR_EXCHANGE(var, val) RUBY_ATOMIC_PTR_EXCHANGE(var, val)
14
- #define ATOMIC_SET(var, val) RUBY_ATOMIC_SET(var, val)
15
- #define ATOMIC_SIZE_ADD(var, val) RUBY_ATOMIC_SIZE_ADD(var, val)
16
- #define ATOMIC_SIZE_CAS(var, oldval, newval) RUBY_ATOMIC_SIZE_CAS(var, oldval, newval)
17
- #define ATOMIC_SIZE_DEC(var) RUBY_ATOMIC_SIZE_DEC(var)
18
- #define ATOMIC_SIZE_EXCHANGE(var, val) RUBY_ATOMIC_SIZE_EXCHANGE(var, val)
19
- #define ATOMIC_SIZE_INC(var) RUBY_ATOMIC_SIZE_INC(var)
20
- #define ATOMIC_SIZE_SUB(var, val) RUBY_ATOMIC_SIZE_SUB(var, val)
21
- #define ATOMIC_SUB(var, val) RUBY_ATOMIC_SUB(var, val)
22
- #define ATOMIC_VALUE_CAS(var, oldval, val) RUBY_ATOMIC_VALUE_CAS(var, oldval, val)
23
- #define ATOMIC_VALUE_EXCHANGE(var, val) RUBY_ATOMIC_VALUE_EXCHANGE(var, val)
@@ -1,234 +0,0 @@
1
- #ifndef RUBY_SHAPE_H
2
- #define RUBY_SHAPE_H
3
-
4
- #include "internal/gc.h"
5
-
6
- #if (SIZEOF_UINT64_T <= SIZEOF_VALUE)
7
-
8
- #define SIZEOF_SHAPE_T 4
9
- #define SHAPE_IN_BASIC_FLAGS 1
10
- typedef uint32_t attr_index_t;
11
- typedef uint32_t shape_id_t;
12
- # define SHAPE_ID_NUM_BITS 32
13
-
14
- #else
15
-
16
- #define SIZEOF_SHAPE_T 2
17
- #define SHAPE_IN_BASIC_FLAGS 0
18
- typedef uint16_t attr_index_t;
19
- typedef uint16_t shape_id_t;
20
- # define SHAPE_ID_NUM_BITS 16
21
-
22
- #endif
23
-
24
- typedef uint32_t redblack_id_t;
25
-
26
- #define MAX_IVARS (attr_index_t)(-1)
27
-
28
- # define SHAPE_MASK (((uintptr_t)1 << SHAPE_ID_NUM_BITS) - 1)
29
- # define SHAPE_FLAG_MASK (((VALUE)-1) >> SHAPE_ID_NUM_BITS)
30
-
31
- # define SHAPE_FLAG_SHIFT ((SIZEOF_VALUE * 8) - SHAPE_ID_NUM_BITS)
32
-
33
- # define SHAPE_MAX_VARIATIONS 8
34
-
35
- # define INVALID_SHAPE_ID SHAPE_MASK
36
- # define ROOT_SHAPE_ID 0x0
37
-
38
- # define SPECIAL_CONST_SHAPE_ID (ROOT_SHAPE_ID + 1)
39
- # define OBJ_TOO_COMPLEX_SHAPE_ID (SPECIAL_CONST_SHAPE_ID + 1)
40
- # define FIRST_T_OBJECT_SHAPE_ID (OBJ_TOO_COMPLEX_SHAPE_ID + 1)
41
-
42
- typedef struct redblack_node redblack_node_t;
43
-
44
- struct rb_shape {
45
- struct rb_id_table * edges; // id_table from ID (ivar) to next shape
46
- ID edge_name; // ID (ivar) for transition from parent to rb_shape
47
- attr_index_t next_iv_index;
48
- uint32_t capacity; // Total capacity of the object with this shape
49
- uint8_t type;
50
- uint8_t heap_index;
51
- shape_id_t parent_id;
52
- redblack_node_t * ancestor_index;
53
- };
54
-
55
- typedef struct rb_shape rb_shape_t;
56
-
57
- struct redblack_node {
58
- ID key;
59
- rb_shape_t * value;
60
- redblack_id_t l;
61
- redblack_id_t r;
62
- };
63
-
64
- enum shape_type {
65
- SHAPE_ROOT,
66
- SHAPE_IVAR,
67
- SHAPE_FROZEN,
68
- SHAPE_T_OBJECT,
69
- SHAPE_OBJ_TOO_COMPLEX,
70
- };
71
-
72
- typedef struct {
73
- /* object shapes */
74
- rb_shape_t *shape_list;
75
- rb_shape_t *root_shape;
76
- shape_id_t next_shape_id;
77
-
78
- redblack_node_t *shape_cache;
79
- unsigned int cache_size;
80
- } rb_shape_tree_t;
81
- RUBY_EXTERN rb_shape_tree_t *rb_shape_tree_ptr;
82
-
83
- static inline rb_shape_tree_t *
84
- rb_current_shape_tree(void)
85
- {
86
- return rb_shape_tree_ptr;
87
- }
88
- #define GET_SHAPE_TREE() rb_current_shape_tree()
89
-
90
- static inline shape_id_t
91
- get_shape_id_from_flags(VALUE obj)
92
- {
93
- RUBY_ASSERT(!RB_SPECIAL_CONST_P(obj));
94
- return (shape_id_t)(SHAPE_MASK & ((RBASIC(obj)->flags) >> SHAPE_FLAG_SHIFT));
95
- }
96
-
97
- static inline void
98
- set_shape_id_in_flags(VALUE obj, shape_id_t shape_id)
99
- {
100
- // Ractors are occupying the upper 32 bits of flags, but only in debug mode
101
- // Object shapes are occupying top bits
102
- RBASIC(obj)->flags &= SHAPE_FLAG_MASK;
103
- RBASIC(obj)->flags |= ((VALUE)(shape_id) << SHAPE_FLAG_SHIFT);
104
- }
105
-
106
-
107
- #if SHAPE_IN_BASIC_FLAGS
108
- static inline shape_id_t
109
- RBASIC_SHAPE_ID(VALUE obj)
110
- {
111
- return get_shape_id_from_flags(obj);
112
- }
113
-
114
- static inline void
115
- RBASIC_SET_SHAPE_ID(VALUE obj, shape_id_t shape_id)
116
- {
117
- set_shape_id_in_flags(obj, shape_id);
118
- }
119
- #endif
120
-
121
- static inline shape_id_t
122
- ROBJECT_SHAPE_ID(VALUE obj)
123
- {
124
- RBIMPL_ASSERT_TYPE(obj, RUBY_T_OBJECT);
125
- return get_shape_id_from_flags(obj);
126
- }
127
-
128
- static inline void
129
- ROBJECT_SET_SHAPE_ID(VALUE obj, shape_id_t shape_id)
130
- {
131
- RBIMPL_ASSERT_TYPE(obj, RUBY_T_OBJECT);
132
- set_shape_id_in_flags(obj, shape_id);
133
- }
134
-
135
- static inline shape_id_t
136
- RCLASS_SHAPE_ID(VALUE obj)
137
- {
138
- RUBY_ASSERT(RB_TYPE_P(obj, T_CLASS) || RB_TYPE_P(obj, T_MODULE));
139
- return get_shape_id_from_flags(obj);
140
- }
141
-
142
- static inline void
143
- RCLASS_SET_SHAPE_ID(VALUE obj, shape_id_t shape_id)
144
- {
145
- RUBY_ASSERT(RB_TYPE_P(obj, T_CLASS) || RB_TYPE_P(obj, T_MODULE));
146
- set_shape_id_in_flags(obj, shape_id);
147
- }
148
-
149
- rb_shape_t * rb_shape_get_root_shape(void);
150
- int32_t rb_shape_id_offset(void);
151
-
152
- rb_shape_t * rb_shape_get_parent(rb_shape_t * shape);
153
-
154
- RUBY_FUNC_EXPORTED rb_shape_t *rb_shape_get_shape_by_id(shape_id_t shape_id);
155
- RUBY_FUNC_EXPORTED shape_id_t rb_shape_get_shape_id(VALUE obj);
156
- rb_shape_t * rb_shape_get_next_iv_shape(rb_shape_t * shape, ID id);
157
- bool rb_shape_get_iv_index(rb_shape_t * shape, ID id, attr_index_t * value);
158
- bool rb_shape_get_iv_index_with_hint(shape_id_t shape_id, ID id, attr_index_t * value, shape_id_t *shape_id_hint);
159
- RUBY_FUNC_EXPORTED bool rb_shape_obj_too_complex(VALUE obj);
160
-
161
- void rb_shape_set_shape(VALUE obj, rb_shape_t* shape);
162
- rb_shape_t* rb_shape_get_shape(VALUE obj);
163
- int rb_shape_frozen_shape_p(rb_shape_t* shape);
164
- rb_shape_t* rb_shape_transition_shape_frozen(VALUE obj);
165
- bool rb_shape_transition_shape_remove_ivar(VALUE obj, ID id, rb_shape_t *shape, VALUE * removed);
166
- rb_shape_t* rb_shape_get_next(rb_shape_t* shape, VALUE obj, ID id);
167
- rb_shape_t* rb_shape_get_next_no_warnings(rb_shape_t* shape, VALUE obj, ID id);
168
-
169
- rb_shape_t * rb_shape_rebuild_shape(rb_shape_t * initial_shape, rb_shape_t * dest_shape);
170
-
171
- static inline uint32_t
172
- ROBJECT_IV_CAPACITY(VALUE obj)
173
- {
174
- RBIMPL_ASSERT_TYPE(obj, RUBY_T_OBJECT);
175
- // Asking for capacity doesn't make sense when the object is using
176
- // a hash table for storing instance variables
177
- RUBY_ASSERT(!rb_shape_obj_too_complex(obj));
178
- return rb_shape_get_shape_by_id(ROBJECT_SHAPE_ID(obj))->capacity;
179
- }
180
-
181
- static inline st_table *
182
- ROBJECT_IV_HASH(VALUE obj)
183
- {
184
- RBIMPL_ASSERT_TYPE(obj, RUBY_T_OBJECT);
185
- RUBY_ASSERT(rb_shape_obj_too_complex(obj));
186
- return (st_table *)ROBJECT(obj)->as.heap.ivptr;
187
- }
188
-
189
- static inline void
190
- ROBJECT_SET_IV_HASH(VALUE obj, const st_table *tbl)
191
- {
192
- RBIMPL_ASSERT_TYPE(obj, RUBY_T_OBJECT);
193
- RUBY_ASSERT(rb_shape_obj_too_complex(obj));
194
- ROBJECT(obj)->as.heap.ivptr = (VALUE *)tbl;
195
- }
196
-
197
- size_t rb_id_table_size(const struct rb_id_table *tbl);
198
-
199
- static inline uint32_t
200
- ROBJECT_IV_COUNT(VALUE obj)
201
- {
202
- if (rb_shape_obj_too_complex(obj)) {
203
- return (uint32_t)rb_st_table_size(ROBJECT_IV_HASH(obj));
204
- }
205
- else {
206
- RBIMPL_ASSERT_TYPE(obj, RUBY_T_OBJECT);
207
- RUBY_ASSERT(!rb_shape_obj_too_complex(obj));
208
- return rb_shape_get_shape_by_id(ROBJECT_SHAPE_ID(obj))->next_iv_index;
209
- }
210
- }
211
-
212
- static inline uint32_t
213
- RBASIC_IV_COUNT(VALUE obj)
214
- {
215
- return rb_shape_get_shape_by_id(rb_shape_get_shape_id(obj))->next_iv_index;
216
- }
217
-
218
- rb_shape_t *rb_shape_traverse_from_new_root(rb_shape_t *initial_shape, rb_shape_t *orig_shape);
219
-
220
- bool rb_shape_set_shape_id(VALUE obj, shape_id_t shape_id);
221
-
222
- VALUE rb_obj_debug_shape(VALUE self, VALUE obj);
223
-
224
- // For ext/objspace
225
- RUBY_SYMBOL_EXPORT_BEGIN
226
- typedef void each_shape_callback(rb_shape_t * shape, void *data);
227
- void rb_shape_each_shape(each_shape_callback callback, void *data);
228
- size_t rb_shape_memsize(rb_shape_t *shape);
229
- size_t rb_shape_edges_count(rb_shape_t *shape);
230
- size_t rb_shape_depth(rb_shape_t *shape);
231
- shape_id_t rb_shape_id(rb_shape_t * shape);
232
- RUBY_SYMBOL_EXPORT_END
233
-
234
- #endif
@@ -1,21 +0,0 @@
1
- #ifndef RUBY_THREAD_NONE_H
2
- #define RUBY_THREAD_NONE_H
3
-
4
- #define RB_NATIVETHREAD_LOCK_INIT (void)(0)
5
- #define RB_NATIVETHREAD_COND_INIT (void)(0)
6
-
7
- // no-thread impl doesn't use TLS but define this to avoid using tls key
8
- // based implementation in vm.c
9
- #define RB_THREAD_LOCAL_SPECIFIER
10
-
11
- struct rb_native_thread {
12
- void *thread_id; // NULL
13
- };
14
-
15
- struct rb_thread_sched_item {};
16
- struct rb_thread_sched {};
17
-
18
- RUBY_EXTERN struct rb_execution_context_struct *ruby_current_ec;
19
- NOINLINE(struct rb_execution_context_struct *rb_current_ec_noinline(void)); // for assertions
20
-
21
- #endif /* RUBY_THREAD_NONE_H */
@@ -1,124 +0,0 @@
1
- #ifndef RUBY_DEBUG_H
2
- #define RUBY_DEBUG_H
3
- /**********************************************************************
4
-
5
- vm_debug.h - YARV Debug function interface
6
-
7
- $Author$
8
- created at: 04/08/25 02:33:49 JST
9
-
10
- Copyright (C) 2004-2007 Koichi Sasada
11
-
12
- **********************************************************************/
13
-
14
- #include "ruby/ruby.h"
15
-
16
- RUBY_SYMBOL_EXPORT_BEGIN
17
-
18
- #define dpv(h,v) ruby_debug_print_value(-1, 0, (h), (v))
19
- #define dp(v) ruby_debug_print_value(-1, 0, "", (v))
20
- #define dpi(i) ruby_debug_print_id(-1, 0, "", (i))
21
- #define dpn(n) ruby_debug_print_node(-1, 0, "", (n))
22
-
23
- struct RNode;
24
-
25
- VALUE ruby_debug_print_value(int level, int debug_level, const char *header, VALUE v);
26
- void ruby_debug_print_v(VALUE v);
27
- ID ruby_debug_print_id(int level, int debug_level, const char *header, ID id);
28
- struct RNode *ruby_debug_print_node(int level, int debug_level, const char *header, const struct RNode *node);
29
- void ruby_debug_print_n(const struct RNode *node);
30
- int ruby_debug_print_indent(int level, int debug_level, int indent_level);
31
- void ruby_debug_gc_check_func(void);
32
- void ruby_set_debug_option(const char *str);
33
-
34
- RUBY_SYMBOL_EXPORT_END
35
-
36
- #ifndef USE_RUBY_DEBUG_LOG
37
- #define USE_RUBY_DEBUG_LOG 0
38
- #endif
39
-
40
- /* RUBY_DEBUG_LOG: Logging debug information mechanism
41
- *
42
- * This feature provides a mechanism to store logging information
43
- * to a file, stderr or memory space with simple macros.
44
- *
45
- * The following information will be stored.
46
- * * (1) __FILE__, __LINE__ in C
47
- * * (2) __FILE__, __LINE__ in Ruby
48
- * * (3) __func__ in C (message title)
49
- * * (4) given string with sprintf format
50
- * * (5) Thread number (if multiple threads are running)
51
- *
52
- * This feature is enabled only USE_RUBY_DEBUG_LOG is enabled.
53
- * Release version should not enable it.
54
- *
55
- * Running with the `RUBY_DEBUG_LOG` environment variable enables
56
- * this feature.
57
- *
58
- * # logging into a file
59
- * RUBY_DEBUG_LOG=/path/to/file STDERR
60
- *
61
- * # logging into STDERR
62
- * RUBY_DEBUG_LOG=stderr
63
- *
64
- * # logging into memory space (check with a debugger)
65
- * # It will help if the timing is important.
66
- * RUBY_DEBUG_LOG=mem
67
- *
68
- * RUBY_DEBUG_LOG_FILTER environment variable can specify the filter string.
69
- * If "(3) __func__ in C (message title)" contains the specified string, the
70
- * information will be stored (example: RUBY_DEBUG_LOG_FILTER=str will enable
71
- * only on str related information).
72
- *
73
- * In a MRI source code, you can use the following macros:
74
- * * RUBY_DEBUG_LOG(fmt, ...): Above (1) to (4) will be logged.
75
- * * RUBY_DEBUG_LOG2(file, line, fmt, ...):
76
- * Same as RUBY_DEBUG_LOG(), but (1) will be replaced with given file, line.
77
- */
78
-
79
- extern enum ruby_debug_log_mode {
80
- ruby_debug_log_disabled = 0x00,
81
- ruby_debug_log_memory = 0x01,
82
- ruby_debug_log_stderr = 0x02,
83
- ruby_debug_log_file = 0x04,
84
- } ruby_debug_log_mode;
85
-
86
- RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, 4, 5)
87
- void ruby_debug_log(const char *file, int line, const char *func_name, const char *fmt, ...);
88
- void ruby_debug_log_print(unsigned int n);
89
- bool ruby_debug_log_filter(const char *func_name, const char *file_name);
90
-
91
- #if RBIMPL_COMPILER_IS(GCC) && defined(__OPTIMIZE__)
92
- # define ruby_debug_log(...) \
93
- RB_GNUC_EXTENSION_BLOCK( \
94
- RBIMPL_WARNING_PUSH(); \
95
- RBIMPL_WARNING_IGNORED(-Wformat-zero-length); \
96
- ruby_debug_log(__VA_ARGS__); \
97
- RBIMPL_WARNING_POP())
98
- #endif
99
-
100
- // convenient macro to log even if the USE_RUBY_DEBUG_LOG macro is not specified.
101
- // You can use this macro for temporary usage (you should not commit it).
102
- #define _RUBY_DEBUG_LOG(...) ruby_debug_log(__FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING, "" __VA_ARGS__)
103
-
104
- #if USE_RUBY_DEBUG_LOG
105
- # define RUBY_DEBUG_LOG_ENABLED(func_name, file_name) \
106
- (ruby_debug_log_mode && ruby_debug_log_filter(func_name, file_name))
107
-
108
- #define RUBY_DEBUG_LOG(...) do { \
109
- if (RUBY_DEBUG_LOG_ENABLED(RUBY_FUNCTION_NAME_STRING, __FILE__)) \
110
- ruby_debug_log(__FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING, "" __VA_ARGS__); \
111
- } while (0)
112
-
113
- #define RUBY_DEBUG_LOG2(file, line, ...) do { \
114
- if (RUBY_DEBUG_LOG_ENABLED(RUBY_FUNCTION_NAME_STRING, file)) \
115
- ruby_debug_log(file, line, RUBY_FUNCTION_NAME_STRING, "" __VA_ARGS__); \
116
- } while (0)
117
-
118
- #else // USE_RUBY_DEBUG_LOG
119
- // do nothing
120
- #define RUBY_DEBUG_LOG(...)
121
- #define RUBY_DEBUG_LOG2(file, line, ...)
122
- #endif // USE_RUBY_DEBUG_LOG
123
-
124
- #endif /* RUBY_DEBUG_H */