debase-ruby_core_source 0.10.9 → 0.10.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +1 -1
  4. data/Rakefile +6 -3
  5. data/debase-ruby_core_source.gemspec +2 -1
  6. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/addr2line.h +2 -3
  7. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/builtin.h +17 -2
  8. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/build_assert/build_assert.h +0 -0
  9. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/check_type/check_type.h +0 -0
  10. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/container_of/container_of.h +0 -0
  11. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/list/list.h +0 -0
  12. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/str/str.h +0 -0
  13. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/constant.h +10 -5
  14. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/debug_counter.h +127 -48
  15. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/dln.h +3 -18
  16. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/encindex.h +3 -2
  17. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/eval_intern.h +16 -7
  18. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/gc.h +13 -2
  19. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/hrtime.h +0 -0
  20. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/id.h +0 -0
  21. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/id_table.h +2 -0
  22. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/insns.inc +0 -4
  23. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/insns_info.inc +323 -536
  24. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/array.h +119 -0
  25. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/bignum.h +246 -0
  26. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/bits.h +566 -0
  27. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/class.h +174 -0
  28. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compar.h +50 -0
  29. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compile.h +32 -0
  30. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compilers.h +108 -0
  31. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/complex.h +29 -0
  32. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/cont.h +25 -0
  33. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/dir.h +17 -0
  34. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enc.h +20 -0
  35. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/encoding.h +28 -0
  36. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enum.h +19 -0
  37. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enumerator.h +22 -0
  38. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/error.h +124 -0
  39. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/eval.h +33 -0
  40. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/file.h +39 -0
  41. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/fixnum.h +185 -0
  42. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/gc.h +161 -0
  43. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/hash.h +241 -0
  44. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/imemo.h +243 -0
  45. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/inits.h +51 -0
  46. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/io.h +35 -0
  47. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/load.h +19 -0
  48. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/loadpath.h +17 -0
  49. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/math.h +24 -0
  50. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/missing.h +19 -0
  51. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/numeric.h +255 -0
  52. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/object.h +83 -0
  53. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/parse.h +23 -0
  54. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/proc.h +33 -0
  55. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/process.h +136 -0
  56. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/random.h +17 -0
  57. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/range.h +41 -0
  58. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/rational.h +71 -0
  59. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/re.h +29 -0
  60. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/sanitizers.h +191 -0
  61. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/scheduler.h +44 -0
  62. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/serial.h +24 -0
  63. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/signal.h +22 -0
  64. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/static_assert.h +17 -0
  65. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/string.h +140 -0
  66. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/struct.h +154 -0
  67. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/symbol.h +41 -0
  68. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h +54 -0
  69. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/time.h +35 -0
  70. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/transcode.h +21 -0
  71. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/util.h +31 -0
  72. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/variable.h +84 -0
  73. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/vm.h +136 -0
  74. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/warnings.h +17 -0
  75. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal.h +107 -0
  76. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/iseq.h +11 -18
  77. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/known_errors.inc +0 -0
  78. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/method.h +21 -8
  79. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/mjit.h +89 -48
  80. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/mjit_compile.inc +2746 -2288
  81. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/node.h +32 -24
  82. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/node_name.inc +2 -2
  83. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/opt_sc.inc +0 -0
  84. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/optinsn.inc +0 -0
  85. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/optunifs.inc +0 -0
  86. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/parse.h +1 -0
  87. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/probes_helper.h +2 -0
  88. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ractor_core.h +343 -0
  89. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/regenc.h +0 -0
  90. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/regint.h +1 -1
  91. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/regparse.h +0 -0
  92. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/revision.h +2 -0
  93. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ruby_assert.h +15 -0
  94. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ruby_atomic.h +23 -0
  95. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/siphash.h +0 -0
  96. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/symbol.h +4 -4
  97. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/thread_pthread.h +45 -5
  98. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/thread_win32.h +28 -3
  99. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/timev.h +1 -0
  100. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/transcode_data.h +2 -3
  101. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/transient_heap.h +6 -3
  102. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/variable.h +22 -0
  103. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/version.h +23 -11
  104. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vm.inc +707 -671
  105. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vm_call_iseq_optimized.inc +93 -86
  106. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_callinfo.h +456 -0
  107. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/vm_core.h +262 -194
  108. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_debug.h +116 -0
  109. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/vm_exec.h +9 -6
  110. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/vm_insnhelper.h +28 -26
  111. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vm_opts.h +6 -5
  112. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_sync.h +136 -0
  113. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vmtc.inc +0 -4
  114. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/addr2line.h +2 -3
  115. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/builtin.h +83 -0
  116. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/build_assert/build_assert.h +13 -13
  117. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/check_type/check_type.h +17 -17
  118. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/container_of/container_of.h +63 -63
  119. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/list/list.h +262 -262
  120. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/str/str.h +4 -4
  121. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/constant.h +10 -9
  122. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/darray.h +198 -0
  123. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/debug_counter.h +137 -48
  124. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/dln.h +3 -23
  125. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/encindex.h +3 -2
  126. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/eval_intern.h +34 -41
  127. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/gc.h +24 -11
  128. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/hrtime.h +9 -9
  129. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/id.h +4 -3
  130. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/id_table.h +3 -1
  131. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/insns.inc +6 -8
  132. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/insns_info.inc +1907 -2543
  133. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/array.h +113 -0
  134. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/bignum.h +246 -0
  135. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/bits.h +565 -0
  136. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/class.h +188 -0
  137. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/compar.h +49 -0
  138. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/compile.h +35 -0
  139. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/compilers.h +107 -0
  140. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/complex.h +29 -0
  141. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/cont.h +24 -0
  142. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/dir.h +16 -0
  143. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/enc.h +19 -0
  144. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/encoding.h +30 -0
  145. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/enum.h +18 -0
  146. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/enumerator.h +21 -0
  147. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/error.h +191 -0
  148. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/eval.h +32 -0
  149. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/file.h +38 -0
  150. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/fixnum.h +184 -0
  151. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/gc.h +175 -0
  152. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/hash.h +243 -0
  153. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/imemo.h +243 -0
  154. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/inits.h +50 -0
  155. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/io.h +38 -0
  156. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/load.h +18 -0
  157. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/loadpath.h +16 -0
  158. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/math.h +23 -0
  159. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/missing.h +18 -0
  160. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/numeric.h +271 -0
  161. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/object.h +83 -0
  162. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/parse.h +23 -0
  163. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/proc.h +32 -0
  164. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/process.h +137 -0
  165. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/random.h +16 -0
  166. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/range.h +40 -0
  167. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/rational.h +72 -0
  168. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/re.h +30 -0
  169. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/sanitizers.h +190 -0
  170. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/serial.h +23 -0
  171. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/signal.h +21 -0
  172. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/static_assert.h +16 -0
  173. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/string.h +141 -0
  174. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/struct.h +153 -0
  175. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/symbol.h +40 -0
  176. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/thread.h +53 -0
  177. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/time.h +34 -0
  178. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/transcode.h +20 -0
  179. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/util.h +27 -0
  180. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/variable.h +83 -0
  181. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/vm.h +132 -0
  182. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/warnings.h +16 -0
  183. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal.h +109 -0
  184. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/iseq.h +44 -35
  185. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/known_errors.inc +0 -0
  186. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/method.h +21 -4
  187. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/mjit.h +231 -0
  188. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/mjit_compile.inc +3322 -2940
  189. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/node.h +39 -23
  190. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/node_name.inc +210 -0
  191. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/opt_sc.inc +0 -2
  192. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/optinsn.inc +7 -7
  193. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/optunifs.inc +1 -1
  194. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/parse.h +9 -5
  195. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/probes_helper.h +9 -7
  196. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/ractor_core.h +346 -0
  197. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/regenc.h +8 -8
  198. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/regint.h +16 -12
  199. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/regparse.h +2 -2
  200. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/revision.h +2 -0
  201. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/ruby_assert.h +14 -0
  202. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/ruby_atomic.h +23 -0
  203. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/siphash.h +0 -0
  204. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/symbol.h +14 -14
  205. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/thread_pthread.h +45 -5
  206. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/thread_win32.h +30 -5
  207. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/timev.h +1 -0
  208. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/transcode_data.h +49 -50
  209. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/transient_heap.h +6 -3
  210. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/variable.h +21 -0
  211. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/version.h +15 -4
  212. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/vm.inc +1033 -887
  213. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_call_iseq_optimized.inc +244 -0
  214. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_callinfo.h +454 -0
  215. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/vm_core.h +508 -362
  216. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_debug.h +119 -0
  217. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/vm_exec.h +22 -18
  218. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/vm_insnhelper.h +42 -32
  219. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/vm_opts.h +8 -5
  220. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_sync.h +137 -0
  221. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/vmtc.inc +6 -8
  222. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit.h +63 -0
  223. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_asm.h +392 -0
  224. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_codegen.h +19 -0
  225. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_core.h +302 -0
  226. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_iface.h +38 -0
  227. data/lib/debase/ruby_core_source/version.rb +1 -1
  228. data/lib/debase/ruby_core_source.rb +0 -2
  229. metadata +240 -110
  230. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/internal.h +0 -2682
  231. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/revision.h +0 -2
  232. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ruby_assert.h +0 -15
  233. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ruby_atomic.h +0 -244
  234. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_call_iseq_optimized.inc +0 -237
  235. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_debug.h +0 -34
  236. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/internal.h +0 -2657
  237. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/mjit.h +0 -175
  238. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/node_name.inc +0 -208
  239. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/revision.h +0 -2
  240. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/ruby_assert.h +0 -15
  241. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/ruby_atomic.h +0 -244
  242. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/vm_debug.h +0 -34
