debase-ruby_core_source 0.10.13 → 0.10.16

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 (303) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -0
  3. data/debase-ruby_core_source.gemspec +3 -3
  4. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/addr2line.h +1 -1
  5. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-2.5.4-p155}/ccan/build_assert/build_assert.h +0 -0
  6. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-2.5.4-p155}/ccan/check_type/check_type.h +0 -0
  7. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-2.5.4-p155}/ccan/container_of/container_of.h +0 -0
  8. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/list/list.h +773 -0
  9. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-2.5.4-p155}/ccan/str/str.h +0 -0
  10. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/constant.h +51 -0
  11. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +109 -0
  12. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/dln.h +10 -9
  13. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/encindex.h +69 -0
  14. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +334 -0
  15. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/gc.h +27 -10
  16. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/id.h +250 -0
  17. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/id_table.h +31 -0
  18. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/insns.inc +217 -0
  19. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +1570 -0
  20. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/internal.h +2036 -0
  21. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/iseq.h +308 -0
  22. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/known_errors.inc +16 -1
  23. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/method.h +218 -0
  24. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/node.h +115 -79
  25. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/node_name.inc +12 -22
  26. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +1601 -0
  27. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +103 -0
  28. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/optunifs.inc +28 -83
  29. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/parse.h +74 -60
  30. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +43 -0
  31. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/regenc.h +254 -0
  32. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/regint.h +299 -211
  33. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/regparse.h +45 -37
  34. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/revision.h +1 -0
  35. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ruby_assert.h +54 -0
  36. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/ruby_atomic.h +84 -26
  37. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/siphash.h +1 -1
  38. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/symbol.h +108 -0
  39. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/thread_pthread.h +14 -11
  40. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/thread_win32.h +2 -6
  41. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/timev.h +42 -0
  42. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/transcode_data.h +34 -12
  43. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/version.h +73 -0
  44. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm.inc +3667 -0
  45. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +213 -0
  46. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm_core.h +1768 -0
  47. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550/debug.h → ruby-2.5.4-p155/vm_debug.h} +4 -8
  48. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/vm_exec.h +38 -30
  49. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +255 -0
  50. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/vm_opts.h +14 -9
  51. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +214 -0
  52. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/addr2line.h +0 -0
  53. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/builtin.h +1 -0
  54. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/ccan/build_assert/build_assert.h +40 -0
  55. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/ccan/check_type/check_type.h +63 -0
  56. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/ccan/container_of/container_of.h +142 -0
  57. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/ccan/list/list.h +0 -0
  58. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/ccan/str/str.h +16 -0
  59. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/constant.h +0 -0
  60. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/darray.h +0 -0
  61. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/debug_counter.h +2 -0
  62. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/dln.h +0 -0
  63. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/encindex.h +0 -0
  64. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/eval_intern.h +32 -1
  65. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/gc.h +0 -1
  66. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/hrtime.h +0 -0
  67. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/id.h +0 -0
  68. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/id_table.h +0 -0
  69. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/insns.inc +4 -2
  70. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/insns_info.inc +309 -224
  71. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/array.h +0 -0
  72. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/bignum.h +0 -0
  73. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/bits.h +0 -0
  74. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/class.h +13 -5
  75. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/compar.h +0 -0
  76. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/compile.h +0 -0
  77. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/compilers.h +0 -0
  78. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/complex.h +0 -0
  79. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/cont.h +0 -0
  80. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/dir.h +0 -0
  81. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/enc.h +0 -0
  82. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/encoding.h +0 -0
  83. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/enum.h +0 -0
  84. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/enumerator.h +0 -0
  85. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/error.h +0 -0
  86. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/eval.h +0 -0
  87. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/file.h +0 -0
  88. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/fixnum.h +0 -0
  89. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/gc.h +12 -1
  90. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/hash.h +0 -0
  91. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/imemo.h +0 -0
  92. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/inits.h +0 -0
  93. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/io.h +0 -0
  94. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/load.h +0 -0
  95. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/loadpath.h +0 -0
  96. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/math.h +0 -0
  97. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/missing.h +0 -0
  98. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/numeric.h +0 -0
  99. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/object.h +0 -0
  100. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/parse.h +0 -0
  101. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/proc.h +0 -0
  102. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/process.h +0 -0
  103. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/random.h +0 -0
  104. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/range.h +0 -0
  105. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/rational.h +0 -0
  106. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/re.h +0 -0
  107. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/sanitizers.h +0 -0
  108. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/serial.h +0 -0
  109. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/signal.h +0 -0
  110. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/static_assert.h +0 -0
  111. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/string.h +0 -0
  112. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/struct.h +0 -0
  113. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/symbol.h +1 -0
  114. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/thread.h +0 -0
  115. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/time.h +0 -0
  116. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/transcode.h +0 -0
  117. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/util.h +0 -0
  118. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/variable.h +0 -0
  119. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/vm.h +2 -1
  120. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal/warnings.h +0 -0
  121. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/internal.h +0 -0
  122. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/iseq.h +3 -1
  123. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/known_errors.inc +0 -0
  124. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/method.h +14 -6
  125. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/mjit.h +0 -0
  126. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/mjit_compile.inc +64 -7
  127. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/node.h +28 -17
  128. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/node_name.inc +0 -2
  129. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/opt_sc.inc +2 -0
  130. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/optinsn.inc +0 -0
  131. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/optunifs.inc +1 -1
  132. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/parse.h +0 -0
  133. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/probes_helper.h +0 -0
  134. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/ractor_core.h +0 -0
  135. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/regenc.h +0 -0
  136. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/regint.h +0 -0
  137. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/regparse.h +0 -0
  138. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/revision.h +2 -0
  139. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/ruby_assert.h +0 -0
  140. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/ruby_atomic.h +0 -0
  141. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/siphash.h +0 -0
  142. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/symbol.h +0 -0
  143. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/thread_pthread.h +0 -0
  144. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/thread_win32.h +0 -0
  145. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/timev.h +0 -0
  146. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/transcode_data.h +0 -0
  147. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/transient_heap.h +0 -0
  148. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/variable.h +0 -0
  149. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/version.h +4 -4
  150. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/vm.inc +338 -283
  151. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/vm_call_iseq_optimized.inc +0 -0
  152. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/vm_callinfo.h +41 -8
  153. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/vm_core.h +6 -2
  154. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/vm_debug.h +8 -3
  155. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/vm_exec.h +0 -0
  156. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/vm_insnhelper.h +0 -0
  157. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/vm_opts.h +0 -0
  158. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/vm_sync.h +137 -0
  159. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/vmtc.inc +4 -2
  160. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/yjit.h +11 -1
  161. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/yjit_asm.h +21 -5
  162. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/yjit_codegen.h +5 -1
  163. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/yjit_core.h +11 -6
  164. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.1.0-p0}/yjit_iface.h +0 -0
  165. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/addr2line.h +20 -0
  166. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/builtin.h +84 -0
  167. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/build_assert/build_assert.h +40 -0
  168. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/check_type/check_type.h +63 -0
  169. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/container_of/container_of.h +142 -0
  170. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/list/list.h +789 -0
  171. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/str/str.h +17 -0
  172. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/constant.h +55 -0
  173. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/darray.h +226 -0
  174. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/debug_counter.h +469 -0
  175. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/dln.h +31 -0
  176. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/encindex.h +70 -0
  177. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/eval_intern.h +339 -0
  178. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/gc.h +143 -0
  179. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/hrtime.h +216 -0
  180. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/id.h +295 -0
  181. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/id_table.h +36 -0
  182. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/insns.inc +249 -0
  183. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/insns_info.inc +9064 -0
  184. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/array.h +113 -0
  185. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/bignum.h +246 -0
  186. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/bits.h +565 -0
  187. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/class.h +211 -0
  188. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/cmdlineopt.h +61 -0
  189. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/compar.h +49 -0
  190. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/compile.h +35 -0
  191. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/compilers.h +107 -0
  192. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/complex.h +29 -0
  193. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/cont.h +24 -0
  194. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/dir.h +16 -0
  195. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/enc.h +19 -0
  196. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/encoding.h +30 -0
  197. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/enum.h +18 -0
  198. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/enumerator.h +21 -0
  199. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/error.h +191 -0
  200. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/eval.h +32 -0
  201. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/file.h +38 -0
  202. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/fixnum.h +184 -0
  203. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/gc.h +188 -0
  204. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/hash.h +243 -0
  205. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/imemo.h +243 -0
  206. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/inits.h +50 -0
  207. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/io.h +38 -0
  208. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/load.h +18 -0
  209. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/loadpath.h +16 -0
  210. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/math.h +23 -0
  211. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/missing.h +18 -0
  212. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/numeric.h +271 -0
  213. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/object.h +83 -0
  214. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/parse.h +23 -0
  215. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/proc.h +32 -0
  216. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/process.h +137 -0
  217. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/ractor.h +6 -0
  218. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/random.h +16 -0
  219. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/range.h +40 -0
  220. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/rational.h +72 -0
  221. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/re.h +30 -0
  222. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/sanitizers.h +190 -0
  223. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/serial.h +23 -0
  224. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/signal.h +21 -0
  225. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/static_assert.h +16 -0
  226. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/string.h +141 -0
  227. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/struct.h +153 -0
  228. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/symbol.h +41 -0
  229. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/thread.h +53 -0
  230. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/time.h +34 -0
  231. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/transcode.h +20 -0
  232. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/util.h +27 -0
  233. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/variable.h +83 -0
  234. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/vm.h +134 -0
  235. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/warnings.h +16 -0
  236. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal.h +109 -0
  237. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/iseq.h +325 -0
  238. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/known_errors.inc +791 -0
  239. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/method.h +254 -0
  240. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/mjit.h +231 -0
  241. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/mjit_compile.inc +8333 -0
  242. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/node.h +510 -0
  243. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/node_name.inc +208 -0
  244. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/opt_sc.inc +109 -0
  245. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/optinsn.inc +128 -0
  246. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/optunifs.inc +43 -0
  247. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/parse.h +214 -0
  248. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/probes_helper.h +44 -0
  249. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ractor_core.h +346 -0
  250. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/regenc.h +255 -0
  251. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/regint.h +957 -0
  252. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/regparse.h +370 -0
  253. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/revision.h +2 -0
  254. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ruby_assert.h +14 -0
  255. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ruby_atomic.h +23 -0
  256. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/siphash.h +48 -0
  257. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/symbol.h +119 -0
  258. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_none.h +17 -0
  259. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_pthread.h +115 -0
  260. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_win32.h +61 -0
  261. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/timev.h +57 -0
  262. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/transcode_data.h +138 -0
  263. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/transient_heap.h +65 -0
  264. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/variable.h +21 -0
  265. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/version.h +91 -0
  266. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm.inc +5481 -0
  267. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_call_iseq_optimized.inc +244 -0
  268. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_callinfo.h +502 -0
  269. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_core.h +2089 -0
  270. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_debug.h +113 -0
  271. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_exec.h +197 -0
  272. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_insnhelper.h +262 -0
  273. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_opts.h +73 -0
  274. data/lib/debase/ruby_core_source/{ruby-3.1.0-preview1 → ruby-3.2.0-preview1}/vm_sync.h +0 -0
  275. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vmtc.inc +243 -0
  276. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit.h +73 -0
  277. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_asm.h +408 -0
  278. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_codegen.h +23 -0
  279. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_core.h +307 -0
  280. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_iface.h +38 -0
  281. data/lib/debase/ruby_core_source/version.rb +1 -1
  282. metadata +284 -158
  283. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/constant.h +0 -34
  284. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/encdb.h +0 -167
  285. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/eval_intern.h +0 -234
  286. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/id.h +0 -177
  287. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/insns.inc +0 -179
  288. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/insns_info.inc +0 -695
  289. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/internal.h +0 -242
  290. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/iseq.h +0 -126
  291. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/method.h +0 -105
  292. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/opt_sc.inc +0 -670
  293. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/optinsn.inc +0 -30
  294. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/regenc.h +0 -219
  295. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/revision.h +0 -1
  296. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/timev.h +0 -21
  297. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/transdb.h +0 -189
  298. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/version.h +0 -52
  299. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm.inc +0 -3054
  300. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm_core.h +0 -763
  301. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm_insnhelper.h +0 -220
  302. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vmtc.inc +0 -97
  303. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/revision.h +0 -2
