datadog-ruby_core_source 3.3.6 → 3.3.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (374) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +7 -1
  3. data/datadog-ruby_core_source.gemspec +6 -1
  4. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/id.h +7 -0
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/array.h +1 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/basic_operators.h +2 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/bits.h +82 -0
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/class.h +1 -1
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/encoding.h +2 -0
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/error.h +2 -0
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/fixnum.h +1 -0
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/gc.h +23 -28
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/hash.h +1 -0
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/imemo.h +7 -1
  15. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/io.h +4 -1
  16. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/parse.h +14 -2
  17. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/ractor.h +4 -0
  18. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/sanitizers.h +36 -3
  19. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/string.h +34 -18
  20. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/thread.h +29 -0
  21. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/vm.h +3 -3
  22. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/method.h +1 -0
  23. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/ast.h +2146 -453
  24. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/defines.h +44 -7
  25. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/diagnostic.h +24 -6
  26. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/extension.h +2 -2
  27. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/node.h +0 -21
  28. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/options.h +94 -3
  29. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/parser.h +82 -40
  30. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/prism.h +47 -11
  31. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/regexp.h +43 -0
  32. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/static_literals.h +3 -2
  33. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_char.h +1 -2
  34. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_constant_pool.h +0 -8
  35. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_integer.h +22 -15
  36. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_newline_list.h +11 -0
  37. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_string.h +28 -12
  38. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/version.h +3 -3
  39. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism_compile.h +23 -12
  40. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ractor_core.h +8 -20
  41. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/rubyparser.h +168 -249
  42. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/shape.h +2 -1
  43. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/thread_pthread.h +26 -25
  44. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_core.h +62 -48
  45. data/lib/datadog/ruby_core_source/version.rb +1 -1
  46. data/lib/datadog/ruby_core_source.rb +14 -1
  47. metadata +109 -372
  48. data/.github/workflows/publish.yml +0 -18
  49. data/.gitignore +0 -7
  50. data/.idea/vcs.xml +0 -28
  51. data/CHANGELOG.md +0 -284
  52. data/CONTRIBUTING.md +0 -2
  53. data/Gemfile +0 -4
  54. data/Rakefile +0 -73
  55. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +0 -21
  56. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +0 -50
  57. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +0 -109
  58. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +0 -51
  59. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +0 -69
  60. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +0 -334
  61. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +0 -116
  62. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +0 -31
  63. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +0 -217
  64. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +0 -1570
  65. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +0 -746
  66. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +0 -198
  67. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +0 -1601
  68. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +0 -103
  69. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +0 -61
  70. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +0 -206
  71. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +0 -43
  72. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +0 -254
  73. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +0 -938
  74. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +0 -370
  75. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +0 -1
  76. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +0 -48
  77. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +0 -108
  78. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +0 -36
  79. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +0 -42
  80. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +0 -139
  81. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +0 -73
  82. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +0 -3667
  83. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +0 -213
  84. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +0 -192
  85. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +0 -255
  86. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +0 -214
  87. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +0 -21
  88. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +0 -51
  89. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +0 -109
  90. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +0 -51
  91. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +0 -69
  92. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +0 -334
  93. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +0 -116
  94. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +0 -31
  95. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +0 -217
  96. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +0 -1570
  97. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +0 -746
  98. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +0 -198
  99. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +0 -1601
  100. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +0 -103
  101. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +0 -61
  102. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +0 -206
  103. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +0 -43
  104. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +0 -254
  105. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +0 -938
  106. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +0 -370
  107. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +0 -1
  108. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +0 -48
  109. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +0 -108
  110. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +0 -36
  111. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +0 -42
  112. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +0 -139
  113. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +0 -73
  114. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +0 -3667
  115. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +0 -213
  116. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +0 -192
  117. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +0 -255
  118. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +0 -214
  119. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +0 -21
  120. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +0 -51
  121. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +0 -109
  122. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +0 -51
  123. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +0 -69
  124. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +0 -334
  125. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +0 -116
  126. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +0 -31
  127. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +0 -217
  128. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +0 -1570
  129. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +0 -746
  130. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +0 -198
  131. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +0 -1601
  132. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +0 -103
  133. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +0 -61
  134. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +0 -200
  135. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +0 -43
  136. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +0 -254
  137. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +0 -938
  138. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +0 -370
  139. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +0 -1
  140. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +0 -48
  141. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +0 -108
  142. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +0 -36
  143. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +0 -42
  144. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +0 -139
  145. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +0 -73
  146. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +0 -3667
  147. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +0 -213
  148. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +0 -192
  149. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +0 -255
  150. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +0 -214
  151. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +0 -22
  152. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +0 -117
  153. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +0 -53
  154. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +0 -246
  155. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +0 -423
  156. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +0 -32
  157. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +0 -70
  158. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +0 -343
  159. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +0 -227
  160. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +0 -251
  161. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +0 -9215
  162. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +0 -791
  163. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +0 -212
  164. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +0 -128
  165. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +0 -43
  166. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +0 -243
  167. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +0 -564
  168. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +0 -32
  169. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +0 -42
  170. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +0 -254
  171. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +0 -1004
  172. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +0 -371
  173. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +0 -5
  174. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +0 -101
  175. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +0 -164
  176. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +0 -48
  177. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +0 -118
  178. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +0 -58
  179. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +0 -58
  180. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +0 -138
  181. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +0 -39
  182. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +0 -69
  183. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +0 -5436
  184. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +0 -244
  185. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +0 -619
  186. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +0 -199
  187. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +0 -261
  188. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +0 -137
  189. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +0 -245
  190. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +0 -72
  191. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +0 -22
  192. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +0 -117
  193. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +0 -53
  194. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +0 -246
  195. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +0 -423
  196. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +0 -32
  197. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +0 -70
  198. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +0 -343
  199. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +0 -227
  200. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +0 -251
  201. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +0 -9215
  202. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +0 -791
  203. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +0 -212
  204. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +0 -128
  205. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +0 -43
  206. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +0 -243
  207. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +0 -564
  208. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +0 -32
  209. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +0 -42
  210. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +0 -254
  211. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +0 -1006
  212. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +0 -371
  213. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +0 -5
  214. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +0 -101
  215. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +0 -164
  216. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +0 -48
  217. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +0 -118
  218. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +0 -58
  219. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +0 -58
  220. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +0 -138
  221. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +0 -39
  222. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +0 -69
  223. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +0 -5436
  224. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +0 -244
  225. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +0 -614
  226. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +0 -199
  227. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +0 -261
  228. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +0 -137
  229. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +0 -245
  230. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +0 -72
  231. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +0 -22
  232. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +0 -119
  233. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +0 -53
  234. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  235. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  236. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  237. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +0 -70
  238. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +0 -324
  239. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +0 -237
  240. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  241. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  242. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  243. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +0 -224
  244. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +0 -128
  245. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  246. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  247. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +0 -564
  248. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +0 -32
  249. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  250. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  251. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +0 -42
  252. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +0 -254
  253. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  254. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +0 -371
  255. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  256. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +0 -101
  257. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +0 -165
  258. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +0 -48
  259. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  260. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +0 -58
  261. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +0 -58
  262. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +0 -138
  263. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +0 -39
  264. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  265. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  266. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +0 -244
  267. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  268. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +0 -199
  269. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  270. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  271. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  272. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +0 -79
  273. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  274. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  275. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  276. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +0 -209
  277. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +0 -423
  278. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +0 -32
  279. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  280. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  281. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  282. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +0 -265
  283. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +0 -9902
  284. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +0 -1419
  285. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  286. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  287. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +0 -43
  288. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +0 -244
  289. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  290. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  291. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  292. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  293. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +0 -1006
  294. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  295. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  296. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  297. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  298. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  299. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +0 -123
  300. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  301. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  302. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  303. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  304. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +0 -69
  305. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +0 -5840
  306. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  307. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +0 -627
  308. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  309. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +0 -277
  310. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +0 -137
  311. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +0 -259
  312. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  313. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/build_assert/build_assert.h +0 -0
  314. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/check_type/check_type.h +0 -0
  315. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/container_of/container_of.h +0 -0
  316. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/list/list.h +0 -0
  317. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/str/str.h +0 -0
  318. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/id_table.h +0 -0
  319. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/bignum.h +0 -0
  320. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/cmdlineopt.h +0 -0
  321. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compar.h +0 -0
  322. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compile.h +0 -0
  323. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compilers.h +0 -0
  324. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/complex.h +0 -0
  325. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/cont.h +0 -0
  326. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/dir.h +0 -0
  327. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enc.h +0 -0
  328. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enum.h +0 -0
  329. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enumerator.h +0 -0
  330. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/eval.h +0 -0
  331. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/file.h +0 -0
  332. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/inits.h +0 -0
  333. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/load.h +0 -0
  334. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/loadpath.h +0 -0
  335. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/math.h +0 -0
  336. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/missing.h +0 -0
  337. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/numeric.h +0 -0
  338. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/object.h +0 -0
  339. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/proc.h +0 -0
  340. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/process.h +0 -0
  341. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/random.h +0 -0
  342. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/range.h +0 -0
  343. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/rational.h +0 -0
  344. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/re.h +0 -0
  345. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/ruby_parser.h +0 -0
  346. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/serial.h +0 -0
  347. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/signal.h +0 -0
  348. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/st.h +0 -0
  349. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/static_assert.h +0 -0
  350. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/struct.h +0 -0
  351. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/symbol.h +0 -0
  352. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/time.h +0 -0
  353. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/transcode.h +0 -0
  354. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/util.h +0 -0
  355. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/variable.h +0 -0
  356. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/warnings.h +0 -0
  357. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal.h +0 -0
  358. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/iseq.h +0 -0
  359. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/node.h +0 -0
  360. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/parser_st.h +0 -0
  361. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/parser_value.h +0 -0
  362. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/encoding.h +0 -0
  363. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/pack.h +0 -0
  364. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/prettyprint.h +0 -0
  365. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_buffer.h +0 -0
  366. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_list.h +0 -0
  367. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_memchr.h +0 -0
  368. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_strncasecmp.h +0 -0
  369. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_strpbrk.h +0 -0
  370. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ruby_assert.h +0 -0
  371. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ruby_atomic.h +0 -0
  372. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/thread_none.h +0 -0
  373. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_debug.h +0 -0
  374. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_opts.h +0 -0