@@ -13,15 +13,15 @@
13
13
  *
14
14
  * This is used as an entry in a linked list.
15
15
  * Example:
16
- * struct child {
17
- * const char *name;
18
- * // Linked list of all us children.
19
- * struct list_node list;
20
- * };
16
+ * struct child {
17
+ * const char *name;
18
+ * // Linked list of all us children.
19
+ * struct list_node list;
20
+ * };
21
21
  */
22
22
  struct list_node
23
23
  {
24
- struct list_node *next, *prev;
24
+ struct list_node *next, *prev;
25
25
  };
26
26
 
27
27
  /**
@@ -30,15 +30,15 @@ struct list_node
30
30
  *
31
31
  * This is used as the head of a linked list.
32
32
  * Example:
33
- * struct parent {
34
- * const char *name;
35
- * struct list_head children;
36
- * unsigned int num_children;
37
- * };
33
+ * struct parent {
34
+ * const char *name;
35
+ * struct list_head children;
36
+ * unsigned int num_children;
37
+ * };
38
38
  */
39
39
  struct list_head
40
40
  {
41
- struct list_node n;
41
+ struct list_node n;
42
42
  };
43
43
 
44
44
  #define LIST_LOC __FILE__ ":" stringify(__LINE__)
@@ -52,10 +52,10 @@ struct list_head
52
52
  * Explicit initializer for an empty list.
53
53
  *
54
54
  * See also:
55
- * LIST_HEAD, list_head_init()
55
+ * LIST_HEAD, list_head_init()
56
56
  *
57
57
  * Example:
58
- * static struct list_head my_list = LIST_HEAD_INIT(my_list);
58
+ * static struct list_head my_list = LIST_HEAD_INIT(my_list);
59
59
  */
60
60
  #define LIST_HEAD_INIT(name) { { &(name).n, &(name).n } }
61
61
 
@@ -67,28 +67,28 @@ struct list_head
67
67
  * list. It can be prepended by "static" to define a static list_head.
68
68
  *
69
69
  * See also:
70
- * LIST_HEAD_INIT, list_head_init()
70
+ * LIST_HEAD_INIT, list_head_init()
71
71
  *