@@ -0,0 +1,191 @@
1
+ #ifndef INTERNAL_ERROR_H /*-*-C-*-vi:se ft=c:*/
2
+ #define INTERNAL_ERROR_H
3
+ /**
4
+ * @author Ruby developers <ruby-core@ruby-lang.org>
5
+ * @copyright This file is a part of the programming language Ruby.
6
+ * Permission is hereby granted, to either redistribute and/or
7
+ * modify this file, provided that the conditions mentioned in the
8
+ * file COPYING are met. Consult the file for details.
9
+ * @brief Internal header for Exception.
10
+ */
11
+ #include "ruby/internal/config.h"
12
+ #include <stdarg.h> /* for va_list */
13
+ #include "internal/string.h" /* for rb_fstring_cstr */
14
+ #include "ruby/internal/stdbool.h" /* for bool */
15
+ #include "ruby/encoding.h" /* for rb_encoding */
16
+ #include "ruby/intern.h" /* for rb_exc_raise */
17
+ #include "ruby/ruby.h" /* for enum ruby_value_type */
18
+
19
+ #ifdef Check_Type
20
+ # undef Check_Type /* in ruby/ruby.h */
21
+ #endif
22
+
23
+ #ifdef rb_raise_static
24
+ # undef rb_raise_static
25
+ # undef rb_sys_fail_path
26
+ # undef rb_syserr_fail_path
27
+ #endif
28
+
29
+ #define rb_raise_static(e, m) \
30
+ rb_raise_cstr_i((e), rb_str_new_static((m), rb_strlen_lit(m)))
31
+ #ifdef RUBY_FUNCTION_NAME_STRING
32
+ # define rb_sys_fail_path(path) rb_sys_fail_path_in(RUBY_FUNCTION_NAME_STRING, path)
33
+ # define rb_syserr_fail_path(err, path) rb_syserr_fail_path_in(RUBY_FUNCTION_NAME_STRING, (err), (path))
34
+ # define rb_syserr_new_path(err, path) rb_syserr_new_path_in(RUBY_FUNCTION_NAME_STRING, (err), (path))
35
+ #else
36
+ # define rb_sys_fail_path(path) rb_sys_fail_str(path)
37
+ # define rb_syserr_fail_path(err, path) rb_syserr_fail_str((err), (path))
38
+ # define rb_syserr_new_path(err, path) rb_syserr_new_str((err), (path))
39
+ #endif
40
+
41
+ /* error.c */
42
+ extern long rb_backtrace_length_limit;
43
+ extern VALUE rb_eEAGAIN;
44
+ extern VALUE rb_eEWOULDBLOCK;
45
+ extern VALUE rb_eEINPROGRESS;
46
+ RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, 3, 0)
47
+ void rb_report_bug_valist(VALUE file, int line, const char *fmt, va_list args);
48
+ NORETURN(void rb_async_bug_errno(const char *,int));
49
+ const char *rb_builtin_type_name(int t);
50
+ const char *rb_builtin_class_name(VALUE x);
51
+ PRINTF_ARGS(void rb_warn_deprecated(const char *fmt, const char *suggest, ...), 1, 3);
52
+ PRINTF_ARGS(void rb_warn_deprecated_to_remove(const char *removal, const char *fmt, const char *suggest, ...), 2, 4);
53
+ #if RUBY_DEBUG
54
+ # include "ruby/version.h"
55
+ # define RUBY_VERSION_SINCE(major, minor) (RUBY_API_VERSION_CODE >= (major * 10000) + (minor) * 100)
56
+ # define RUBY_VERSION_BEFORE(major, minor) (RUBY_API_VERSION_CODE < (major * 10000) + (minor) * 100)
57
+ # if defined(RBIMPL_WARNING_PRAGMA0)
58
+ # define RBIMPL_TODO0(x) RBIMPL_WARNING_PRAGMA0(message(x))
59
+ # elif RBIMPL_COMPILER_SINCE(MSVC, 12, 0, 0)
60
+ # define RBIMPL_TODO0(x) __pragma(message(x))
61
+ # endif
62
+
63
+ # if RBIMPL_HAS_ATTRIBUTE(diagnose_if) || defined(__OPTIMIZE__)
64
+
65
+ #define RUBY_VERSION_isdigit(c) ('0'<=(c)&&(c)<='9')
66
+ // upto 99
67
+ #define RUBY_VERSION__number_len(v, ofs) \
68
+ (!RUBY_VERSION_isdigit((v)[ofs]) ? \
69
+ 0 : !RUBY_VERSION_isdigit((v)[(ofs) + 1]) ? 1 : 2)
70
+ #define RUBY_VERSION__to_number(v, ofs) \
71
+ (!RUBY_VERSION_isdigit((v)[ofs]) ? \
72
+ 0 : !RUBY_VERSION_isdigit((v)[(ofs) + 1]) ? \
73
+ ((v)[ofs]-'0') : \
74
+ (((v)[ofs]-'0')*10+(v)[(ofs)+1]-'0'))
75
+
76
+ #define RUBY_VERSION_CODE_FROM_MAJOR_MINOR_STRING(v) \
77
+ (RUBY_VERSION__to_number(v, 0) * 10000 + \
78
+ ((v)[RUBY_VERSION__number_len(v, 0)] == '.' ? \
79
+ RUBY_VERSION__to_number(v, RUBY_VERSION__number_len(v, 0)+1) * 100 : 0))
80
+ #define RUBY_VERSION_STRING_SINCE(v) (RUBY_API_VERSION_CODE >= RUBY_VERSION_CODE_FROM_MAJOR_MINOR_STRING(v))
81
+ #define RUBY_VERSION_STRING_BEFORE(v) (RUBY_API_VERSION_CODE < RUBY_VERSION_CODE_FROM_MAJOR_MINOR_STRING(v))
82
+
83
+ # if RBIMPL_HAS_ATTRIBUTE(diagnose_if)
84
+ RBIMPL_ATTR_FORCEINLINE()
85
+ static void
86
+ rb_deprecated_method_to_be_removed(const char *removal)
87
+ RBIMPL_ATTR_DIAGNOSE_IF(!RUBY_VERSION_isdigit(removal[0]), "malformed version number", "error")
88
+ RBIMPL_ATTR_DIAGNOSE_IF(RUBY_VERSION_STRING_SINCE(removal), "deprecated method to be removed", "error")
89
+ {
90
+ }
91
+ # else
92
+ RBIMPL_ATTR_ERROR(("deprecated"))
93
+ void rb_deprecated_method_to_be_removed(const char *);
94
+ # define rb_deprecated_method_to_be_removed(removal) \
95
+ (sizeof(char[1-2*(!RUBY_VERSION_isdigit(removal[0]) || RUBY_VERSION_STRING_SINCE(removal))])!=1 ? \
96
+ rb_deprecated_method_to_be_removed(removal) : \
97
+ RBIMPL_ASSERT_NOTHING)
98
+ # endif
99
+ # define rb_warn_deprecated_to_remove_at(removal, ...) \
100
+ (rb_deprecated_method_to_be_removed(#removal), \
101
+ rb_warn_deprecated_to_remove(#removal, __VA_ARGS__))
102
+ # endif
103
+ #endif
104
+ #ifndef rb_warn_deprecated_to_remove_at
105
+ # define rb_warn_deprecated_to_remove_at(removal, ...) \
106
+ rb_warn_deprecated_to_remove(#removal, __VA_ARGS__)
107
+ #endif
108
+ #ifndef RUBY_VERSION_SINCE
109
+ # define RUBY_VERSION_SINCE(major, minor) 0
110
+ #endif
111
+ #ifndef RUBY_VERSION_BEFORE
112
+ # define RUBY_VERSION_BEFORE(major, minor) 0
113
+ #endif
114
+ #ifndef RBIMPL_TODO0
115
+ # define RBIMPL_TODO0(x)
116
+ #endif
117
+ #define RBIMPL_TODO(message) RBIMPL_TODO0("TODO: " message)
118
+ RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, 6, 0)
119
+ VALUE rb_syntax_error_append(VALUE, VALUE, int, int, rb_encoding*, const char*, va_list);
120
+ PRINTF_ARGS(void rb_enc_warn(rb_encoding *enc, const char *fmt, ...), 2, 3);
121
+ PRINTF_ARGS(void rb_sys_enc_warning(rb_encoding *enc, const char *fmt, ...), 2, 3);
122
+ PRINTF_ARGS(void rb_syserr_enc_warning(int err, rb_encoding *enc, const char *fmt, ...), 3, 4);
123
+ rb_warning_category_t rb_warning_category_from_name(VALUE category);
124
+ bool rb_warning_category_enabled_p(rb_warning_category_t category);
125
+ VALUE rb_name_err_new(VALUE mesg, VALUE recv, VALUE method);
126
+ VALUE rb_nomethod_err_new(VALUE mesg, VALUE recv, VALUE method, VALUE args, int priv);
127
+ VALUE rb_key_err_new(VALUE mesg, VALUE recv, VALUE name);
128
+ PRINTF_ARGS(VALUE rb_warning_string(const char *fmt, ...), 1, 2);
129
+ RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, 2, 0)
130
+ NORETURN(void rb_vraise(VALUE, const char *, va_list));
131
+ NORETURN(static inline void rb_raise_cstr(VALUE etype, const char *mesg));
132
+ NORETURN(static inline void rb_raise_cstr_i(VALUE etype, VALUE mesg));
133
+ NORETURN(static inline void rb_name_err_raise_str(VALUE mesg, VALUE recv, VALUE name));
134
+ NORETURN(static inline void rb_name_err_raise(const char *mesg, VALUE recv, VALUE name));
135
+ NORETURN(static inline void rb_key_err_raise(VALUE mesg, VALUE recv, VALUE name));
136
+ static inline void Check_Type(VALUE v, enum ruby_value_type t);
137
+ static inline bool rb_typeddata_is_instance_of_inline(VALUE obj, const rb_data_type_t *data_type);
138
+ #define rb_typeddata_is_instance_of rb_typeddata_is_instance_of_inline
139
+
140
+ RUBY_SYMBOL_EXPORT_BEGIN
141
+ /* error.c (export) */
142
+ int rb_bug_reporter_add(void (*func)(FILE *, void *), void *data);
143
+ #ifdef RUBY_FUNCTION_NAME_STRING
144
+ NORETURN(void rb_sys_fail_path_in(const char *func_name, VALUE path));
145
+ NORETURN(void rb_syserr_fail_path_in(const char *func_name, int err, VALUE path));
146
+ VALUE rb_syserr_new_path_in(const char *func_name, int n, VALUE path);
147
+ #endif
148
+ RUBY_SYMBOL_EXPORT_END
149
+
150
+ static inline void
151
+ rb_raise_cstr_i(VALUE etype, VALUE mesg)
152
+ {
153
+ VALUE exc = rb_exc_new_str(etype, mesg);
154
+ rb_exc_raise(exc);
155
+ }
156
+
157
+ static inline void
158
+ rb_raise_cstr(VALUE etype, const char *mesg)
159
+ {
160
+ VALUE str = rb_str_new_cstr(mesg);
161
+ rb_raise_cstr_i(etype, str);
162
+ }
163
+
164
+ static inline void
165
+ rb_name_err_raise_str(VALUE mesg, VALUE recv, VALUE name)
166
+ {
167
+ VALUE exc = rb_name_err_new(mesg, recv, name);
168
+ rb_exc_raise(exc);
169
+ }
170
+
171
+ static inline void
172
+ rb_name_err_raise(const char *mesg, VALUE recv, VALUE name)
173
+ {
174
+ VALUE str = rb_fstring_cstr(mesg);
175
+ rb_name_err_raise_str(str, recv, name);
176
+ }
177
+
178
+ static inline void
179
+ rb_key_err_raise(VALUE mesg, VALUE recv, VALUE name)
180
+ {
181
+ VALUE exc = rb_key_err_new(mesg, recv, name);
182
+ rb_exc_raise(exc);
183
+ }
184
+
185
+ static inline bool
186
+ rb_typeddata_is_instance_of_inline(VALUE obj, const rb_data_type_t *data_type)
187
+ {
188
+ return RB_TYPE_P(obj, T_DATA) && RTYPEDDATA_P(obj) && (RTYPEDDATA_TYPE(obj) == data_type);
189
+ }
190
+
191
+ #endif /* INTERNAL_ERROR_H */
@@ -0,0 +1,32 @@
1
+ #ifndef INTERNAL_EVAL_H /*-*-C-*-vi:se ft=c:*/
2
+ #define INTERNAL_EVAL_H
3
+ /**
4
+ * @author Ruby developers <ruby-core@ruby-lang.org>
5
+ * @copyright This file is a part of the programming language Ruby.
6
+ * Permission is hereby granted, to either redistribute and/or
7
+ * modify this file, provided that the conditions mentioned in the
8
+ * file COPYING are met. Consult the file for details.
9
+ * @brief Internal header for the evaluator.
10
+ * @note There also is eval_intern.h, which is evaluator's internal
11
+ * header (related to this file, but not the same role).
12
+ */
13
+ #include "ruby/ruby.h" /* for ID */
14
+
15
+ #define id_signo ruby_static_id_signo
16
+ #define id_status ruby_static_id_status
17
+
18
+ /* eval.c */
19
+ extern ID ruby_static_id_signo;
20
+ extern ID ruby_static_id_status;
21
+ VALUE rb_refinement_module_get_refined_class(VALUE module);
22
+ void rb_class_modify_check(VALUE);
23
+ NORETURN(VALUE rb_f_raise(int argc, VALUE *argv));
24
+
25
+ /* eval_error.c */
26
+ VALUE rb_get_backtrace(VALUE info);
27
+
28
+ /* eval_jump.c */
29
+ void rb_call_end_proc(VALUE data);
30
+ void rb_mark_end_proc(void);
31
+
32
+ #endif /* INTERNAL_EVAL_H */
@@ -0,0 +1,38 @@
1
+ #ifndef INTERNAL_FILE_H /*-*-C-*-vi:se ft=c:*/
2
+ #define INTERNAL_FILE_H
3
+ /**
4
+ * @author Ruby developers <ruby-core@ruby-lang.org>
5
+ * @copyright This file is a part of the programming language Ruby.
6
+ * Permission is hereby granted, to either redistribute and/or
7
+ * modify this file, provided that the conditions mentioned in the
8
+ * file COPYING are met. Consult the file for details.
9
+ * @brief Internal header for File.
10
+ */
11
+ #include "ruby/ruby.h" /* for VALUE */
12
+ #include "ruby/encoding.h" /* for rb_encodinng */
13
+
14
+ /* file.c */
15
+ extern const char ruby_null_device[];
16
+ VALUE rb_home_dir_of(VALUE user, VALUE result);
17
+ VALUE rb_default_home_dir(VALUE result);
18
+ VALUE rb_realpath_internal(VALUE basedir, VALUE path, int strict);
19
+ VALUE rb_check_realpath(VALUE basedir, VALUE path, rb_encoding *origenc);
20
+ void rb_file_const(const char*, VALUE);
21
+ int rb_file_load_ok(const char *);
22
+ VALUE rb_file_expand_path_fast(VALUE, VALUE);
23
+ VALUE rb_file_expand_path_internal(VALUE, VALUE, int, int, VALUE);
24
+ VALUE rb_get_path_check_to_string(VALUE);
25
+ VALUE rb_get_path_check_convert(VALUE);
26
+ int ruby_is_fd_loadable(int fd);
27
+
28
+ RUBY_SYMBOL_EXPORT_BEGIN
29
+ /* file.c (export) */
30
+ #ifdef HAVE_READLINK
31
+ VALUE rb_readlink(VALUE path, rb_encoding *enc);
32
+ #endif
33
+ #ifdef __APPLE__
34
+ VALUE rb_str_normalize_ospath(const char *ptr, long len);
35
+ #endif
36
+ RUBY_SYMBOL_EXPORT_END
37
+
38
+ #endif /* INTERNAL_FILE_H */
@@ -0,0 +1,184 @@
1
+ #ifndef INTERNAL_FIXNUM_H /*-*-C-*-vi:se ft=c:*/
2
+ #define INTERNAL_FIXNUM_H
3
+ /**
4
+ * @author Ruby developers <ruby-core@ruby-lang.org>
5
+ * @copyright This file is a part of the programming language Ruby.
6
+ * Permission is hereby granted, to either redistribute and/or
7
+ * modify this file, provided that the conditions mentioned in the
8
+ * file COPYING are met. Consult the file for details.
9
+ * @brief Internal header for Fixnums.
10
+ */
11
+ #include "ruby/internal/config.h" /* for HAVE_LONG_LONG */
12
+ #include <limits.h> /* for CHAR_BIT */
13
+ #include "internal/compilers.h" /* for __has_builtin */
14
+ #include "ruby/internal/stdbool.h" /* for bool */
15
+ #include "ruby/intern.h" /* for rb_big_mul */
16
+ #include "ruby/ruby.h" /* for RB_FIXABLE */
17
+
18
+ #if HAVE_LONG_LONG && SIZEOF_LONG * 2 <= SIZEOF_LONG_LONG
19
+ # define DLONG LONG_LONG
20
+ # define DL2NUM(x) LL2NUM(x)
21
+ #elif defined(HAVE_INT128_T)
22
+ # define DLONG int128_t
23
+ # define DL2NUM(x) (RB_FIXABLE(x) ? LONG2FIX(x) : rb_int128t2big(x))
24
+ VALUE rb_int128t2big(int128_t n); /* in bignum.c */
25
+ #endif
26
+
27
+ static inline long rb_overflowed_fix_to_int(long x);
28
+ static inline VALUE rb_fix_plus_fix(VALUE x, VALUE y);
29
+ static inline VALUE rb_fix_minus_fix(VALUE x, VALUE y);
30
+ static inline VALUE rb_fix_mul_fix(VALUE x, VALUE y);
31
+ static inline void rb_fix_divmod_fix(VALUE x, VALUE y, VALUE *divp, VALUE *modp);
32
+ static inline VALUE rb_fix_div_fix(VALUE x, VALUE y);
33
+ static inline VALUE rb_fix_mod_fix(VALUE x, VALUE y);
34
+ static inline bool FIXNUM_POSITIVE_P(VALUE num);
35
+ static inline bool FIXNUM_NEGATIVE_P(VALUE num);
36
+ static inline bool FIXNUM_ZERO_P(VALUE num);
37
+
38
+ static inline long
39
+ rb_overflowed_fix_to_int(long x)
40
+ {
41
+ return (long)((unsigned long)(x >> 1) ^ (1LU << (SIZEOF_LONG * CHAR_BIT - 1)));
42
+ }
43
+
44
+ static inline VALUE
45
+ rb_fix_plus_fix(VALUE x, VALUE y)
46
+ {
47
+ #if !__has_builtin(__builtin_add_overflow)
48
+ long lz = FIX2LONG(x) + FIX2LONG(y);
49
+ return LONG2NUM(lz);
50
+ #else
51
+ long lz;
52
+ /* NOTE
53
+ * (1) `LONG2FIX(FIX2LONG(x)+FIX2LONG(y))`
54
+ + = `((lx*2+1)/2 + (ly*2+1)/2)*2+1`
55
+ + = `lx*2 + ly*2 + 1`
56
+ + = `(lx*2+1) + (ly*2+1) - 1`
57
+ + = `x + y - 1`
58
+ * (2) Fixnum's LSB is always 1.
59
+ * It means you can always run `x - 1` without overflow.
60
+ * (3) Of course `z = x + (y-1)` may overflow.
61
+ * At that time true value is
62
+ * * positive: 0b0 1xxx...1, and z = 0b1xxx...1
63
+ * * negative: 0b1 0xxx...1, and z = 0b0xxx...1
64
+ * To convert this true value to long,
65
+ * (a) Use arithmetic shift
66
+ * * positive: 0b11xxx...
67
+ * * negative: 0b00xxx...
68
+ * (b) invert MSB
69
+ * * positive: 0b01xxx...
70
+ * * negative: 0b10xxx...
71
+ */
72
+ if (__builtin_add_overflow((long)x, (long)y-1, &lz)) {
73
+ return rb_int2big(rb_overflowed_fix_to_int(lz));
74
+ }
75
+ else {
76
+ return (VALUE)lz;
77
+ }
78
+ #endif
79
+ }
80
+
81
+ static inline VALUE
82
+ rb_fix_minus_fix(VALUE x, VALUE y)
83
+ {
84
+ #if !__has_builtin(__builtin_sub_overflow)
85
+ long lz = FIX2LONG(x) - FIX2LONG(y);
86
+ return LONG2NUM(lz);
87
+ #else
88
+ long lz;
89
+ if (__builtin_sub_overflow((long)x, (long)y-1, &lz)) {
90
+ return rb_int2big(rb_overflowed_fix_to_int(lz));
91
+ }
92
+ else {
93
+ return (VALUE)lz;
94
+ }
95
+ #endif
96
+ }
97
+
98
+ /* arguments must be Fixnum */
99
+ static inline VALUE
100
+ rb_fix_mul_fix(VALUE x, VALUE y)
101
+ {
102
+ long lx = FIX2LONG(x);
103
+ long ly = FIX2LONG(y);
104
+ #ifdef DLONG
105
+ return DL2NUM((DLONG)lx * (DLONG)ly);
106
+ #else
107
+ if (MUL_OVERFLOW_FIXNUM_P(lx, ly)) {
108
+ return rb_big_mul(rb_int2big(lx), rb_int2big(ly));
109
+ }
110
+ else {
111
+ return LONG2FIX(lx * ly);
112
+ }
113
+ #endif
114
+ }
115
+
116
+ /*
117
+ * This behaves different from C99 for negative arguments.
118
+ * Note that div may overflow fixnum.
119
+ */
120
+ static inline void
121
+ rb_fix_divmod_fix(VALUE a, VALUE b, VALUE *divp, VALUE *modp)
122
+ {
123
+ /* assume / and % comply C99.
124
+ * ldiv(3) won't be inlined by GCC and clang.
125
+ * I expect / and % are compiled as single idiv.
126
+ */
127
+ long x = FIX2LONG(a);
128
+ long y = FIX2LONG(b);
129
+ long div, mod;
130
+ if (x == FIXNUM_MIN && y == -1) {
131
+ if (divp) *divp = LONG2NUM(-FIXNUM_MIN);
132
+ if (modp) *modp = LONG2FIX(0);
133
+ return;
134
+ }
135
+ div = x / y;
136
+ mod = x % y;
137
+ if (y > 0 ? mod < 0 : mod > 0) {
138
+ mod += y;
139
+ div -= 1;
140
+ }
141
+ if (divp) *divp = LONG2FIX(div);
142
+ if (modp) *modp = LONG2FIX(mod);
143
+ }
144
+
145
+ /* div() for Ruby
146
+ * This behaves different from C99 for negative arguments.
147
+ */
148
+ static inline VALUE
149
+ rb_fix_div_fix(VALUE x, VALUE y)
150
+ {
151
+ VALUE div;
152
+ rb_fix_divmod_fix(x, y, &div, NULL);
153
+ return div;
154
+ }
155
+
156
+ /* mod() for Ruby
157
+ * This behaves different from C99 for negative arguments.
158
+ */
159
+ static inline VALUE
160
+ rb_fix_mod_fix(VALUE x, VALUE y)
161
+ {
162
+ VALUE mod;
163
+ rb_fix_divmod_fix(x, y, NULL, &mod);
164
+ return mod;
165
+ }
166
+
167
+ static inline bool
168
+ FIXNUM_POSITIVE_P(VALUE num)
169
+ {
170
+ return (SIGNED_VALUE)num > (SIGNED_VALUE)INT2FIX(0);
171
+ }
172
+
173
+ static inline bool
174
+ FIXNUM_NEGATIVE_P(VALUE num)
175
+ {
176
+ return (SIGNED_VALUE)num < 0;
177
+ }
178
+
179
+ static inline bool
180
+ FIXNUM_ZERO_P(VALUE num)
181
+ {
182
+ return num == INT2FIX(0);
183
+ }
184
+ #endif /* INTERNAL_FIXNUM_H */
@@ -0,0 +1,188 @@
1
+ #ifndef INTERNAL_GC_H /*-*-C-*-vi:se ft=c:*/
2
+ #define INTERNAL_GC_H
3
+ /**
4
+ * @author Ruby developers <ruby-core@ruby-lang.org>
5
+ * @copyright This file is a part of the programming language Ruby.
6
+ * Permission is hereby granted, to either redistribute and/or
7
+ * modify this file, provided that the conditions mentioned in the
8
+ * file COPYING are met. Consult the file for details.
9
+ * @brief Internal header for GC.
10
+ */
11
+ #include "ruby/internal/config.h"
12
+
13
+ #include <stddef.h> /* for size_t */
14
+
15
+ #include "internal/compilers.h" /* for __has_attribute */
16
+ #include "ruby/ruby.h" /* for rb_event_flag_t */
17
+
18
+ struct rb_execution_context_struct; /* in vm_core.h */
19
+ struct rb_objspace; /* in vm_core.h */
20
+
21
+ #ifdef NEWOBJ_OF
22
+ # undef NEWOBJ_OF
23
+ # undef RB_NEWOBJ_OF
24
+ # undef RB_OBJ_WRITE
25
+ #endif
26
+
27
+ #define RVALUE_SIZE (sizeof(struct RBasic) + sizeof(VALUE[RBIMPL_RVALUE_EMBED_LEN_MAX]))
28
+
29
+ #define RB_RVARGC_NEWOBJ_OF(var, T, c, f, s) \
30
+ T *(var) = (T *)(((f) & FL_WB_PROTECTED) ? \
31
+ rb_wb_protected_newobj_of((c), (f) & ~FL_WB_PROTECTED, s) : \
32
+ rb_wb_unprotected_newobj_of((c), (f), s))
33
+
34
+ #define RB_RVARGC_EC_NEWOBJ_OF(ec, var, T, c, f, s) \
35
+ T *(var) = (T *)(((f) & FL_WB_PROTECTED) ? \
36
+ rb_ec_wb_protected_newobj_of((ec), (c), (f) & ~FL_WB_PROTECTED, s) : \
37
+ rb_wb_unprotected_newobj_of((c), (f), s))
38
+
39
+ /* optimized version of NEWOBJ() */
40
+ #define RB_NEWOBJ_OF(var, T, c, f) RB_RVARGC_NEWOBJ_OF(var, T, c, f, RVALUE_SIZE)
41
+
42
+ #define RB_EC_NEWOBJ_OF(ec, var, T, c, f) RB_RVARGC_EC_NEWOBJ_OF(ec, var, T, c, f, RVALUE_SIZE)
43
+
44
+ #define NEWOBJ_OF(var, T, c, f) RB_NEWOBJ_OF((var), T, (c), (f))
45
+ #define RVARGC_NEWOBJ_OF(var, T, c, f, s) RB_RVARGC_NEWOBJ_OF((var), T, (c), (f), (s))
46
+ #define RB_OBJ_GC_FLAGS_MAX 6 /* used in ext/objspace */
47
+
48
+ #ifndef USE_UNALIGNED_MEMBER_ACCESS
49
+ # define UNALIGNED_MEMBER_ACCESS(expr) (expr)
50
+ #elif ! USE_UNALIGNED_MEMBER_ACCESS
51
+ # define UNALIGNED_MEMBER_ACCESS(expr) (expr)
52
+ #elif ! (__has_warning("-Waddress-of-packed-member") || GCC_VERSION_SINCE(9, 0, 0))
53
+ # define UNALIGNED_MEMBER_ACCESS(expr) (expr)
54
+ #else
55
+ # include "internal/warnings.h"
56
+ # define UNALIGNED_MEMBER_ACCESS(expr) __extension__({ \
57
+ COMPILER_WARNING_PUSH; \
58
+ COMPILER_WARNING_IGNORED(-Waddress-of-packed-member); \
59
+ __typeof__(expr) unaligned_member_access_result = (expr); \
60
+ COMPILER_WARNING_POP; \
61
+ unaligned_member_access_result; \
62
+ })
63
+ #endif
64
+
65
+ #define UNALIGNED_MEMBER_PTR(ptr, mem) UNALIGNED_MEMBER_ACCESS(&(ptr)->mem)
66
+ #define RB_OBJ_WRITE(a, slot, b) \
67
+ rb_obj_write((VALUE)(a), UNALIGNED_MEMBER_ACCESS((VALUE *)(slot)), \
68
+ (VALUE)(b), __FILE__, __LINE__)
69
+
70
+ #if USE_RVARGC
71
+ # define SIZE_POOL_COUNT 4
72
+ #else
73
+ # define SIZE_POOL_COUNT 1
74
+ #endif
75
+
76
+ typedef struct ractor_newobj_size_pool_cache {
77
+ struct RVALUE *freelist;
78
+ struct heap_page *using_page;
79
+ } rb_ractor_newobj_size_pool_cache_t;
80
+
81
+ typedef struct ractor_newobj_cache {
82
+ size_t incremental_mark_step_allocated_slots;
83
+ rb_ractor_newobj_size_pool_cache_t size_pool_caches[SIZE_POOL_COUNT];
84
+ } rb_ractor_newobj_cache_t;
85
+
86
+ /* gc.c */
87
+ extern VALUE *ruby_initial_gc_stress_ptr;
88
+ extern int ruby_disable_gc;
89
+ RUBY_ATTR_MALLOC void *ruby_mimmalloc(size_t size);
90
+ void ruby_mimfree(void *ptr);
91
+ void rb_objspace_set_event_hook(const rb_event_flag_t event);
92
+ VALUE rb_objspace_gc_enable(struct rb_objspace *);
93
+ VALUE rb_objspace_gc_disable(struct rb_objspace *);
94
+ void ruby_gc_set_params(void);
95
+ void rb_copy_wb_protected_attribute(VALUE dest, VALUE obj);
96
+ #if __has_attribute(alloc_align)
97
+ __attribute__((__alloc_align__(1)))
98
+ #endif
99
+ RUBY_ATTR_MALLOC void *rb_aligned_malloc(size_t, size_t) RUBY_ATTR_ALLOC_SIZE((2));
100
+ size_t rb_size_mul_or_raise(size_t, size_t, VALUE); /* used in compile.c */
101
+ size_t rb_size_mul_add_or_raise(size_t, size_t, size_t, VALUE); /* used in iseq.h */
102
+ RUBY_ATTR_MALLOC void *rb_xmalloc_mul_add(size_t, size_t, size_t);
103
+ RUBY_ATTR_MALLOC void *rb_xcalloc_mul_add(size_t, size_t, size_t);
104
+ void *rb_xrealloc_mul_add(const void *, size_t, size_t, size_t);
105
+ RUBY_ATTR_MALLOC void *rb_xmalloc_mul_add_mul(size_t, size_t, size_t, size_t);
106
+ RUBY_ATTR_MALLOC void *rb_xcalloc_mul_add_mul(size_t, size_t, size_t, size_t);
107
+ static inline void *ruby_sized_xrealloc_inlined(void *ptr, size_t new_size, size_t old_size) RUBY_ATTR_RETURNS_NONNULL RUBY_ATTR_ALLOC_SIZE((2));
108
+ static inline void *ruby_sized_xrealloc2_inlined(void *ptr, size_t new_count, size_t elemsiz, size_t old_count) RUBY_ATTR_RETURNS_NONNULL RUBY_ATTR_ALLOC_SIZE((2, 3));
109
+ static inline void ruby_sized_xfree_inlined(void *ptr, size_t size);
110
+ VALUE rb_class_allocate_instance(VALUE klass);
111
+ void rb_gc_ractor_newobj_cache_clear(rb_ractor_newobj_cache_t *newobj_cache);
112
+ size_t rb_gc_obj_slot_size(VALUE obj);
113
+ bool rb_gc_size_allocatable_p(size_t size);
114
+ int rb_objspace_garbage_object_p(VALUE obj);
115
+
116
+ RUBY_SYMBOL_EXPORT_BEGIN
117
+ /* gc.c (export) */
118
+ const char *rb_objspace_data_type_name(VALUE obj);
119
+ VALUE rb_wb_protected_newobj_of(VALUE, VALUE, size_t);
120
+ VALUE rb_wb_unprotected_newobj_of(VALUE, VALUE, size_t);
121
+ VALUE rb_ec_wb_protected_newobj_of(struct rb_execution_context_struct *ec, VALUE klass, VALUE flags, size_t);
122
+ size_t rb_obj_memsize_of(VALUE);
123
+ void rb_gc_verify_internal_consistency(void);
124
+ size_t rb_obj_gc_flags(VALUE, ID[], size_t);
125
+ void rb_gc_mark_values(long n, const VALUE *values);
126
+ void rb_gc_mark_vm_stack_values(long n, const VALUE *values);
127
+ void *ruby_sized_xrealloc(void *ptr, size_t new_size, size_t old_size) RUBY_ATTR_RETURNS_NONNULL RUBY_ATTR_ALLOC_SIZE((2));
128
+ void *ruby_sized_xrealloc2(void *ptr, size_t new_count, size_t element_size, size_t old_count) RUBY_ATTR_RETURNS_NONNULL RUBY_ATTR_ALLOC_SIZE((2, 3));
129
+ void ruby_sized_xfree(void *x, size_t size);
130
+ RUBY_SYMBOL_EXPORT_END
131
+
132
+ MJIT_SYMBOL_EXPORT_BEGIN
133
+ int rb_ec_stack_check(struct rb_execution_context_struct *ec);
134
+ void rb_gc_writebarrier_remember(VALUE obj);
135
+ const char *rb_obj_info(VALUE obj);
136
+ MJIT_SYMBOL_EXPORT_END
137
+
138
+ #if defined(HAVE_MALLOC_USABLE_SIZE) || defined(HAVE_MALLOC_SIZE) || defined(_WIN32)
139
+
140
+ static inline void *
141
+ ruby_sized_xrealloc_inlined(void *ptr, size_t new_size, size_t old_size)
142
+ {
143
+ return ruby_xrealloc(ptr, new_size);
144
+ }
145
+
146
+ static inline void *
147
+ ruby_sized_xrealloc2_inlined(void *ptr, size_t new_count, size_t elemsiz, size_t old_count)
148
+ {
149
+ return ruby_xrealloc2(ptr, new_count, elemsiz);
150
+ }
151
+
152
+ static inline void
153
+ ruby_sized_xfree_inlined(void *ptr, size_t size)
154
+ {
155
+ ruby_xfree(ptr);
156
+ }
157
+
158
+ # define SIZED_REALLOC_N(x, y, z, w) REALLOC_N(x, y, z)
159
+
160
+ #else
161
+
162
+ static inline void *
163
+ ruby_sized_xrealloc_inlined(void *ptr, size_t new_size, size_t old_size)
164
+ {
165
+ return ruby_sized_xrealloc(ptr, new_size, old_size);
166
+ }
167
+
168
+ static inline void *
169
+ ruby_sized_xrealloc2_inlined(void *ptr, size_t new_count, size_t elemsiz, size_t old_count)
170
+ {
171
+ return ruby_sized_xrealloc2(ptr, new_count, elemsiz, old_count);
172
+ }
173
+
174
+ static inline void
175
+ ruby_sized_xfree_inlined(void *ptr, size_t size)
176
+ {
177
+ ruby_sized_xfree(ptr, size);
178
+ }
179
+
180
+ # define SIZED_REALLOC_N(v, T, m, n) \
181
+ ((v) = (T *)ruby_sized_xrealloc2((void *)(v), (m), sizeof(T), (n)))
182
+
183
+ #endif /* HAVE_MALLOC_USABLE_SIZE */
184
+
185
+ #define ruby_sized_xrealloc ruby_sized_xrealloc_inlined
186
+ #define ruby_sized_xrealloc2 ruby_sized_xrealloc2_inlined
187
+ #define ruby_sized_xfree ruby_sized_xfree_inlined
188
+ #endif /* INTERNAL_GC_H */