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,214 +0,0 @@
1
- /* -*-c-*- *********************************************************/
2
- /*******************************************************************/
3
- /*******************************************************************/
4
- /**
5
- This file is for threaded code.
6
-
7
- ----
8
- This file is auto generated by insns2vm.rb
9
- DO NOT TOUCH!
10
-
11
- If you want to fix something, you must edit 'template/vmtc.inc.tmpl'
12
- or insns2vm.rb
13
- */
14
-
15
- static const void *const insns_address_table[] = {
16
- LABEL_PTR(nop),
17
- LABEL_PTR(getlocal),
18
- LABEL_PTR(setlocal),
19
- LABEL_PTR(getblockparam),
20
- LABEL_PTR(setblockparam),
21
- LABEL_PTR(getspecial),
22
- LABEL_PTR(setspecial),
23
- LABEL_PTR(getinstancevariable),
24
- LABEL_PTR(setinstancevariable),
25
- LABEL_PTR(getclassvariable),
26
- LABEL_PTR(setclassvariable),
27
- LABEL_PTR(getconstant),
28
- LABEL_PTR(setconstant),
29
- LABEL_PTR(getglobal),
30
- LABEL_PTR(setglobal),
31
- LABEL_PTR(putnil),
32
- LABEL_PTR(putself),
33
- LABEL_PTR(putobject),
34
- LABEL_PTR(putspecialobject),
35
- LABEL_PTR(putiseq),
36
- LABEL_PTR(putstring),
37
- LABEL_PTR(concatstrings),
38
- LABEL_PTR(tostring),
39
- LABEL_PTR(freezestring),
40
- LABEL_PTR(toregexp),
41
- LABEL_PTR(intern),
42
- LABEL_PTR(newarray),
43
- LABEL_PTR(duparray),
44
- LABEL_PTR(expandarray),
45
- LABEL_PTR(concatarray),
46
- LABEL_PTR(splatarray),
47
- LABEL_PTR(newhash),
48
- LABEL_PTR(newrange),
49
- LABEL_PTR(pop),
50
- LABEL_PTR(dup),
51
- LABEL_PTR(dupn),
52
- LABEL_PTR(swap),
53
- LABEL_PTR(reverse),
54
- LABEL_PTR(reput),
55
- LABEL_PTR(topn),
56
- LABEL_PTR(setn),
57
- LABEL_PTR(adjuststack),
58
- LABEL_PTR(defined),
59
- LABEL_PTR(checkmatch),
60
- LABEL_PTR(checkkeyword),
61
- LABEL_PTR(tracecoverage),
62
- LABEL_PTR(defineclass),
63
- LABEL_PTR(send),
64
- LABEL_PTR(opt_str_freeze),
65
- LABEL_PTR(opt_str_uminus),
66
- LABEL_PTR(opt_newarray_max),
67
- LABEL_PTR(opt_newarray_min),
68
- LABEL_PTR(opt_send_without_block),
69
- LABEL_PTR(invokesuper),
70
- LABEL_PTR(invokeblock),
71
- LABEL_PTR(leave),
72
- LABEL_PTR(throw),
73
- LABEL_PTR(jump),
74
- LABEL_PTR(branchif),
75
- LABEL_PTR(branchunless),
76
- LABEL_PTR(branchnil),
77
- LABEL_PTR(branchiftype),
78
- LABEL_PTR(getinlinecache),
79
- LABEL_PTR(setinlinecache),
80
- LABEL_PTR(once),
81
- LABEL_PTR(opt_case_dispatch),
82
- LABEL_PTR(opt_plus),
83
- LABEL_PTR(opt_minus),
84
- LABEL_PTR(opt_mult),
85
- LABEL_PTR(opt_div),
86
- LABEL_PTR(opt_mod),
87
- LABEL_PTR(opt_eq),
88
- LABEL_PTR(opt_neq),
89
- LABEL_PTR(opt_lt),
90
- LABEL_PTR(opt_le),
91
- LABEL_PTR(opt_gt),
92
- LABEL_PTR(opt_ge),
93
- LABEL_PTR(opt_ltlt),
94
- LABEL_PTR(opt_aref),
95
- LABEL_PTR(opt_aset),
96
- LABEL_PTR(opt_aset_with),
97
- LABEL_PTR(opt_aref_with),
98
- LABEL_PTR(opt_length),
99
- LABEL_PTR(opt_size),
100
- LABEL_PTR(opt_empty_p),
101
- LABEL_PTR(opt_succ),
102
- LABEL_PTR(opt_not),
103
- LABEL_PTR(opt_regexpmatch1),
104
- LABEL_PTR(opt_regexpmatch2),
105
- LABEL_PTR(opt_call_c_function),
106
- LABEL_PTR(bitblt),
107
- LABEL_PTR(answer),
108
- LABEL_PTR(getlocal_OP__WC__0),
109
- LABEL_PTR(getlocal_OP__WC__1),
110
- LABEL_PTR(setlocal_OP__WC__0),
111
- LABEL_PTR(setlocal_OP__WC__1),
112
- LABEL_PTR(putobject_OP_INT2FIX_O_0_C_),
113
- LABEL_PTR(putobject_OP_INT2FIX_O_1_C_),
114
- LABEL_PTR(trace_nop),
115
- LABEL_PTR(trace_getlocal),
116
- LABEL_PTR(trace_setlocal),
117
- LABEL_PTR(trace_getblockparam),
118
- LABEL_PTR(trace_setblockparam),
119
- LABEL_PTR(trace_getspecial),
120
- LABEL_PTR(trace_setspecial),
121
- LABEL_PTR(trace_getinstancevariable),
122
- LABEL_PTR(trace_setinstancevariable),
123
- LABEL_PTR(trace_getclassvariable),
124
- LABEL_PTR(trace_setclassvariable),
125
- LABEL_PTR(trace_getconstant),
126
- LABEL_PTR(trace_setconstant),
127
- LABEL_PTR(trace_getglobal),
128
- LABEL_PTR(trace_setglobal),
129
- LABEL_PTR(trace_putnil),
130
- LABEL_PTR(trace_putself),
131
- LABEL_PTR(trace_putobject),
132
- LABEL_PTR(trace_putspecialobject),
133
- LABEL_PTR(trace_putiseq),
134
- LABEL_PTR(trace_putstring),
135
- LABEL_PTR(trace_concatstrings),
136
- LABEL_PTR(trace_tostring),
137
- LABEL_PTR(trace_freezestring),
138
- LABEL_PTR(trace_toregexp),
139
- LABEL_PTR(trace_intern),
140
- LABEL_PTR(trace_newarray),
141
- LABEL_PTR(trace_duparray),
142
- LABEL_PTR(trace_expandarray),
143
- LABEL_PTR(trace_concatarray),
144
- LABEL_PTR(trace_splatarray),
145
- LABEL_PTR(trace_newhash),
146
- LABEL_PTR(trace_newrange),
147
- LABEL_PTR(trace_pop),
148
- LABEL_PTR(trace_dup),
149
- LABEL_PTR(trace_dupn),
150
- LABEL_PTR(trace_swap),
151
- LABEL_PTR(trace_reverse),
152
- LABEL_PTR(trace_reput),
153
- LABEL_PTR(trace_topn),
154
- LABEL_PTR(trace_setn),
155
- LABEL_PTR(trace_adjuststack),
156
- LABEL_PTR(trace_defined),
157
- LABEL_PTR(trace_checkmatch),
158
- LABEL_PTR(trace_checkkeyword),
159
- LABEL_PTR(trace_tracecoverage),
160
- LABEL_PTR(trace_defineclass),
161
- LABEL_PTR(trace_send),
162
- LABEL_PTR(trace_opt_str_freeze),
163
- LABEL_PTR(trace_opt_str_uminus),
164
- LABEL_PTR(trace_opt_newarray_max),
165
- LABEL_PTR(trace_opt_newarray_min),
166
- LABEL_PTR(trace_opt_send_without_block),
167
- LABEL_PTR(trace_invokesuper),
168
- LABEL_PTR(trace_invokeblock),
169
- LABEL_PTR(trace_leave),
170
- LABEL_PTR(trace_throw),
171
- LABEL_PTR(trace_jump),
172
- LABEL_PTR(trace_branchif),
173
- LABEL_PTR(trace_branchunless),
174
- LABEL_PTR(trace_branchnil),
175
- LABEL_PTR(trace_branchiftype),
176
- LABEL_PTR(trace_getinlinecache),
177
- LABEL_PTR(trace_setinlinecache),
178
- LABEL_PTR(trace_once),
179
- LABEL_PTR(trace_opt_case_dispatch),
180
- LABEL_PTR(trace_opt_plus),
181
- LABEL_PTR(trace_opt_minus),
182
- LABEL_PTR(trace_opt_mult),
183
- LABEL_PTR(trace_opt_div),
184
- LABEL_PTR(trace_opt_mod),
185
- LABEL_PTR(trace_opt_eq),
186
- LABEL_PTR(trace_opt_neq),
187
- LABEL_PTR(trace_opt_lt),
188
- LABEL_PTR(trace_opt_le),
189
- LABEL_PTR(trace_opt_gt),
190
- LABEL_PTR(trace_opt_ge),
191
- LABEL_PTR(trace_opt_ltlt),
192
- LABEL_PTR(trace_opt_aref),
193
- LABEL_PTR(trace_opt_aset),
194
- LABEL_PTR(trace_opt_aset_with),
195
- LABEL_PTR(trace_opt_aref_with),
196
- LABEL_PTR(trace_opt_length),
197
- LABEL_PTR(trace_opt_size),
198
- LABEL_PTR(trace_opt_empty_p),
199
- LABEL_PTR(trace_opt_succ),
200
- LABEL_PTR(trace_opt_not),
201
- LABEL_PTR(trace_opt_regexpmatch1),
202
- LABEL_PTR(trace_opt_regexpmatch2),
203
- LABEL_PTR(trace_opt_call_c_function),
204
- LABEL_PTR(trace_bitblt),
205
- LABEL_PTR(trace_answer),
206
- LABEL_PTR(trace_getlocal_OP__WC__0),
207
- LABEL_PTR(trace_getlocal_OP__WC__1),
208
- LABEL_PTR(trace_setlocal_OP__WC__0),
209
- LABEL_PTR(trace_setlocal_OP__WC__1),
210
- LABEL_PTR(trace_putobject_OP_INT2FIX_O_0_C_),
211
- LABEL_PTR(trace_putobject_OP_INT2FIX_O_1_C_),
212
- };
213
-
214
- ASSERT_VM_INSTRUCTION_SIZE(insns_address_table);
@@ -1,22 +0,0 @@
1
- #ifndef RUBY_ADDR2LINE_H
2
- #define RUBY_ADDR2LINE_H
3
- /**********************************************************************
4
-
5
- addr2line.h -
6
-
7
- $Author$
8
-
9
- Copyright (C) 2010 Shinichiro Hamaji
10
-
11
- **********************************************************************/
12
-
13
- #if (defined(USE_ELF) || defined(HAVE_MACH_O_LOADER_H))
14
-
15
- #include <stdio.h>
16
-
17
- void
18
- rb_dump_backtrace_with_lines(int num_traces, void **traces, FILE *errout);
19
-
20
- #endif /* USE_ELF */
21
-
22
- #endif /* RUBY_ADDR2LINE_H */
@@ -1,117 +0,0 @@
1
- #ifndef BUILTIN_H_INCLUDED
2
- #define BUILTIN_H_INCLUDED
3
-
4
- // invoke
5
-
6
- struct rb_builtin_function {
7
- // for invocation
8
- const void * const func_ptr;
9
- const int argc;
10
-
11
- // for load
12
- const int index;
13
- const char * const name;
14
- };
15
-
16
- #define RB_BUILTIN_FUNCTION(_i, _name, _fname, _arity) {\
17
- .name = _i < 0 ? NULL : #_name, \
18
- .func_ptr = (void *)_fname, \
19
- .argc = _arity, \
20
- .index = _i, \
21
- }
22
-
23
- void rb_load_with_builtin_functions(const char *feature_name, const struct rb_builtin_function *table);
24
-
25
- #ifndef rb_execution_context_t
26
- typedef struct rb_execution_context_struct rb_execution_context_t;
27
- #define rb_execution_context_t rb_execution_context_t
28
- #endif
29
-
30
- /* The following code is generated by the following Ruby script:
31
-
32
- typedef = proc {|i, args|
33
- "typedef VALUE (*rb_builtin_arity#{i}_function_type)(rb_execution_context_t *ec, VALUE self#{args});"
34
- }
35
- puts typedef[0, ""]
36
- (1..15).each {|i|
37
- puts typedef[i, ",\n " + (0...i).map{"VALUE"}.join(", ")]
38
- }
39
- 16.times{|i|
40
- puts "static inline void rb_builtin_function_check_arity#{i}(rb_builtin_arity#{i}_function_type f){}"
41
- }
42
- */
43
-
44
- typedef VALUE (*rb_builtin_arity0_function_type)(rb_execution_context_t *ec, VALUE self);
45
- typedef VALUE (*rb_builtin_arity1_function_type)(rb_execution_context_t *ec, VALUE self,
46
- VALUE);
47
- typedef VALUE (*rb_builtin_arity2_function_type)(rb_execution_context_t *ec, VALUE self,
48
- VALUE, VALUE);
49
- typedef VALUE (*rb_builtin_arity3_function_type)(rb_execution_context_t *ec, VALUE self,
50
- VALUE, VALUE, VALUE);
51
- typedef VALUE (*rb_builtin_arity4_function_type)(rb_execution_context_t *ec, VALUE self,
52
- VALUE, VALUE, VALUE, VALUE);
53
- typedef VALUE (*rb_builtin_arity5_function_type)(rb_execution_context_t *ec, VALUE self,
54
- VALUE, VALUE, VALUE, VALUE, VALUE);
55
- typedef VALUE (*rb_builtin_arity6_function_type)(rb_execution_context_t *ec, VALUE self,
56
- VALUE, VALUE, VALUE, VALUE, VALUE, VALUE);
57
- typedef VALUE (*rb_builtin_arity7_function_type)(rb_execution_context_t *ec, VALUE self,
58
- VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE);
59
- typedef VALUE (*rb_builtin_arity8_function_type)(rb_execution_context_t *ec, VALUE self,
60
- VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE);
61
- typedef VALUE (*rb_builtin_arity9_function_type)(rb_execution_context_t *ec, VALUE self,
62
- VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE);
63
- typedef VALUE (*rb_builtin_arity10_function_type)(rb_execution_context_t *ec, VALUE self,
64
- VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE);
65
- typedef VALUE (*rb_builtin_arity11_function_type)(rb_execution_context_t *ec, VALUE self,
66
- VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE);
67
- typedef VALUE (*rb_builtin_arity12_function_type)(rb_execution_context_t *ec, VALUE self,
68
- VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE);
69
- typedef VALUE (*rb_builtin_arity13_function_type)(rb_execution_context_t *ec, VALUE self,
70
- VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE);
71
- typedef VALUE (*rb_builtin_arity14_function_type)(rb_execution_context_t *ec, VALUE self,
72
- VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE);
73
- typedef VALUE (*rb_builtin_arity15_function_type)(rb_execution_context_t *ec, VALUE self,
74
- VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE);
75
- static inline void rb_builtin_function_check_arity0(rb_builtin_arity0_function_type f){}
76
- static inline void rb_builtin_function_check_arity1(rb_builtin_arity1_function_type f){}
77
- static inline void rb_builtin_function_check_arity2(rb_builtin_arity2_function_type f){}
78
- static inline void rb_builtin_function_check_arity3(rb_builtin_arity3_function_type f){}
79
- static inline void rb_builtin_function_check_arity4(rb_builtin_arity4_function_type f){}
80
- static inline void rb_builtin_function_check_arity5(rb_builtin_arity5_function_type f){}
81
- static inline void rb_builtin_function_check_arity6(rb_builtin_arity6_function_type f){}
82
- static inline void rb_builtin_function_check_arity7(rb_builtin_arity7_function_type f){}
83
- static inline void rb_builtin_function_check_arity8(rb_builtin_arity8_function_type f){}
84
- static inline void rb_builtin_function_check_arity9(rb_builtin_arity9_function_type f){}
85
- static inline void rb_builtin_function_check_arity10(rb_builtin_arity10_function_type f){}
86
- static inline void rb_builtin_function_check_arity11(rb_builtin_arity11_function_type f){}
87
- static inline void rb_builtin_function_check_arity12(rb_builtin_arity12_function_type f){}
88
- static inline void rb_builtin_function_check_arity13(rb_builtin_arity13_function_type f){}
89
- static inline void rb_builtin_function_check_arity14(rb_builtin_arity14_function_type f){}
90
- static inline void rb_builtin_function_check_arity15(rb_builtin_arity15_function_type f){}
91
-
92
- PUREFUNC(VALUE rb_vm_lvar_exposed(rb_execution_context_t *ec, int index));
93
- VALUE rb_vm_lvar_exposed(rb_execution_context_t *ec, int index);
94
-
95
- // __builtin_inline!
96
-
97
- PUREFUNC(static inline VALUE rb_vm_lvar(rb_execution_context_t *ec, int index));
98
-
99
- static inline VALUE
100
- rb_vm_lvar(rb_execution_context_t *ec, int index)
101
- {
102
- #if defined(VM_CORE_H_EC_DEFINED) && VM_CORE_H_EC_DEFINED
103
- return ec->cfp->ep[index];
104
- #else
105
- return rb_vm_lvar_exposed(ec, index);
106
- #endif
107
- }
108
-
109
- // dump/load
110
-
111
- struct builtin_binary {
112
- const char *feature; // feature name
113
- const unsigned char *bin; // binary by ISeq#to_binary
114
- size_t bin_size;
115
- };
116
-
117
- #endif // BUILTIN_H_INCLUDED
@@ -1,53 +0,0 @@
1
- #ifndef CONSTANT_H
2
- #define CONSTANT_H
3
- /**********************************************************************
4
-
5
- constant.h -
6
-
7
- $Author$
8
- created at: Sun Nov 15 00:09:33 2009
9
-
10
- Copyright (C) 2009 Yusuke Endoh
11
-
12
- **********************************************************************/
13
- #include "ruby/ruby.h"
14
- #include "id_table.h"
15
-
16
- typedef enum {
17
- CONST_DEPRECATED = 0x100,
18
-
19
- CONST_VISIBILITY_MASK = 0xff,
20
- CONST_PUBLIC = 0x00,
21
- CONST_PRIVATE,
22
- CONST_VISIBILITY_MAX
23
- } rb_const_flag_t;
24
-
25
- #define RB_CONST_PRIVATE_P(ce) \
26
- (((ce)->flag & CONST_VISIBILITY_MASK) == CONST_PRIVATE)
27
- #define RB_CONST_PUBLIC_P(ce) \
28
- (((ce)->flag & CONST_VISIBILITY_MASK) == CONST_PUBLIC)
29
-
30
- #define RB_CONST_DEPRECATED_P(ce) \
31
- ((ce)->flag & CONST_DEPRECATED)
32
-
33
- typedef struct rb_const_entry_struct {
34
- rb_const_flag_t flag;
35
- int line;
36
- VALUE value; /* should be mark */
37
- VALUE file; /* should be mark */
38
- } rb_const_entry_t;
39
-
40
- VALUE rb_mod_private_constant(int argc, const VALUE *argv, VALUE obj);
41
- VALUE rb_mod_public_constant(int argc, const VALUE *argv, VALUE obj);
42
- VALUE rb_mod_deprecate_constant(int argc, const VALUE *argv, VALUE obj);
43
- void rb_free_const_table(struct rb_id_table *tbl);
44
- VALUE rb_const_source_location(VALUE, ID);
45
-
46
- int rb_autoloading_value(VALUE mod, ID id, VALUE *value, rb_const_flag_t *flag);
47
- rb_const_entry_t *rb_const_lookup(VALUE klass, ID id);
48
- VALUE rb_public_const_get_at(VALUE klass, ID id);
49
- VALUE rb_public_const_get_from(VALUE klass, ID id);
50
- int rb_public_const_defined_from(VALUE klass, ID id);
51
- VALUE rb_const_source_location_at(VALUE, ID);
52
-
53
- #endif /* CONSTANT_H */
@@ -1,246 +0,0 @@
1
- #ifndef RUBY_DARRAY_H
2
- #define RUBY_DARRAY_H
3
-
4
- #include <stdint.h>
5
- #include <stddef.h>
6
- #include <stdlib.h>
7
-
8
- #include "internal/bits.h"
9
- #include "internal/gc.h"
10
-
11
- // Type for a dynamic array. Use to declare a dynamic array.
12
- // It is a pointer so it fits in st_table nicely. Designed
13
- // to be fairly type-safe.
14
- //
15
- // NULL is a valid empty dynamic array.
16
- //
17
- // Example:
18
- // rb_darray(char) char_array = NULL;
19
- // rb_darray_append(&char_array, 'e');
20
- // printf("pushed %c\n", *rb_darray_ref(char_array, 0));
21
- // rb_darray_free(char_array);
22
- //
23
- #define rb_darray(T) struct { rb_darray_meta_t meta; T data[]; } *
24
-
25
- // Copy an element out of the array. Warning: not bounds checked.
26
- //
27
- // T rb_darray_get(rb_darray(T) ary, size_t idx);
28
- //
29
- #define rb_darray_get(ary, idx) ((ary)->data[(idx)])
30
-
31
- // Assign to an element. Warning: not bounds checked.
32
- //
33
- // void rb_darray_set(rb_darray(T) ary, size_t idx, T element);
34
- //
35
- #define rb_darray_set(ary, idx, element) ((ary)->data[(idx)] = (element))
36
-
37
- // Get a pointer to an element. Warning: not bounds checked.
38
- //
39
- // T *rb_darray_ref(rb_darray(T) ary, size_t idx);
40
- //
41
- #define rb_darray_ref(ary, idx) (&((ary)->data[(idx)]))
42
-
43
- /* Copy a new element into the array. ptr_to_ary is evaluated multiple times.
44
- *
45
- * void rb_darray_append(rb_darray(T) *ptr_to_ary, T element);
46
- */
47
- #define rb_darray_append(ptr_to_ary, element) \
48
- rb_darray_append_impl(ptr_to_ary, element, rb_xrealloc_mul_add)
49
-
50
- #define rb_darray_append_without_gc(ptr_to_ary, element) \
51
- rb_darray_append_impl(ptr_to_ary, element, rb_darray_realloc_mul_add_without_gc)
52
-
53
- #define rb_darray_append_impl(ptr_to_ary, element, realloc_func) do { \
54
- rb_darray_ensure_space((ptr_to_ary), \
55
- sizeof(**(ptr_to_ary)), \
56
- sizeof((*(ptr_to_ary))->data[0]), \
57
- realloc_func); \
58
- rb_darray_set(*(ptr_to_ary), \
59
- (*(ptr_to_ary))->meta.size, \
60
- (element)); \
61
- (*(ptr_to_ary))->meta.size++; \
62
- } while (0)
63
-
64
- // Iterate over items of the array in a for loop
65
- //
66
- #define rb_darray_foreach(ary, idx_name, elem_ptr_var) \
67
- for (size_t idx_name = 0; idx_name < rb_darray_size(ary) && ((elem_ptr_var) = rb_darray_ref(ary, idx_name)); ++idx_name)
68
-
69
- // Iterate over valid indices in the array in a for loop
70
- //
71
- #define rb_darray_for(ary, idx_name) \
72
- for (size_t idx_name = 0; idx_name < rb_darray_size(ary); ++idx_name)
73
-
74
- /* Make a dynamic array of a certain size. All bytes backing the elements are set to zero.
75
- * Return 1 on success and 0 on failure.
76
- *
77
- * Note that NULL is a valid empty dynamic array.
78
- *
79
- * void rb_darray_make(rb_darray(T) *ptr_to_ary, size_t size);
80
- */
81
- #define rb_darray_make(ptr_to_ary, size) \
82
- rb_darray_make_impl((ptr_to_ary), size, sizeof(**(ptr_to_ary)), \
83
- sizeof((*(ptr_to_ary))->data[0]), rb_xcalloc_mul_add)
84
-
85
- #define rb_darray_make_without_gc(ptr_to_ary, size) \
86
- rb_darray_make_impl((ptr_to_ary), size, sizeof(**(ptr_to_ary)), \
87
- sizeof((*(ptr_to_ary))->data[0]), rb_darray_calloc_mul_add_without_gc)
88
-
89
- /* Resize the darray to a new capacity. The new capacity must be greater than
90
- * or equal to the size of the darray.
91
- *
92
- * void rb_darray_resize_capa(rb_darray(T) *ptr_to_ary, size_t capa);
93
- */
94
- #define rb_darray_resize_capa_without_gc(ptr_to_ary, capa) \
95
- rb_darray_resize_capa_impl((ptr_to_ary), rb_darray_next_power_of_two(capa), sizeof(**(ptr_to_ary)), \
96
- sizeof((*(ptr_to_ary))->data[0]), rb_darray_realloc_mul_add_without_gc)
97
-
98
- #define rb_darray_data_ptr(ary) ((ary)->data)
99
-
100
- typedef struct rb_darray_meta {
101
- size_t size;
102
- size_t capa;
103
- } rb_darray_meta_t;
104
-
105
- /* Set the size of the array to zero without freeing the backing memory.
106
- * Allows reusing the same array. */
107
- static inline void
108
- rb_darray_clear(void *ary)
109
- {
110
- rb_darray_meta_t *meta = ary;
111
- if (meta) {
112
- meta->size = 0;
113
- }
114
- }
115
-
116
- // Get the size of the dynamic array.
117
- //
118
- static inline size_t
119
- rb_darray_size(const void *ary)
120
- {
121
- const rb_darray_meta_t *meta = ary;
122
- return meta ? meta->size : 0;
123
- }
124
-
125
- // Get the capacity of the dynamic array.
126
- //
127
- static inline size_t
128
- rb_darray_capa(const void *ary)
129
- {
130
- const rb_darray_meta_t *meta = ary;
131
- return meta ? meta->capa : 0;
132
- }
133
-
134
- /* Free the dynamic array. */
135
- static inline void
136
- rb_darray_free(void *ary)
137
- {
138
- rb_darray_meta_t *meta = ary;
139
- if (meta) ruby_sized_xfree(ary, meta->capa);
140
- }
141
-
142
- static inline void
143
- rb_darray_free_without_gc(void *ary)
144
- {
145
- free(ary);
146
- }
147
-
148
- /* Internal function. Like rb_xcalloc_mul_add but does not trigger GC and does
149
- * not check for overflow in arithmetic. */
150
- static inline void *
151
- rb_darray_calloc_mul_add_without_gc(size_t x, size_t y, size_t z)
152
- {
153
- size_t size = (x * y) + z;
154
-
155
- void *ptr = calloc(1, size);
156
- if (ptr == NULL) rb_bug("rb_darray_calloc_mul_add_without_gc: failed");
157
-
158
- return ptr;
159
- }
160
-
161
- /* Internal function. Like rb_xrealloc_mul_add but does not trigger GC and does
162
- * not check for overflow in arithmetic. */
163
- static inline void *
164
- rb_darray_realloc_mul_add_without_gc(const void *orig_ptr, size_t x, size_t y, size_t z)
165
- {
166
- size_t size = (x * y) + z;
167
-
168
- void *ptr = realloc((void *)orig_ptr, size);
169
- if (ptr == NULL) rb_bug("rb_darray_realloc_mul_add_without_gc: failed");
170
-
171
- return ptr;
172
- }
173
-
174
- /* Internal function. Returns the next power of two that is greater than or
175
- * equal to n. */
176
- static inline size_t
177
- rb_darray_next_power_of_two(size_t n)
178
- {
179
- return (size_t)(1 << (64 - nlz_int64(n)));
180
- }
181
-
182
- /* Internal function. Resizes the capacity of a darray. The new capacity must
183
- * be greater than or equal to the size of the darray. */
184
- static inline void
185
- rb_darray_resize_capa_impl(void *ptr_to_ary, size_t new_capa, size_t header_size, size_t element_size,
186
- void *(*realloc_mul_add_impl)(const void *, size_t, size_t, size_t))
187
- {
188
- rb_darray_meta_t **ptr_to_ptr_to_meta = ptr_to_ary;
189
- rb_darray_meta_t *meta = *ptr_to_ptr_to_meta;
190
-
191
- rb_darray_meta_t *new_ary = realloc_mul_add_impl(meta, new_capa, element_size, header_size);
192
-
193
- if (meta == NULL) {
194
- /* First allocation. Initialize size. On subsequence allocations
195
- * realloc takes care of carrying over the size. */
196
- new_ary->size = 0;
197
- }
198
-
199
- assert(new_ary->size <= new_capa);
200
-
201
- new_ary->capa = new_capa;
202
-
203
- // We don't have access to the type of the dynamic array in function context.
204
- // Write out result with memcpy to avoid strict aliasing issue.
205
- memcpy(ptr_to_ary, &new_ary, sizeof(new_ary));
206
- }
207
-
208
- // Internal function
209
- // Ensure there is space for one more element.
210
- // Note: header_size can be bigger than sizeof(rb_darray_meta_t) when T is __int128_t, for example.
211
- static inline void
212
- rb_darray_ensure_space(void *ptr_to_ary, size_t header_size, size_t element_size,
213
- void *(*realloc_mul_add_impl)(const void *, size_t, size_t, size_t))
214
- {
215
- rb_darray_meta_t **ptr_to_ptr_to_meta = ptr_to_ary;
216
- rb_darray_meta_t *meta = *ptr_to_ptr_to_meta;
217
- size_t current_capa = rb_darray_capa(meta);
218
- if (rb_darray_size(meta) < current_capa) return;
219
-
220
- // Double the capacity
221
- size_t new_capa = current_capa == 0 ? 1 : current_capa * 2;
222
-
223
- rb_darray_resize_capa_impl(ptr_to_ary, new_capa, header_size, element_size, realloc_mul_add_impl);
224
- }
225
-
226
- static inline void
227
- rb_darray_make_impl(void *ptr_to_ary, size_t array_size, size_t header_size, size_t element_size,
228
- void *(*calloc_mul_add_impl)(size_t, size_t, size_t))
229
- {
230
- rb_darray_meta_t **ptr_to_ptr_to_meta = ptr_to_ary;
231
- if (array_size == 0) {
232
- *ptr_to_ptr_to_meta = NULL;
233
- return;
234
- }
235
-
236
- rb_darray_meta_t *meta = calloc_mul_add_impl(array_size, element_size, header_size);
237
-
238
- meta->size = array_size;
239
- meta->capa = array_size;
240
-
241
- // We don't have access to the type of the dynamic array in function context.
242
- // Write out result with memcpy to avoid strict aliasing issue.
243
- memcpy(ptr_to_ary, &meta, sizeof(meta));
244
- }
245
-
246
- #endif /* RUBY_DARRAY_H */