72
72
  * Example:
73
- * static LIST_HEAD(my_global_list);
73
+ * static LIST_HEAD(my_global_list);
74
74
  */
75
75
  #define LIST_HEAD(name) \
76
- struct list_head name = LIST_HEAD_INIT(name)
76
+ struct list_head name = LIST_HEAD_INIT(name)
77
77
 
78
78
  /**
79
79
  * list_head_init - initialize a list_head
80
80
  * @h: the list_head to set to the empty list
81
81
  *
82
82
  * Example:
83
- * ...
84
- * struct parent *parent = malloc(sizeof(*parent));
83
+ * ...
84
+ * struct parent *parent = malloc(sizeof(*parent));
85
85
  *
86
- * list_head_init(&parent->children);
87
- * parent->num_children = 0;
86
+ * list_head_init(&parent->children);
87
+ * parent->num_children = 0;
88
88
  */
89
89
  static inline void list_head_init(struct list_head *h)
90
90
  {
91
- h->n.next = h->n.prev = &h->n;
91
+ h->n.next = h->n.prev = &h->n;
92
92
  }
93
93
 
94
94
  /**
@@ -100,7 +100,7 @@ static inline void list_head_init(struct list_head *h)
100
100
  */
101
101
  static inline void list_node_init(struct list_node *n)
102
102
  {
103
- n->next = n->prev = n;
103
+ n->next = n->prev = n;
104
104
  }
105
105
 
106
106
  /**
@@ -113,24 +113,24 @@ static inline void list_node_init(struct list_node *n)
113
113
  * The new list_node does not need to be initialized; it will be overwritten.
114
114
  *
115
115
  * Example:
116
- * struct child c1, c2, c3;
117
- * LIST_HEAD(h);
116
+ * struct child c1, c2, c3;
117
+ * LIST_HEAD(h);
118
118
  *
119
- * list_add_tail(&h, &c1.list);
120
- * list_add_tail(&h, &c3.list);
121
- * list_add_after(&h, &c1.list, &c2.list);
119
+ * list_add_tail(&h, &c1.list);
120
+ * list_add_tail(&h, &c3.list);
121
+ * list_add_after(&h, &c1.list, &c2.list);
122
122
  */
123
123
  #define list_add_after(h, p, n) list_add_after_(h, p, n, LIST_LOC)
124
124
  static inline void list_add_after_(struct list_head *h,
125
- struct list_node *p,
126
- struct list_node *n,
127
- const char *abortstr)
125
+ struct list_node *p,
126
+ struct list_node *n,
127
+ const char *abortstr)
128
128
  {
129
- n->next = p->next;
130
- n->prev = p;
131
- p->next->prev = n;
132
- p->next = n;
133
- (void)list_debug(h, abortstr);
129
+ n->next = p->next;
130
+ n->prev = p;
131
+ p->next->prev = n;
132
+ p->next = n;
133
+ (void)list_debug(h, abortstr);
134
134
  }
135
135
 
136
136
  /**
@@ -140,18 +140,18 @@ static inline void list_add_after_(struct list_head *h,
140
140
  *
141
141
  * The list_node does not need to be initialized; it will be overwritten.
142
142
  * Example:
143
- * struct child *child = malloc(sizeof(*child));
143
+ * struct child *child = malloc(sizeof(*child));
144
144
  *
145
- * child->name = "marvin";
146
- * list_add(&parent->children, &child->list);
147
- * parent->num_children++;
145
+ * child->name = "marvin";
146
+ * list_add(&parent->children, &child->list);
147
+ * parent->num_children++;
148
148
  */
149
149
  #define list_add(h, n) list_add_(h, n, LIST_LOC)
150
150
  static inline void list_add_(struct list_head *h,
151
- struct list_node *n,
152
- const char *abortstr)
151
+ struct list_node *n,
152
+ const char *abortstr)
153
153
  {
154
- list_add_after_(h, &h->n, n, abortstr);
154
+ list_add_after_(h, &h->n, n, abortstr);
155
155
  }
156
156
 
157
157
  /**
@@ -164,22 +164,22 @@ static inline void list_add_(struct list_head *h,
164
164
  * The new list_node does not need to be initialized; it will be overwritten.
165
165
  *
166
166
  * Example:
167
- * list_head_init(&h);
168
- * list_add_tail(&h, &c1.list);
169
- * list_add_tail(&h, &c3.list);
170
- * list_add_before(&h, &c3.list, &c2.list);
167
+ * list_head_init(&h);
168
+ * list_add_tail(&h, &c1.list);
169
+ * list_add_tail(&h, &c3.list);
170
+ * list_add_before(&h, &c3.list, &c2.list);
171
171
  */
172
172
  #define list_add_before(h, p, n) list_add_before_(h, p, n, LIST_LOC)
173
173
  static inline void list_add_before_(struct list_head *h,
174
- struct list_node *p,
175
- struct list_node *n,
176
- const char *abortstr)
174
+ struct list_node *p,
175
+ struct list_node *n,
176
+ const char *abortstr)
177
177
  {
178
- n->next = p;
179
- n->prev = p->prev;
180
- p->prev->next = n;
181
- p->prev = n;
182
- (void)list_debug(h, abortstr);
178
+ n->next = p;
179
+ n->prev = p->prev;
180
+ p->prev->next = n;
181
+ p->prev = n;
182
+ (void)list_debug(h, abortstr);
183
183
  }
184
184
 
185
185
  /**
@@ -189,15 +189,15 @@ static inline void list_add_before_(struct list_head *h,
189
189
  *
190
190
  * The list_node does not need to be initialized; it will be overwritten.
191
191
  * Example:
192
- * list_add_tail(&parent->children, &child->list);
193
- * parent->num_children++;
192
+ * list_add_tail(&parent->children, &child->list);
193
+ * parent->num_children++;
194
194
  */