@@ -1,564 +0,0 @@
1
- #ifndef INTERNAL_BITS2_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_BITS2_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 bitwise integer algorithms.
10
- * @see Henry S. Warren Jr., "Hacker's Delight" (2nd ed.), 2013.
11
- * @see SEI CERT C Coding Standard INT32-C. "Ensure that operations on
12
- * signed integers do not result in overflow"
13
- * @see https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
14
- * @see https://clang.llvm.org/docs/LanguageExtensions.html#builtin-rotateleft
15
- * @see https://clang.llvm.org/docs/LanguageExtensions.html#builtin-rotateright
16
- * @see https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/byteswap-uint64-byteswap-ulong-byteswap-ushort
17
- * @see https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/rotl-rotl64-rotr-rotr64
18
- * @see https://docs.microsoft.com/en-us/cpp/intrinsics/bitscanforward-bitscanforward64
19
- * @see https://docs.microsoft.com/en-us/cpp/intrinsics/bitscanreverse-bitscanreverse64
20
- * @see https://docs.microsoft.com/en-us/cpp/intrinsics/lzcnt16-lzcnt-lzcnt64
21
- * @see https://docs.microsoft.com/en-us/cpp/intrinsics/popcnt16-popcnt-popcnt64
22
- * @see https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_lzcnt_u32
23
- * @see https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_tzcnt_u32
24
- * @see https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_rotl64
25
- * @see https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_rotr64
26
- * @see https://stackoverflow.com/a/776523
27
- */
28
- #include "ruby/internal/config.h"
29
- #include <limits.h> /* for CHAR_BITS */
30
- #include <stdint.h> /* for uintptr_t */
31
- #include "internal/compilers.h" /* for MSC_VERSION_SINCE */
32
-
33
- #if MSC_VERSION_SINCE(1310)
34
- # include <stdlib.h> /* for _byteswap_uint64 */
35
- #endif
36
-
37
- #if defined(HAVE_X86INTRIN_H)
38
- # include <x86intrin.h> /* for _lzcnt_u64 */
39
- #elif MSC_VERSION_SINCE(1310)
40
- # include <intrin.h> /* for the following intrinsics */
41
- #endif
42
-
43
- #if defined(_MSC_VER) && defined(__AVX__)
44
- # pragma intrinsic(__popcnt)
45
- # pragma intrinsic(__popcnt64)
46
- #endif
47
-
48
- #if defined(_MSC_VER) && defined(__AVX2__)
49
- # pragma intrinsic(__lzcnt)
50
- # pragma intrinsic(__lzcnt64)
51
- #endif
52
-
53
- #if MSC_VERSION_SINCE(1310)
54
- # pragma intrinsic(_rotl)
55
- # pragma intrinsic(_rotr)
56
- # ifdef _WIN64
57
- # pragma intrinsic(_rotl64)
58
- # pragma intrinsic(_rotr64)
59
- # endif
60
- #endif
61
-
62
- #if MSC_VERSION_SINCE(1400)
63
- # pragma intrinsic(_BitScanForward)
64
- # pragma intrinsic(_BitScanReverse)
65
- # ifdef _WIN64
66
- # pragma intrinsic(_BitScanForward64)
67
- # pragma intrinsic(_BitScanReverse64)
68
- # endif
69
- #endif
70
-
71
- #include "parser_value.h" /* for VALUE */
72
- #include "internal/static_assert.h" /* for STATIC_ASSERT */
73
-
74
- /* The most significant bit of the lower part of half-long integer.
75
- * If sizeof(long) == 4, this is 0x8000.
76
- * If sizeof(long) == 8, this is 0x80000000.
77
- */
78
- #define HALF_LONG_MSB ((SIGNED_VALUE)1<<((SIZEOF_LONG*CHAR_BIT-1)/2))
79
-
80
- #define SIGNED_INTEGER_TYPE_P(T) (0 > ((T)0)-1)
81
-
82
- #define SIGNED_INTEGER_MIN(T) \
83
- ((sizeof(T) == sizeof(int8_t)) ? ((T)INT8_MIN) : \
84
- ((sizeof(T) == sizeof(int16_t)) ? ((T)INT16_MIN) : \
85
- ((sizeof(T) == sizeof(int32_t)) ? ((T)INT32_MIN) : \
86
- ((sizeof(T) == sizeof(int64_t)) ? ((T)INT64_MIN) : \
87
- 0))))
88
-
89
- #define SIGNED_INTEGER_MAX(T) ((T)(SIGNED_INTEGER_MIN(T) ^ ((T)~(T)0)))
90
-
91
- #define UNSIGNED_INTEGER_MAX(T) ((T)~(T)0)
92
-
93
- #if __has_builtin(__builtin_mul_overflow_p)
94
- # define MUL_OVERFLOW_P(a, b) \
95
- __builtin_mul_overflow_p((a), (b), (__typeof__(a * b))0)
96
- #elif __has_builtin(__builtin_mul_overflow)
97
- # define MUL_OVERFLOW_P(a, b) \
98
- __extension__ ({ __typeof__(a) c; __builtin_mul_overflow((a), (b), &c); })
99
- #endif
100
-
101
- #define MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, min, max) ( \
102
- (a) == 0 ? 0 : \
103
- (a) == -1 ? (b) < -(max) : \
104
- (a) > 0 ? \
105
- ((b) > 0 ? (max) / (a) < (b) : (min) / (a) > (b)) : \
106
- ((b) > 0 ? (min) / (a) < (b) : (max) / (a) > (b)))
107
-
108
- #if __has_builtin(__builtin_mul_overflow_p)
109
- /* __builtin_mul_overflow_p can take bitfield */
110
- /* and GCC permits bitfields for integers other than int */
111
- # define MUL_OVERFLOW_FIXNUM_P(a, b) \
112
- __extension__ ({ \
113
- struct { long fixnum : sizeof(long) * CHAR_BIT - 1; } c = { 0 }; \
114
- __builtin_mul_overflow_p((a), (b), c.fixnum); \
115
- })
116
- #else
117
- # define MUL_OVERFLOW_FIXNUM_P(a, b) \
118
- MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, FIXNUM_MIN, FIXNUM_MAX)
119
- #endif
120
-
121
- #ifdef MUL_OVERFLOW_P
122
- # define MUL_OVERFLOW_LONG_LONG_P(a, b) MUL_OVERFLOW_P(a, b)
123
- # define MUL_OVERFLOW_LONG_P(a, b) MUL_OVERFLOW_P(a, b)
124
- # define MUL_OVERFLOW_INT_P(a, b) MUL_OVERFLOW_P(a, b)
125
- #else
126
- # define MUL_OVERFLOW_LONG_LONG_P(a, b) MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, LLONG_MIN, LLONG_MAX)
127
- # define MUL_OVERFLOW_LONG_P(a, b) MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, LONG_MIN, LONG_MAX)
128
- # define MUL_OVERFLOW_INT_P(a, b) MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, INT_MIN, INT_MAX)
129
- #endif
130
-
131
- #ifdef HAVE_UINT128_T
132
- # define bit_length(x) \
133
- (unsigned int) \
134
- (sizeof(x) <= sizeof(int32_t) ? 32 - nlz_int32((uint32_t)(x)) : \
135
- sizeof(x) <= sizeof(int64_t) ? 64 - nlz_int64((uint64_t)(x)) : \
136
- 128 - nlz_int128((uint128_t)(x)))
137
- #else
138
- # define bit_length(x) \
139
- (unsigned int) \
140
- (sizeof(x) <= sizeof(int32_t) ? 32 - nlz_int32((uint32_t)(x)) : \
141
- 64 - nlz_int64((uint64_t)(x)))
142
- #endif
143
-
144
- #ifndef swap16
145
- # define swap16 ruby_swap16
146
- #endif
147
-
148
- #ifndef swap32
149
- # define swap32 ruby_swap32
150
- #endif
151
-
152
- #ifndef swap64
153
- # define swap64 ruby_swap64
154
- #endif
155
-
156
- static inline uint16_t ruby_swap16(uint16_t);
157
- static inline uint32_t ruby_swap32(uint32_t);
158
- static inline uint64_t ruby_swap64(uint64_t);
159
- static inline unsigned nlz_int(unsigned x);
160
- static inline unsigned nlz_long(unsigned long x);
161
- static inline unsigned nlz_long_long(unsigned long long x);
162
- static inline unsigned nlz_intptr(uintptr_t x);
163
- static inline unsigned nlz_int32(uint32_t x);
164
- static inline unsigned nlz_int64(uint64_t x);
165
- #ifdef HAVE_UINT128_T
166
- static inline unsigned nlz_int128(uint128_t x);
167
- #endif
168
- static inline unsigned rb_popcount32(uint32_t x);
169
- static inline unsigned rb_popcount64(uint64_t x);
170
- static inline unsigned rb_popcount_intptr(uintptr_t x);
171
- static inline int ntz_int32(uint32_t x);
172
- static inline int ntz_int64(uint64_t x);
173
- static inline int ntz_intptr(uintptr_t x);
174
- static inline VALUE RUBY_BIT_ROTL(VALUE, int);
175
- static inline VALUE RUBY_BIT_ROTR(VALUE, int);
176
-
177
- static inline uint16_t
178
- ruby_swap16(uint16_t x)
179
- {
180
- #if __has_builtin(__builtin_bswap16)
181
- return __builtin_bswap16(x);
182
-
183
- #elif MSC_VERSION_SINCE(1310)
184
- return _byteswap_ushort(x);
185
-
186
- #else
187
- return (x << 8) | (x >> 8);
188
-
189
- #endif
190
- }
191
-
192
- static inline uint32_t
193
- ruby_swap32(uint32_t x)
194
- {
195
- #if __has_builtin(__builtin_bswap32)
196
- return __builtin_bswap32(x);
197
-
198
- #elif MSC_VERSION_SINCE(1310)
199
- return _byteswap_ulong(x);
200
-
201
- #else
202
- x = ((x & 0x0000FFFF) << 16) | ((x & 0xFFFF0000) >> 16);
203
- x = ((x & 0x00FF00FF) << 8) | ((x & 0xFF00FF00) >> 8);
204
- return x;
205
-
206
- #endif
207
- }
208
-
209
- static inline uint64_t
210
- ruby_swap64(uint64_t x)
211
- {
212
- #if __has_builtin(__builtin_bswap64)
213
- return __builtin_bswap64(x);
214
-
215
- #elif MSC_VERSION_SINCE(1310)
216
- return _byteswap_uint64(x);
217
-
218
- #else
219
- x = ((x & 0x00000000FFFFFFFFULL) << 32) | ((x & 0xFFFFFFFF00000000ULL) >> 32);
220
- x = ((x & 0x0000FFFF0000FFFFULL) << 16) | ((x & 0xFFFF0000FFFF0000ULL) >> 16);
221
- x = ((x & 0x00FF00FF00FF00FFULL) << 8) | ((x & 0xFF00FF00FF00FF00ULL) >> 8);
222
- return x;
223
-
224
- #endif
225
- }
226
-
227
- static inline unsigned int
228
- nlz_int32(uint32_t x)
229
- {
230
- #if defined(_MSC_VER) && defined(__AVX2__)
231
- /* Note: It seems there is no such thing like __LZCNT__ predefined in MSVC.
232
- * AMD CPUs have had this instruction for decades (since K10) but for
233
- * Intel, Haswell is the oldest one. We need to use __AVX2__ for maximum
234
- * safety. */
235
- return (unsigned int)__lzcnt(x);
236
-
237
- #elif defined(__x86_64__) && defined(__LZCNT__)
238
- return (unsigned int)_lzcnt_u32(x);
239
-
240
- #elif MSC_VERSION_SINCE(1400) /* &&! defined(__AVX2__) */
241
- unsigned long r;
242
- return _BitScanReverse(&r, x) ? (31 - (int)r) : 32;
243
-
244
- #elif __has_builtin(__builtin_clz)
245
- STATIC_ASSERT(sizeof_int, sizeof(int) * CHAR_BIT == 32);
246
- return x ? (unsigned int)__builtin_clz(x) : 32;
247
-
248
- #else
249
- uint32_t y;
250
- unsigned n = 32;
251
- y = x >> 16; if (y) {n -= 16; x = y;}
252
- y = x >> 8; if (y) {n -= 8; x = y;}
253
- y = x >> 4; if (y) {n -= 4; x = y;}
254
- y = x >> 2; if (y) {n -= 2; x = y;}
255
- y = x >> 1; if (y) {return n - 2;}
256
- return (unsigned int)(n - x);
257
- #endif
258
- }
259
-
260
- static inline unsigned int
261
- nlz_int64(uint64_t x)
262
- {
263
- #if defined(_MSC_VER) && defined(__AVX2__)
264
- return (unsigned int)__lzcnt64(x);
265
-
266
- #elif defined(__x86_64__) && defined(__LZCNT__)
267
- return (unsigned int)_lzcnt_u64(x);
268
-
269
- #elif defined(_WIN64) && MSC_VERSION_SINCE(1400) /* &&! defined(__AVX2__) */
270
- unsigned long r;
271
- return _BitScanReverse64(&r, x) ? (63u - (unsigned int)r) : 64;
272
-
273
- #elif __has_builtin(__builtin_clzl)
274
- if (x == 0) {
275
- return 64;
276
- }
277
- else if (sizeof(long) * CHAR_BIT == 64) {
278
- return (unsigned int)__builtin_clzl((unsigned long)x);
279
- }
280
- else if (sizeof(long long) * CHAR_BIT == 64) {
281
- return (unsigned int)__builtin_clzll((unsigned long long)x);
282
- }
283
- else {
284
- /* :FIXME: Is there a way to make this branch a compile-time error? */
285
- UNREACHABLE_RETURN(~0);
286
- }
287
-
288
- #else
289
- uint64_t y;
290
- unsigned int n = 64;
291
- y = x >> 32; if (y) {n -= 32; x = y;}
292
- y = x >> 16; if (y) {n -= 16; x = y;}
293
- y = x >> 8; if (y) {n -= 8; x = y;}
294
- y = x >> 4; if (y) {n -= 4; x = y;}
295
- y = x >> 2; if (y) {n -= 2; x = y;}
296
- y = x >> 1; if (y) {return n - 2;}
297
- return (unsigned int)(n - x);
298
-
299
- #endif
300
- }
301
-
302
- #ifdef HAVE_UINT128_T
303
- static inline unsigned int
304
- nlz_int128(uint128_t x)
305
- {
306
- uint64_t y = (uint64_t)(x >> 64);
307
-
308
- if (x == 0) {
309
- return 128;
310
- }
311
- else if (y == 0) {
312
- return (unsigned int)nlz_int64(x) + 64;
313
- }
314
- else {
315
- return (unsigned int)nlz_int64(y);
316
- }
317
- }
318
- #endif
319
-
320
- static inline unsigned int
321
- nlz_int(unsigned int x)
322
- {
323
- if (sizeof(unsigned int) * CHAR_BIT == 32) {
324
- return nlz_int32((uint32_t)x);
325
- }
326
- else if (sizeof(unsigned int) * CHAR_BIT == 64) {
327
- return nlz_int64((uint64_t)x);
328
- }
329
- else {
330
- UNREACHABLE_RETURN(~0);
331
- }
332
- }
333
-
334
- static inline unsigned int
335
- nlz_long(unsigned long x)
336
- {
337
- if (sizeof(unsigned long) * CHAR_BIT == 32) {
338
- return nlz_int32((uint32_t)x);
339
- }
340
- else if (sizeof(unsigned long) * CHAR_BIT == 64) {
341
- return nlz_int64((uint64_t)x);
342
- }
343
- else {
344
- UNREACHABLE_RETURN(~0);
345
- }
346
- }
347
-
348
- static inline unsigned int
349
- nlz_long_long(unsigned long long x)
350
- {
351
- if (sizeof(unsigned long long) * CHAR_BIT == 64) {
352
- return nlz_int64((uint64_t)x);
353
- }
354
- #ifdef HAVE_UINT128_T
355
- else if (sizeof(unsigned long long) * CHAR_BIT == 128) {
356
- return nlz_int128((uint128_t)x);
357
- }
358
- #endif
359
- else {
360
- UNREACHABLE_RETURN(~0);
361
- }
362
- }
363
-
364
- static inline unsigned int
365
- nlz_intptr(uintptr_t x)
366
- {
367
- if (sizeof(uintptr_t) == sizeof(unsigned int)) {
368
- return nlz_int((unsigned int)x);
369
- }
370
- if (sizeof(uintptr_t) == sizeof(unsigned long)) {
371
- return nlz_long((unsigned long)x);
372
- }
373
- if (sizeof(uintptr_t) == sizeof(unsigned long long)) {
374
- return nlz_long_long((unsigned long long)x);
375
- }
376
- else {
377
- UNREACHABLE_RETURN(~0);
378
- }
379
- }
380
-
381
- static inline unsigned int
382
- rb_popcount32(uint32_t x)
383
- {
384
- #if defined(_MSC_VER) && defined(__AVX__)
385
- /* Note: CPUs since Nehalem and Barcelona have had this instruction so SSE
386
- * 4.2 should suffice, but it seems there is no such thing like __SSE_4_2__
387
- * predefined macro in MSVC. They do have __AVX__ so use it instead. */
388
- return (unsigned int)__popcnt(x);
389
-
390
- #elif __has_builtin(__builtin_popcount)
391
- STATIC_ASSERT(sizeof_int, sizeof(int) * CHAR_BIT >= 32);
392
- return (unsigned int)__builtin_popcount(x);
393
-
394
- #else
395
- x = (x & 0x55555555) + (x >> 1 & 0x55555555);
396
- x = (x & 0x33333333) + (x >> 2 & 0x33333333);
397
- x = (x & 0x0f0f0f0f) + (x >> 4 & 0x0f0f0f0f);
398
- x = (x & 0x001f001f) + (x >> 8 & 0x001f001f);
399
- x = (x & 0x0000003f) + (x >>16 & 0x0000003f);
400
- return (unsigned int)x;
401
-
402
- #endif
403
- }
404
-
405
- static inline unsigned int
406
- rb_popcount64(uint64_t x)
407
- {
408
- #if defined(_MSC_VER) && defined(__AVX__)
409
- return (unsigned int)__popcnt64(x);
410
-
411
- #elif __has_builtin(__builtin_popcount)
412
- if (sizeof(long) * CHAR_BIT == 64) {
413
- return (unsigned int)__builtin_popcountl((unsigned long)x);
414
- }
415
- else if (sizeof(long long) * CHAR_BIT == 64) {
416
- return (unsigned int)__builtin_popcountll((unsigned long long)x);
417
- }
418
- else {
419
- /* :FIXME: Is there a way to make this branch a compile-time error? */
420
- UNREACHABLE_RETURN(~0);
421
- }
422
-
423
- #else
424
- x = (x & 0x5555555555555555) + (x >> 1 & 0x5555555555555555);
425
- x = (x & 0x3333333333333333) + (x >> 2 & 0x3333333333333333);
426
- x = (x & 0x0707070707070707) + (x >> 4 & 0x0707070707070707);
427
- x = (x & 0x001f001f001f001f) + (x >> 8 & 0x001f001f001f001f);
428
- x = (x & 0x0000003f0000003f) + (x >>16 & 0x0000003f0000003f);
429
- x = (x & 0x000000000000007f) + (x >>32 & 0x000000000000007f);
430
- return (unsigned int)x;
431
-
432
- #endif
433
- }
434
-
435
- static inline unsigned int
436
- rb_popcount_intptr(uintptr_t x)
437
- {
438
- if (sizeof(uintptr_t) * CHAR_BIT == 64) {
439
- return rb_popcount64((uint64_t)x);
440
- }
441
- else if (sizeof(uintptr_t) * CHAR_BIT == 32) {
442
- return rb_popcount32((uint32_t)x);
443
- }
444
- else {
445
- UNREACHABLE_RETURN(~0);
446
- }
447
- }
448
-
449
- static inline int
450
- ntz_int32(uint32_t x)
451
- {
452
- #if defined(__x86_64__) && defined(__BMI__)
453
- return (unsigned)_tzcnt_u32(x);
454
-
455
- #elif MSC_VERSION_SINCE(1400)
456
- /* :FIXME: Is there any way to issue TZCNT instead of BSF, apart from using
457
- * assembly? Because issuing LZCNT seems possible (see nlz.h). */
458
- unsigned long r;
459
- return _BitScanForward(&r, x) ? (int)r : 32;
460
-
461
- #elif __has_builtin(__builtin_ctz)
462
- STATIC_ASSERT(sizeof_int, sizeof(int) * CHAR_BIT == 32);
463
- return x ? (unsigned)__builtin_ctz(x) : 32;
464
-
465
- #else
466
- return rb_popcount32((~x) & (x-1));
467
-
468
- #endif
469
- }
470
-
471
- static inline int
472
- ntz_int64(uint64_t x)
473
- {
474
- #if defined(__x86_64__) && defined(__BMI__)
475
- return (unsigned)_tzcnt_u64(x);
476
-
477
- #elif defined(_WIN64) && MSC_VERSION_SINCE(1400)
478
- unsigned long r;
479
- return _BitScanForward64(&r, x) ? (int)r : 64;
480
-
481
- #elif __has_builtin(__builtin_ctzl)
482
- if (x == 0) {
483
- return 64;
484
- }
485
- else if (sizeof(long) * CHAR_BIT == 64) {
486
- return (unsigned)__builtin_ctzl((unsigned long)x);
487
- }
488
- else if (sizeof(long long) * CHAR_BIT == 64) {
489
- return (unsigned)__builtin_ctzll((unsigned long long)x);
490
- }
491
- else {
492
- /* :FIXME: Is there a way to make this branch a compile-time error? */
493
- UNREACHABLE_RETURN(~0);
494
- }
495
-
496
- #else
497
- return rb_popcount64((~x) & (x-1));
498
-
499
- #endif
500
- }
501
-
502
- static inline int
503
- ntz_intptr(uintptr_t x)
504
- {
505
- if (sizeof(uintptr_t) * CHAR_BIT == 64) {
506
- return ntz_int64((uint64_t)x);
507
- }
508
- else if (sizeof(uintptr_t) * CHAR_BIT == 32) {
509
- return ntz_int32((uint32_t)x);
510
- }
511
- else {
512
- UNREACHABLE_RETURN(~0);
513
- }
514
- }
515
-
516
- static inline VALUE
517
- RUBY_BIT_ROTL(VALUE v, int n)
518
- {
519
- #if __has_builtin(__builtin_rotateleft32) && (SIZEOF_VALUE * CHAR_BIT == 32)
520
- return __builtin_rotateleft32(v, n);
521
-
522
- #elif __has_builtin(__builtin_rotateleft64) && (SIZEOF_VALUE * CHAR_BIT == 64)
523
- return __builtin_rotateleft64(v, n);
524
-
525
- #elif MSC_VERSION_SINCE(1310) && (SIZEOF_VALUE * CHAR_BIT == 32)
526
- return _rotl(v, n);
527
-
528
- #elif MSC_VERSION_SINCE(1310) && (SIZEOF_VALUE * CHAR_BIT == 64)
529
- return _rotl64(v, n);
530
-
531
- #elif defined(_lrotl) && (SIZEOF_VALUE == SIZEOF_LONG)
532
- return _lrotl(v, n);
533
-
534
- #else
535
- const int m = (sizeof(VALUE) * CHAR_BIT) - 1;
536
- return (v << (n & m)) | (v >> (-n & m));
537
- #endif
538
- }
539
-
540
- static inline VALUE
541
- RUBY_BIT_ROTR(VALUE v, int n)
542
- {
543
- #if __has_builtin(__builtin_rotateright32) && (SIZEOF_VALUE * CHAR_BIT == 32)
544
- return __builtin_rotateright32(v, n);
545
-
546
- #elif __has_builtin(__builtin_rotateright64) && (SIZEOF_VALUE * CHAR_BIT == 64)
547
- return __builtin_rotateright64(v, n);
548
-
549
- #elif MSC_VERSION_SINCE(1310) && (SIZEOF_VALUE * CHAR_BIT == 32)
550
- return _rotr(v, n);
551
-
552
- #elif MSC_VERSION_SINCE(1310) && (SIZEOF_VALUE * CHAR_BIT == 64)
553
- return _rotr64(v, n);
554
-
555
- #elif defined(_lrotr) && (SIZEOF_VALUE == SIZEOF_LONG)
556
- return _lrotr(v, n);
557
-
558
- #else
559
- const int m = (sizeof(VALUE) * CHAR_BIT) - 1;
560
- return (v << (-n & m)) | (v >> (n & m));
561
- #endif
562
- }
563
-
564
- #endif /* INTERNAL_BITS2_H */
@@ -1,32 +0,0 @@
1
- #ifndef RUBY_PARSER_NODE_H
2
- #define RUBY_PARSER_NODE_H 1
3
- /*
4
- * This is a header file used by only "parse.y"
5
- */
6
- #include "rubyparser.h"
7
- #include "internal/compilers.h"
8
-
9
- #if defined(__cplusplus)
10
- extern "C" {
11
- #if 0
12
- } /* satisfy cc-mode */
13
- #endif
14
- #endif
15
-
16
- static inline rb_code_location_t
17
- code_loc_gen(const rb_code_location_t *loc1, const rb_code_location_t *loc2)
18
- {
19
- rb_code_location_t loc;
20
- loc.beg_pos = loc1->beg_pos;
21
- loc.end_pos = loc2->end_pos;
22
- return loc;
23
- }
24
-
25
- #if defined(__cplusplus)
26
- #if 0
27
- { /* satisfy cc-mode */
28
- #endif
29
- } /* extern "C" { */
30
- #endif
31
-
32
- #endif /* RUBY_PARSER_NODE_H */
@@ -1,42 +0,0 @@
1
- #ifndef RUBY_PROBES_HELPER_H
2
- #define RUBY_PROBES_HELPER_H
3
-
4
- #include "ruby/ruby.h"
5
-
6
- struct ruby_dtrace_method_hook_args {
7
- const char *classname;
8
- const char *methodname;
9
- const char *filename;
10
- int line_no;
11
- volatile VALUE klass;
12
- volatile VALUE name;
13
- };
14
-
15
- NOINLINE(int rb_dtrace_setup(rb_execution_context_t *, VALUE, ID, struct ruby_dtrace_method_hook_args *));
16
-
17
- #define RUBY_DTRACE_METHOD_HOOK(name, ec, klazz, id) \
18
- do { \
19
- if (UNLIKELY(RUBY_DTRACE_##name##_ENABLED())) { \
20
- struct ruby_dtrace_method_hook_args args; \
21
- if (rb_dtrace_setup(ec, klazz, id, &args)) { \
22
- RUBY_DTRACE_##name(args.classname, \
23
- args.methodname, \
24
- args.filename, \
25
- args.line_no); \
26
- } \
27
- } \
28
- } while (0)
29
-
30
- #define RUBY_DTRACE_METHOD_ENTRY_HOOK(ec, klass, id) \
31
- RUBY_DTRACE_METHOD_HOOK(METHOD_ENTRY, ec, klass, id)
32
-
33
- #define RUBY_DTRACE_METHOD_RETURN_HOOK(ec, klass, id) \
34
- RUBY_DTRACE_METHOD_HOOK(METHOD_RETURN, ec, klass, id)
35
-
36
- #define RUBY_DTRACE_CMETHOD_ENTRY_HOOK(ec, klass, id) \
37
- RUBY_DTRACE_METHOD_HOOK(CMETHOD_ENTRY, ec, klass, id)
38
-
39
- #define RUBY_DTRACE_CMETHOD_RETURN_HOOK(ec, klass, id) \
40
- RUBY_DTRACE_METHOD_HOOK(CMETHOD_RETURN, ec, klass, id)
41
-
42
- #endif /* RUBY_PROBES_HELPER_H */