195
195
  #define list_add_tail(h, n) list_add_tail_(h, n, LIST_LOC)
196
196
  static inline void list_add_tail_(struct list_head *h,
197
- struct list_node *n,
198
- const char *abortstr)
197
+ struct list_node *n,
198
+ const char *abortstr)
199
199
  {
200
- list_add_before_(h, &h->n, n, abortstr);
200
+ list_add_before_(h, &h->n, n, abortstr);
201
201
  }
202
202
 
203
203
  /**
@@ -207,13 +207,13 @@ static inline void list_add_tail_(struct list_head *h,
207
207
  * If the list is empty, returns true.
208
208
  *
209
209
  * Example:
210
- * assert(list_empty(&parent->children) == (parent->num_children == 0));
210
+ * assert(list_empty(&parent->children) == (parent->num_children == 0));
211
211
  */
212
212
  #define list_empty(h) list_empty_(h, LIST_LOC)
213
213
  static inline int list_empty_(const struct list_head *h, const char* abortstr)
214
214
  {
215
- (void)list_debug(h, abortstr);
216
- return h->n.next == &h->n;
215
+ (void)list_debug(h, abortstr);
216
+ return h->n.next == &h->n;
217
217
  }
218
218
 
219
219
  /**
@@ -226,14 +226,14 @@ static inline int list_empty_(const struct list_head *h, const char* abortstr)
226
226
  * know what you're doing.
227
227
  *
228
228
  * Example:
229
- * assert(list_empty_nodebug(&parent->children) == (parent->num_children == 0));
229
+ * assert(list_empty_nodebug(&parent->children) == (parent->num_children == 0));
230
230
  */
231
231
  #ifndef CCAN_LIST_DEBUG
232
232
  #define list_empty_nodebug(h) list_empty(h)
233
233
  #else
234
234
  static inline int list_empty_nodebug(const struct list_head *h)
235
235
  {
236
- return h->n.next == &h->n;
236
+ return h->n.next == &h->n;
237
237
  }
238
238
  #endif
239
239
 
@@ -249,7 +249,7 @@ static inline int list_empty_nodebug(const struct list_head *h)
249
249
  */
250
250
  static inline bool list_empty_nocheck(const struct list_head *h)
251
251
  {
252
- return h->n.next == &h->n;
252
+ return h->n.next == &h->n;
253
253
  }
254
254
 
255
255
  /**
@@ -260,21 +260,21 @@ static inline bool list_empty_nocheck(const struct list_head *h)
260
260
  * another list, but not deleted again.
261
261
  *
262
262
  * See also:
263
- * list_del_from(), list_del_init()
263
+ * list_del_from(), list_del_init()
264
264
  *
265
265
  * Example:
266
- * list_del(&child->list);
267
- * parent->num_children--;
266
+ * list_del(&child->list);
267
+ * parent->num_children--;
268
268
  */
269
269
  #define list_del(n) list_del_(n, LIST_LOC)
270
270
  static inline void list_del_(struct list_node *n, const char* abortstr)
271
271
  {
272
- (void)list_debug_node(n, abortstr);
273
- n->next->prev = n->prev;
274
- n->prev->next = n->next;
272
+ (void)list_debug_node(n, abortstr);
273
+ n->next->prev = n->prev;
274
+ n->prev->next = n->next;
275
275
  #ifdef CCAN_LIST_DEBUG
276
- /* Catch use-after-del. */
277
- n->next = n->prev = NULL;
276
+ /* Catch use-after-del. */
277
+ n->next = n->prev = NULL;
278
278
  #endif
279
279
  }
280
280
 
@@ -286,17 +286,17 @@ static inline void list_del_(struct list_node *n, const char* abortstr)
286
286
  * which can be useful in some cases.
287
287
  *
288
288
  * See also:
289
- * list_del_from(), list_del()
289
+ * list_del_from(), list_del()
290
290
  *
291
291
  * Example:
292
- * list_del_init(&child->list);
293
- * parent->num_children--;
292
+ * list_del_init(&child->list);
293
+ * parent->num_children--;
294
294
  */
295
295
  #define list_del_init(n) list_del_init_(n, LIST_LOC)
296
296
  static inline void list_del_init_(struct list_node *n, const char *abortstr)
297
297
  {
298
- list_del_(n, abortstr);
299
- list_node_init(n);
298
+ list_del_(n, abortstr);
299
+ list_node_init(n);
300
300
  }
301
301
 
302
302
  /**
@@ -310,23 +310,23 @@ static inline void list_del_init_(struct list_node *n, const char *abortstr)
310
310
  * See also: list_del()
311
311
  *
312
312
  * Example:
313
- * list_del_from(&parent->children, &child->list);
314
- * parent->num_children--;
313
+ * list_del_from(&parent->children, &child->list);
314
+ * parent->num_children--;
315
315
  */
316
316
  static inline void list_del_from(struct list_head *h, struct list_node *n)
317
317
  {
318
318
  #ifdef CCAN_LIST_DEBUG
319
- {
320
- /* Thorough check: make sure it was in list! */
321
- struct list_node *i;
322
- for (i = h->n.next; i != n; i = i->next)
323
- assert(i != &h->n);
324
- }
319
+ {
320
+ /* Thorough check: make sure it was in list! */
321
+ struct list_node *i;
322
+ for (i = h->n.next; i != n; i = i->next)
323
+ assert(i != &h->n);
324
+ }
325
325
  #endif /* CCAN_LIST_DEBUG */
326
326
 
327
- /* Quick test that catches a surprising number of bugs. */
328
- assert(!list_empty(h));
329
- list_del(n);
327
+ /* Quick test that catches a surprising number of bugs. */
328
+ assert(!list_empty(h));
329
+ list_del(n);
330
330
  }
331
331
 
332
332
  /**
@@ -338,27 +338,27 @@ static inline void list_del_from(struct list_head *h, struct list_node *n)
338
338
  * another list, but not deleted/swapped again.
339
339
  *
340
340
  * See also:
341
- * list_del()
341
+ * list_del()
342
342
  *
343
343
  * Example:
344
- * struct child x1, x2;
345
- * LIST_HEAD(xh);
344
+ * struct child x1, x2;
345
+ * LIST_HEAD(xh);
346
346
  *
347
- * list_add(&xh, &x1.list);
348
- * list_swap(&x1.list, &x2.list);
347
+ * list_add(&xh, &x1.list);
348
+ * list_swap(&x1.list, &x2.list);
349
349
  */
350
350
  #define list_swap(o, n) list_swap_(o, n, LIST_LOC)
351
351
  static inline void list_swap_(struct list_node *o,
352
- struct list_node *n,
353
- const char* abortstr)
352
+ struct list_node *n,
353
+ const char* abortstr)
354
354
  {
355
- (void)list_debug_node(o, abortstr);
356
- *n = *o;
357
- n->next->prev = n;
358
- n->prev->next = n;
355
+ (void)list_debug_node(o, abortstr);
356
+ *n = *o;
357
+ n->next->prev = n;
358
+ n->prev->next = n;
359
359
  #ifdef CCAN_LIST_DEBUG
360
- /* Catch use-after-del. */
361
- o->next = o->prev = NULL;
360
+ /* Catch use-after-del. */
361
+ o->next = o->prev = NULL;
362
362
  #endif
363
363
  }
364
364
 
@@ -369,11 +369,11 @@ static inline void list_swap_(struct list_node *o,
369
369
  * @member: the list_node member of the type
370
370
  *
371
371
  * Example:
372
- * // First list entry is children.next; convert back to child.
373
- * child = list_entry(parent->children.n.next, struct child, list);
372
+ * // First list entry is children.next; convert back to child.
373
+ * child = list_entry(parent->children.n.next, struct child, list);
374
374
  *
375
375
  * See Also:
376
- * list_top(), list_for_each()
376
+ * list_top(), list_for_each()
377
377
  */
378
378
  #define list_entry(n, type, member) container_of(n, type, member)
379
379
 
@@ -386,19 +386,19 @@ static inline void list_swap_(struct list_node *o,
386
386
  * If the list is empty, returns NULL.
387
387
  *
388
388
  * Example:
389
- * struct child *first;
390
- * first = list_top(&parent->children, struct child, list);
391
- * if (!first)
392
- * printf("Empty list!\n");
389
+ * struct child *first;
390
+ * first = list_top(&parent->children, struct child, list);
391
+ * if (!first)
392
+ * printf("Empty list!\n");
393
393
  */
394
- #define list_top(h, type, member) \
395
- ((type *)list_top_((h), list_off_(type, member)))
394
+ #define list_top(h, type, member) \
395
+ ((type *)list_top_((h), list_off_(type, member)))
396
396
 
397
397
  static inline const void *list_top_(const struct list_head *h, size_t off)
398
398
  {
399
- if (list_empty(h))
400
- return NULL;
401
- return (const char *)h->n.next - off;
399
+ if (list_empty(h))
400
+ return NULL;
401
+ return (const char *)h->n.next - off;
402
402
  }
403
403
 
404
404
  /**
@@ -410,23 +410,23 @@ static inline const void *list_top_(const struct list_head *h, size_t off)
410
410
  * If the list is empty, returns NULL.
411
411
  *
412
412
  * Example:
413
- * struct child *one;
414
- * one = list_pop(&parent->children, struct child, list);
415
- * if (!one)
416
- * printf("Empty list!\n");
413
+ * struct child *one;
414
+ * one = list_pop(&parent->children, struct child, list);
415
+ * if (!one)
416
+ * printf("Empty list!\n");
417
417
  */
418
- #define list_pop(h, type, member) \
419
- ((type *)list_pop_((h), list_off_(type, member)))
418
+ #define list_pop(h, type, member) \
419
+ ((type *)list_pop_((h), list_off_(type, member)))
420
420
 
421
421
  static inline const void *list_pop_(const struct list_head *h, size_t off)
422
422
  {
423
- struct list_node *n;
423
+ struct list_node *n;
424
424
 
425
- if (list_empty(h))
426
- return NULL;
427
- n = h->n.next;
428
- list_del(n);
429
- return (const char *)n - off;
425
+ if (list_empty(h))
426
+ return NULL;
427
+ n = h->n.next;
428
+ list_del(n);
429
+ return (const char *)n - off;
430
430
  }
431
431
 
432
432
  /**
@@ -438,19 +438,19 @@ static inline const void *list_pop_(const struct list_head *h, size_t off)
438
438
  * If the list is empty, returns NULL.
439
439
  *
440
440
  * Example:
441
- * struct child *last;
442
- * last = list_tail(&parent->children, struct child, list);
443
- * if (!last)
444
- * printf("Empty list!\n");
441
+ * struct child *last;
442
+ * last = list_tail(&parent->children, struct child, list);
443
+ * if (!last)
444
+ * printf("Empty list!\n");
445
445
  */
446
446
  #define list_tail(h, type, member) \
447
- ((type *)list_tail_((h), list_off_(type, member)))
447
+ ((type *)list_tail_((h), list_off_(type, member)))
448
448
 
449
449
  static inline const void *list_tail_(const struct list_head *h, size_t off)
450
450
  {
451
- if (list_empty(h))
452
- return NULL;
453
- return (const char *)h->n.prev - off;
451
+ if (list_empty(h))
452
+ return NULL;
453
+ return (const char *)h->n.prev - off;
454
454
  }
455
455
 
456
456
  /**
@@ -463,11 +463,11 @@ static inline const void *list_tail_(const struct list_head *h, size_t off)
463
463
  * a for loop, so you can break and continue as normal.
464
464
  *
465
465
  * Example:
466
- * list_for_each(&parent->children, child, list)
467
- * printf("Name: %s\n", child->name);
466
+ * list_for_each(&parent->children, child, list)
467
+ * printf("Name: %s\n", child->name);
468
468
  */
469
- #define list_for_each(h, i, member) \
470
- list_for_each_off(h, i, list_off_var_(i, member))
469
+ #define list_for_each(h, i, member) \
470
+ list_for_each_off(h, i, list_off_var_(i, member))
471
471
 
472
472
  /**
473
473
  * list_for_each_rev - iterate through a list backwards.
@@ -479,11 +479,11 @@ static inline const void *list_tail_(const struct list_head *h, size_t off)
479
479
  * a for loop, so you can break and continue as normal.
480
480
  *
481
481
  * Example:
482
- * list_for_each_rev(&parent->children, child, list)
483
- * printf("Name: %s\n", child->name);
482
+ * list_for_each_rev(&parent->children, child, list)
483
+ * printf("Name: %s\n", child->name);
484
484
  */
485
- #define list_for_each_rev(h, i, member) \
486
- list_for_each_rev_off(h, i, list_off_var_(i, member))
485
+ #define list_for_each_rev(h, i, member) \
486
+ list_for_each_rev_off(h, i, list_off_var_(i, member))
487
487
 
488
488
  /**
489
489
  * list_for_each_rev_safe - iterate through a list backwards,
@@ -499,13 +499,13 @@ static inline const void *list_tail_(const struct list_head *h, size_t off)
499
499
  * from the list.
500
500
  *
501
501
  * Example:
502
- * struct child *next;
503
- * list_for_each_rev_safe(&parent->children, child, next, list) {
504
- * printf("Name: %s\n", child->name);
505
- * }
502
+ * struct child *next;
503
+ * list_for_each_rev_safe(&parent->children, child, next, list) {
504
+ * printf("Name: %s\n", child->name);
505
+ * }
506
506
  */
507
- #define list_for_each_rev_safe(h, i, nxt, member) \
508
- list_for_each_rev_safe_off(h, i, nxt, list_off_var_(i, member))
507
+ #define list_for_each_rev_safe(h, i, nxt, member) \
508
+ list_for_each_rev_safe_off(h, i, nxt, list_off_var_(i, member))
509
509
 
510
510
  /**
511
511
  * list_for_each_safe - iterate through a list, maybe during deletion
@@ -519,13 +519,13 @@ static inline const void *list_tail_(const struct list_head *h, size_t off)
519
519
  * @nxt is used to hold the next element, so you can delete @i from the list.
520
520
  *
521
521
  * Example:
522
- * list_for_each_safe(&parent->children, child, next, list) {
523
- * list_del(&child->list);
524
- * parent->num_children--;
525
- * }
522
+ * list_for_each_safe(&parent->children, child, next, list) {
523
+ * list_del(&child->list);
524
+ * parent->num_children--;
525
+ * }
526
526
  */
527
- #define list_for_each_safe(h, i, nxt, member) \
528
- list_for_each_safe_off(h, i, nxt, list_off_var_(i, member))
527
+ #define list_for_each_safe(h, i, nxt, member) \
528
+ list_for_each_safe_off(h, i, nxt, list_off_var_(i, member))
529
529
 
530
530
  /**
531
531
  * list_next - get the next entry in a list
@@ -536,16 +536,16 @@ static inline const void *list_tail_(const struct list_head *h, size_t off)
536
536
  * If @i was the last entry in the list, returns NULL.
537
537
  *
538
538
  * Example:
539
- * struct child *second;
540
- * second = list_next(&parent->children, first, list);
541
- * if (!second)
542
- * printf("No second child!\n");
539
+ * struct child *second;
540
+ * second = list_next(&parent->children, first, list);
541
+ * if (!second)
542
+ * printf("No second child!\n");
543
543
  */
544
- #define list_next(h, i, member) \
545
- ((list_typeof(i))list_entry_or_null(list_debug(h, \
546
- __FILE__ ":" stringify(__LINE__)), \
547
- (i)->member.next, \
548
- list_off_var_((i), member)))
544
+ #define list_next(h, i, member) \
545
+ ((list_typeof(i))list_entry_or_null(list_debug(h, \
546
+ __FILE__ ":" stringify(__LINE__)), \
547
+ (i)->member.next, \
548
+ list_off_var_((i), member)))
549
549
 
550
550
  /**
551
551
  * list_prev - get the previous entry in a list
@@ -556,15 +556,15 @@ static inline const void *list_tail_(const struct list_head *h, size_t off)
556
556
  * If @i was the first entry in the list, returns NULL.
557
557
  *
558
558
  * Example:
559
- * first = list_prev(&parent->children, second, list);
560
- * if (!first)
561
- * printf("Can't go back to first child?!\n");
559
+ * first = list_prev(&parent->children, second, list);
560
+ * if (!first)
561
+ * printf("Can't go back to first child?!\n");
562
562
  */
563
- #define list_prev(h, i, member) \
564
- ((list_typeof(i))list_entry_or_null(list_debug(h, \
565
- __FILE__ ":" stringify(__LINE__)), \
566
- (i)->member.prev, \
567
- list_off_var_((i), member)))
563
+ #define list_prev(h, i, member) \
564
+ ((list_typeof(i))list_entry_or_null(list_debug(h, \
565
+ __FILE__ ":" stringify(__LINE__)), \
566
+ (i)->member.prev, \
567
+ list_off_var_((i), member)))
568
568
 
569
569
  /**
570
570
  * list_append_list - empty one list onto the end of another.
@@ -575,30 +575,30 @@ static inline const void *list_tail_(const struct list_head *h, size_t off)
575
575
  * @to. After this @from will be empty.
576
576
  *
577
577
  * Example:
578
- * struct list_head adopter;
578
+ * struct list_head adopter;
579
579
  *
580
- * list_append_list(&adopter, &parent->children);
581
- * assert(list_empty(&parent->children));
582
- * parent->num_children = 0;
580
+ * list_append_list(&adopter, &parent->children);
581
+ * assert(list_empty(&parent->children));
582
+ * parent->num_children = 0;
583
583
  */
584
- #define list_append_list(t, f) list_append_list_(t, f, \
585
- __FILE__ ":" stringify(__LINE__))
584
+ #define list_append_list(t, f) list_append_list_(t, f, \
585
+ __FILE__ ":" stringify(__LINE__))
586
586
  static inline void list_append_list_(struct list_head *to,
587
- struct list_head *from,
588
- const char *abortstr)
587
+ struct list_head *from,
588
+ const char *abortstr)
589
589
  {
590
- struct list_node *from_tail = list_debug(from, abortstr)->n.prev;
591
- struct list_node *to_tail = list_debug(to, abortstr)->n.prev;
592
-
593
- /* Sew in head and entire list. */
594
- to->n.prev = from_tail;
595
- from_tail->next = &to->n;
596
- to_tail->next = &from->n;
597
- from->n.prev = to_tail;
598
-
599
- /* Now remove head. */
600
- list_del(&from->n);
601
- list_head_init(from);
590
+ struct list_node *from_tail = list_debug(from, abortstr)->n.prev;
591
+ struct list_node *to_tail = list_debug(to, abortstr)->n.prev;
592
+
593
+ /* Sew in head and entire list. */
594
+ to->n.prev = from_tail;
595
+ from_tail->next = &to->n;
596
+ to_tail->next = &from->n;
597
+ from->n.prev = to_tail;
598
+
599
+ /* Now remove head. */
600
+ list_del(&from->n);
601
+ list_head_init(from);
602
602
  }
603
603
 
604
604
  /**
@@ -610,46 +610,46 @@ static inline void list_append_list_(struct list_head *to,
610
610
  * of @to. After this @from will be empty.
611
611
  *
612
612
  * Example:
613
- * list_prepend_list(&adopter, &parent->children);
614
- * assert(list_empty(&parent->children));
615
- * parent->num_children = 0;
613
+ * list_prepend_list(&adopter, &parent->children);
614
+ * assert(list_empty(&parent->children));
615
+ * parent->num_children = 0;
616
616
  */
617
617
  #define list_prepend_list(t, f) list_prepend_list_(t, f, LIST_LOC)
618
618
  static inline void list_prepend_list_(struct list_head *to,
619
- struct list_head *from,
620
- const char *abortstr)
619
+ struct list_head *from,
620
+ const char *abortstr)
621
621
  {
622
- struct list_node *from_tail = list_debug(from, abortstr)->n.prev;
623
- struct list_node *to_head = list_debug(to, abortstr)->n.next;
624
-
625
- /* Sew in head and entire list. */
626
- to->n.next = &from->n;
627
- from->n.prev = &to->n;
628
- to_head->prev = from_tail;
629
- from_tail->next = to_head;
630
-
631
- /* Now remove head. */
632
- list_del(&from->n);
633
- list_head_init(from);
622
+ struct list_node *from_tail = list_debug(from, abortstr)->n.prev;
623
+ struct list_node *to_head = list_debug(to, abortstr)->n.next;
624
+
625
+ /* Sew in head and entire list. */
626
+ to->n.next = &from->n;
627
+ from->n.prev = &to->n;
628
+ to_head->prev = from_tail;
629
+ from_tail->next = to_head;
630
+
631
+ /* Now remove head. */
632
+ list_del(&from->n);
633
+ list_head_init(from);
634
634
  }
635
635
 
636
636
  /* internal macros, do not use directly */
637
- #define list_for_each_off_dir_(h, i, off, dir) \
638
- for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.dir, \
639
- (off)); \
640
- list_node_from_off_((void *)i, (off)) != &(h)->n; \
641
- i = list_node_to_off_(list_node_from_off_((void *)i, (off))->dir, \
642
- (off)))
643
-
644
- #define list_for_each_safe_off_dir_(h, i, nxt, off, dir) \
645
- for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.dir, \
646
- (off)), \
647
- nxt = list_node_to_off_(list_node_from_off_(i, (off))->dir, \
648
- (off)); \
649
- list_node_from_off_(i, (off)) != &(h)->n; \
650
- i = nxt, \
651
- nxt = list_node_to_off_(list_node_from_off_(i, (off))->dir, \
652
- (off)))
637
+ #define list_for_each_off_dir_(h, i, off, dir) \
638
+ for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.dir, \
639
+ (off)); \
640
+ list_node_from_off_((void *)i, (off)) != &(h)->n; \
641
+ i = list_node_to_off_(list_node_from_off_((void *)i, (off))->dir, \
642
+ (off)))
643
+
644
+ #define list_for_each_safe_off_dir_(h, i, nxt, off, dir) \
645
+ for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.dir, \
646
+ (off)), \
647
+ nxt = list_node_to_off_(list_node_from_off_(i, (off))->dir, \
648
+ (off)); \
649
+ list_node_from_off_(i, (off)) != &(h)->n; \
650
+ i = nxt, \
651
+ nxt = list_node_to_off_(list_node_from_off_(i, (off))->dir, \
652
+ (off)))
653
653
 
654
654
  /**
655
655
  * list_for_each_off - iterate through a list of memory regions.
@@ -658,7 +658,7 @@ static inline void list_prepend_list_(struct list_head *to,
658
658
  * @off: offset(relative to @i) at which list node data resides.
659
659
  *
660
660
  * This is a low-level wrapper to iterate @i over the entire list, used to
661
- * implement all oher, more high-level, for-each constructs. It's a for loop,
661
+ * implement all other, more high-level, for-each constructs. It's a for loop,
662
662
  * so you can break and continue as normal.
663
663
  *
664
664
  * WARNING! Being the low-level macro that it is, this wrapper doesn't know
@@ -676,12 +676,12 @@ static inline void list_prepend_list_(struct list_head *to,
676
676
  * @i.
677
677
  *
678
678
  * Example:
679
- * list_for_each_off(&parent->children, child,
680
- * offsetof(struct child, list))
681
- * printf("Name: %s\n", child->name);
679
+ * list_for_each_off(&parent->children, child,
680
+ * offsetof(struct child, list))
681
+ * printf("Name: %s\n", child->name);
682
682
  */
683
683
  #define list_for_each_off(h, i, off) \
684
- list_for_each_off_dir_((h),(i),(off),next)
684
+ list_for_each_off_dir_((h),(i),(off),next)
685
685
 
686
686
  /**
687
687
  * list_for_each_rev_off - iterate through a list of memory regions backwards
@@ -692,7 +692,7 @@ static inline void list_prepend_list_(struct list_head *to,
692
692
  * See list_for_each_off for details
693
693
  */
694
694
  #define list_for_each_rev_off(h, i, off) \
695
- list_for_each_off_dir_((h),(i),(off),prev)
695
+ list_for_each_off_dir_((h),(i),(off),prev)
696
696
 
697
697
  /**
698
698
  * list_for_each_safe_off - iterate through a list of memory regions, maybe
@@ -706,12 +706,12 @@ static inline void list_prepend_list_(struct list_head *to,
706
706
  * descriptions.
707
707
  *
708
708
  * Example:
709
- * list_for_each_safe_off(&parent->children, child,
710
- * next, offsetof(struct child, list))
711
- * printf("Name: %s\n", child->name);
709
+ * list_for_each_safe_off(&parent->children, child,
710
+ * next, offsetof(struct child, list))
711
+ * printf("Name: %s\n", child->name);
712
712
  */
713
713
  #define list_for_each_safe_off(h, i, nxt, off) \
714
- list_for_each_safe_off_dir_((h),(i),(nxt),(off),next)
714
+ list_for_each_safe_off_dir_((h),(i),(nxt),(off),next)
715
715
 
716
716
  /**
717
717
  * list_for_each_rev_safe_off - iterate backwards through a list of
@@ -725,50 +725,50 @@ static inline void list_prepend_list_(struct list_head *to,
725
725
  * descriptions.
726
726
  *
727
727
  * Example:
728
- * list_for_each_rev_safe_off(&parent->children, child,
729
- * next, offsetof(struct child, list))
730
- * printf("Name: %s\n", child->name);
728
+ * list_for_each_rev_safe_off(&parent->children, child,
729
+ * next, offsetof(struct child, list))
730
+ * printf("Name: %s\n", child->name);
731
731
  */
732
732
  #define list_for_each_rev_safe_off(h, i, nxt, off) \
733
- list_for_each_safe_off_dir_((h),(i),(nxt),(off),prev)
733
+ list_for_each_safe_off_dir_((h),(i),(nxt),(off),prev)
734
734
 
735
735
  /* Other -off variants. */
736
- #define list_entry_off(n, type, off) \
737
- ((type *)list_node_from_off_((n), (off)))
736
+ #define list_entry_off(n, type, off) \
737
+ ((type *)list_node_from_off_((n), (off)))
738
738
 
739
- #define list_head_off(h, type, off) \
740
- ((type *)list_head_off((h), (off)))
739
+ #define list_head_off(h, type, off) \
740
+ ((type *)list_head_off((h), (off)))
741
741
 
742
- #define list_tail_off(h, type, off) \
743
- ((type *)list_tail_((h), (off)))
742
+ #define list_tail_off(h, type, off) \
743
+ ((type *)list_tail_((h), (off)))
744
744
 
745
745
  #define list_add_off(h, n, off) \
746
- list_add((h), list_node_from_off_((n), (off)))
746
+ list_add((h), list_node_from_off_((n), (off)))
747
747
 
748
748
  #define list_del_off(n, off) \
749
- list_del(list_node_from_off_((n), (off)))
749
+ list_del(list_node_from_off_((n), (off)))
750
750
 
751
- #define list_del_from_off(h, n, off) \
752
- list_del_from(h, list_node_from_off_((n), (off)))
751
+ #define list_del_from_off(h, n, off) \
752
+ list_del_from(h, list_node_from_off_((n), (off)))
753
753
 
754
754
  /* Offset helper functions so we only single-evaluate. */
755
755
  static inline void *list_node_to_off_(struct list_node *node, size_t off)
756
756
  {
757
- return (void *)((char *)node - off);
757
+ return (void *)((char *)node - off);
758
758
  }
759
759
  static inline struct list_node *list_node_from_off_(void *ptr, size_t off)
760
760
  {
761
- return (struct list_node *)((char *)ptr + off);
761
+ return (struct list_node *)((char *)ptr + off);
762
762
  }
763
763
 
764
764
  /* Get the offset of the member, but make sure it's a list_node. */
765
- #define list_off_(type, member) \
766
- (container_off(type, member) + \
767
- check_type(((type *)0)->member, struct list_node))
765
+ #define list_off_(type, member) \
766
+ (container_off(type, member) + \
767
+ check_type(((type *)0)->member, struct list_node))
768
768
 
769
- #define list_off_var_(var, member) \
770
- (container_off_var(var, member) + \
771
- check_type(var->member, struct list_node))
769
+ #define list_off_var_(var, member) \
770
+ (container_off_var(var, member) + \
771
+ check_type(var->member, struct list_node))
772
772
 
773
773
  #if HAVE_TYPEOF
774
774
  #define list_typeof(var) typeof(var)
@@ -778,11 +778,11 @@ static inline struct list_node *list_node_from_off_(void *ptr, size_t off)
778
778
 
779
779
  /* Returns member, or NULL if at end of list. */
780
780
  static inline void *list_entry_or_null(const struct list_head *h,
781
- const struct list_node *n,
782
- size_t off)
781
+ const struct list_node *n,
782
+ size_t off)
783
783
  {
784
- if (n == &h->n)
785
- return NULL;
786
- return (char *)n - off;
784
+ if (n == &h->n)
785
+ return NULL;
786
+ return (char *)n - off;
787
787
  }
788
788
  #endif /* CCAN_LIST_H */