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,115 @@
1
+ #ifndef RUBY_THREAD_PTHREAD_H
2
+ #define RUBY_THREAD_PTHREAD_H
3
+ /**********************************************************************
4
+
5
+ thread_pthread.h -
6
+
7
+ $Author$
8
+
9
+ Copyright (C) 2004-2007 Koichi Sasada
10
+
11
+ **********************************************************************/
12
+
13
+ #ifdef HAVE_PTHREAD_NP_H
14
+ #include <pthread_np.h>
15
+ #endif
16
+
17
+ #define RB_NATIVETHREAD_LOCK_INIT PTHREAD_MUTEX_INITIALIZER
18
+ #define RB_NATIVETHREAD_COND_INIT PTHREAD_COND_INITIALIZER
19
+
20
+ typedef struct native_thread_data_struct {
21
+ union {
22
+ struct ccan_list_node ubf;
23
+ struct ccan_list_node gvl;
24
+ } node;
25
+ #if defined(__GLIBC__) || defined(__FreeBSD__)
26
+ union
27
+ #else
28
+ /*
29
+ * assume the platform condvars are badly implemented and have a
30
+ * "memory" of which mutex they're associated with
31
+ */
32
+ struct
33
+ #endif
34
+ {
35
+ rb_nativethread_cond_t intr; /* th->interrupt_lock */
36
+ rb_nativethread_cond_t gvlq; /* vm->gvl.lock */
37
+ } cond;
38
+ } native_thread_data_t;
39
+
40
+ #undef except
41
+ #undef try
42
+ #undef leave
43
+ #undef finally
44
+
45
+ typedef struct rb_global_vm_lock_struct {
46
+ /* fast path */
47
+ const struct rb_thread_struct *owner;
48
+ rb_nativethread_lock_t lock; /* AKA vm->gvl.lock */
49
+
50
+ /*
51
+ * slow path, protected by vm->gvl.lock
52
+ * - @waitq - FIFO queue of threads waiting for GVL
53
+ * - @timer - it handles timeslices for @owner. It is any one thread
54
+ * in @waitq, there is no @timer if @waitq is empty, but always
55
+ * a @timer if @waitq has entries
56
+ * - @timer_err tracks timeslice limit, the timeslice only resets
57
+ * when pthread_cond_timedwait returns ETIMEDOUT, so frequent
58
+ * switching between contended/uncontended GVL won't reset the
59
+ * timer.
60
+ */
61
+ struct ccan_list_head waitq; /* <=> native_thread_data_t.node.ubf */
62
+ const struct rb_thread_struct *timer;
63
+ int timer_err;
64
+
65
+ /* yield */
66
+ rb_nativethread_cond_t switch_cond;
67
+ rb_nativethread_cond_t switch_wait_cond;
68
+ int need_yield;
69
+ int wait_yield;
70
+ } rb_global_vm_lock_t;
71
+
72
+
73
+ #if __STDC_VERSION__ >= 201112
74
+ #define RB_THREAD_LOCAL_SPECIFIER _Thread_local
75
+ #elif defined(__GNUC__)
76
+ /* note that ICC (linux) and Clang are covered by __GNUC__ */
77
+ #define RB_THREAD_LOCAL_SPECIFIER __thread
78
+ #else
79
+
80
+ typedef pthread_key_t native_tls_key_t;
81
+
82
+ static inline void *
83
+ native_tls_get(native_tls_key_t key)
84
+ {
85
+ void *ptr = pthread_getspecific(key);
86
+ if (UNLIKELY(ptr == NULL)) {
87
+ rb_bug("pthread_getspecific returns NULL");
88
+ }
89
+ return ptr;
90
+ }
91
+
92
+ static inline void
93
+ native_tls_set(native_tls_key_t key, void *ptr)
94
+ {
95
+ if (UNLIKELY(pthread_setspecific(key, ptr) != 0)) {
96
+ rb_bug("pthread_setspecific error");
97
+ }
98
+ }
99
+ #endif
100
+
101
+ RUBY_SYMBOL_EXPORT_BEGIN
102
+ #ifdef RB_THREAD_LOCAL_SPECIFIER
103
+ #ifdef __APPLE__
104
+ // on Darwin, TLS can not be accessed across .so
105
+ struct rb_execution_context_struct *rb_current_ec(void);
106
+ void rb_current_ec_set(struct rb_execution_context_struct *);
107
+ #else
108
+ RUBY_EXTERN RB_THREAD_LOCAL_SPECIFIER struct rb_execution_context_struct *ruby_current_ec;
109
+ #endif
110
+ #else
111
+ RUBY_EXTERN native_tls_key_t ruby_current_ec_key;
112
+ #endif
113
+ RUBY_SYMBOL_EXPORT_END
114
+
115
+ #endif /* RUBY_THREAD_PTHREAD_H */
@@ -0,0 +1,61 @@
1
+ #ifndef RUBY_THREAD_WIN32_H
2
+ #define RUBY_THREAD_WIN32_H
3
+ /**********************************************************************
4
+
5
+ thread_win32.h -
6
+
7
+ $Author$
8
+
9
+ Copyright (C) 2004-2007 Koichi Sasada
10
+
11
+ **********************************************************************/
12
+
13
+ /* interface */
14
+
15
+ # ifdef __CYGWIN__
16
+ # undef _WIN32
17
+ # endif
18
+
19
+ #define USE_VM_CLOCK 1
20
+
21
+ WINBASEAPI BOOL WINAPI
22
+ TryEnterCriticalSection(IN OUT LPCRITICAL_SECTION lpCriticalSection);
23
+
24
+ struct rb_thread_cond_struct {
25
+ struct cond_event_entry *next;
26
+ struct cond_event_entry *prev;
27
+ };
28
+
29
+ typedef struct native_thread_data_struct {
30
+ HANDLE interrupt_event;
31
+ } native_thread_data_t;
32
+
33
+ typedef struct rb_global_vm_lock_struct {
34
+ HANDLE lock;
35
+ } rb_global_vm_lock_t;
36
+
37
+ typedef DWORD native_tls_key_t; // TLS index
38
+
39
+ static inline void *
40
+ native_tls_get(native_tls_key_t key)
41
+ {
42
+ void *ptr = TlsGetValue(key);
43
+ if (UNLIKELY(ptr == NULL)) {
44
+ rb_bug("TlsGetValue() returns NULL");
45
+ }
46
+ return ptr;
47
+ }
48
+
49
+ static inline void
50
+ native_tls_set(native_tls_key_t key, void *ptr)
51
+ {
52
+ if (UNLIKELY(TlsSetValue(key, ptr) == 0)) {
53
+ rb_bug("TlsSetValue() error");
54
+ }
55
+ }
56
+
57
+ RUBY_SYMBOL_EXPORT_BEGIN
58
+ RUBY_EXTERN native_tls_key_t ruby_current_ec_key;
59
+ RUBY_SYMBOL_EXPORT_END
60
+
61
+ #endif /* RUBY_THREAD_WIN32_H */
@@ -0,0 +1,57 @@
1
+ #ifndef RUBY_TIMEV_H
2
+ #define RUBY_TIMEV_H
3
+ #include "ruby/ruby.h"
4
+
5
+ #if 0
6
+ struct vtm {/* dummy for TAGS */};
7
+ #endif
8
+ PACKED_STRUCT_UNALIGNED(struct vtm {
9
+ VALUE year; /* 2000 for example. Integer. */
10
+ VALUE subsecx; /* 0 <= subsecx < TIME_SCALE. possibly Rational. */
11
+ VALUE utc_offset; /* -3600 as -01:00 for example. possibly Rational. */
12
+ VALUE zone; /* "JST", "EST", "EDT", etc. as String */
13
+ unsigned int yday:9; /* 1..366 */
14
+ unsigned int mon:4; /* 1..12 */
15
+ unsigned int mday:5; /* 1..31 */
16
+ unsigned int hour:5; /* 0..23 */
17
+ unsigned int min:6; /* 0..59 */
18
+ unsigned int sec:6; /* 0..60 */
19
+ unsigned int wday:3; /* 0:Sunday, 1:Monday, ..., 6:Saturday 7:init */
20
+ unsigned int isdst:2; /* 0:StandardTime 1:DayLightSavingTime 3:init */
21
+ });
22
+
23
+ #define TIME_SCALE 1000000000
24
+
25
+ #ifndef TYPEOF_TIMEVAL_TV_SEC
26
+ # define TYPEOF_TIMEVAL_TV_SEC time_t
27
+ #endif
28
+ #ifndef TYPEOF_TIMEVAL_TV_USEC
29
+ # if INT_MAX >= 1000000
30
+ # define TYPEOF_TIMEVAL_TV_USEC int
31
+ # else
32
+ # define TYPEOF_TIMEVAL_TV_USEC long
33
+ # endif
34
+ #endif
35
+
36
+ #if SIZEOF_TIME_T == SIZEOF_LONG
37
+ typedef unsigned long unsigned_time_t;
38
+ #elif SIZEOF_TIME_T == SIZEOF_INT
39
+ typedef unsigned int unsigned_time_t;
40
+ #elif SIZEOF_TIME_T == SIZEOF_LONG_LONG
41
+ typedef unsigned LONG_LONG unsigned_time_t;
42
+ #else
43
+ # error cannot find integer type which size is same as time_t.
44
+ #endif
45
+
46
+ /* strftime.c */
47
+ #ifdef RUBY_ENCODING_H
48
+ VALUE rb_strftime_timespec(const char *format, size_t format_len, rb_encoding *enc,
49
+ VALUE time, const struct vtm *vtm, struct timespec *ts, int gmt);
50
+ VALUE rb_strftime(const char *format, size_t format_len, rb_encoding *enc,
51
+ VALUE time, const struct vtm *vtm, VALUE timev, int gmt);
52
+ #endif
53
+
54
+ /* time.c */
55
+ VALUE rb_time_zone_abbreviation(VALUE zone, VALUE time);
56
+
57
+ #endif
@@ -0,0 +1,138 @@
1
+ #ifndef RUBY_TRANSCODE_DATA_H
2
+ #define RUBY_TRANSCODE_DATA_H 1
3
+ /**********************************************************************
4
+
5
+ transcode_data.h -
6
+
7
+ $Author$
8
+ created at: Mon 10 Dec 2007 14:01:47 JST 2007
9
+
10
+ Copyright (C) 2007 Martin Duerst
11
+
12
+ **********************************************************************/
13
+
14
+ #include "ruby/ruby.h"
15
+
16
+ RUBY_SYMBOL_EXPORT_BEGIN
17
+
18
+ #define WORDINDEX_SHIFT_BITS 2
19
+ #define WORDINDEX2INFO(widx) ((widx) << WORDINDEX_SHIFT_BITS)
20
+ #define INFO2WORDINDEX(info) ((info) >> WORDINDEX_SHIFT_BITS)
21
+ #define BYTE_LOOKUP_BASE(bl) ((bl)[0])
22
+ #define BYTE_LOOKUP_INFO(bl) ((bl)[1])
23
+
24
+ #define PType (unsigned int)
25
+
26
+ #define NOMAP (PType 0x01) /* direct map */
27
+ #define ONEbt (0x02) /* one byte payload */
28
+ #define TWObt (0x03) /* two bytes payload */
29
+ #define THREEbt (0x05) /* three bytes payload */
30
+ #define FOURbt (0x06) /* four bytes payload, UTF-8 only, macros start at getBT0 */
31
+ #define INVALID (PType 0x07) /* invalid byte sequence */
32
+ #define UNDEF (PType 0x09) /* legal but undefined */
33
+ #define ZERObt (PType 0x0A) /* zero bytes of payload, i.e. remove */
34
+ #define FUNii (PType 0x0B) /* function from info to info */
35
+ #define FUNsi (PType 0x0D) /* function from start to info */
36
+ #define FUNio (PType 0x0E) /* function from info to output */
37
+ #define FUNso (PType 0x0F) /* function from start to output */
38
+ #define STR1 (PType 0x11) /* string 4 <= len <= 259 bytes: 1byte length + content */
39
+ #define GB4bt (PType 0x12) /* GB18030 four bytes payload */
40
+ #define FUNsio (PType 0x13) /* function from start and info to output */
41
+
42
+ #define STR1_LENGTH(byte_addr) (unsigned int)(*(byte_addr) + 4)
43
+ #define STR1_BYTEINDEX(w) ((w) >> 6)
44
+ #define makeSTR1(bi) (((bi) << 6) | STR1)
45
+ #define makeSTR1LEN(len) ((len)-4)
46
+
47
+ #define o1(b1) (PType((((unsigned char)(b1))<<8)|ONEbt))
48
+ #define o2(b1,b2) (PType((((unsigned char)(b1))<<8)|\
49
+ (((unsigned char)(b2))<<16)|\
50
+ TWObt))
51
+ #define o3(b1,b2,b3) (PType(((((unsigned char)(b1))<<8)|\
52
+ (((unsigned char)(b2))<<16)|\
53
+ (((unsigned int)(unsigned char)(b3))<<24)|\
54
+ THREEbt)&\
55
+ 0xffffffffU))
56
+ #define o4(b0,b1,b2,b3) (PType(((((unsigned char)(b1))<<8)|\
57
+ (((unsigned char)(b2))<<16)|\
58
+ (((unsigned int)(unsigned char)(b3))<<24)|\
59
+ ((((unsigned char)(b0))&0x07)<<5)|\
60
+ FOURbt)&\
61
+ 0xffffffffU))
62
+ #define g4(b0,b1,b2,b3) (PType(((((unsigned char)(b0))<<8)|\
63
+ (((unsigned char)(b2))<<16)|\
64
+ ((((unsigned char)(b1))&0x0f)<<24)|\
65
+ ((((unsigned int)(unsigned char)(b3))&0x0f)<<28)|\
66
+ GB4bt)&\
67
+ 0xffffffffU))
68
+ #define funsio(diff) (PType((((unsigned int)(diff))<<8)|FUNsio))
69
+
70
+ #define getBT1(a) ((unsigned char)((a)>> 8))
71
+ #define getBT2(a) ((unsigned char)((a)>>16))
72
+ #define getBT3(a) ((unsigned char)((a)>>24))
73
+ #define getBT0(a) (((unsigned char)((a)>> 5)&0x07)|0xF0) /* for UTF-8 only!!! */
74
+
75
+ #define getGB4bt0(a) ((unsigned char)((a)>> 8))
76
+ #define getGB4bt1(a) (((unsigned char)((a)>>24)&0x0F)|0x30)
77
+ #define getGB4bt2(a) ((unsigned char)((a)>>16))
78
+ #define getGB4bt3(a) (((unsigned char)((a)>>28)&0x0F)|0x30)
79
+
80
+ #define o2FUNii(b1,b2) (PType((((unsigned char)(b1))<<8)|(((unsigned char)(b2))<<16)|FUNii))
81
+
82
+ /* do we need these??? maybe not, can be done with simple tables */
83
+ #define ONETRAIL /* legal but undefined if one more trailing UTF-8 */
84
+ #define TWOTRAIL /* legal but undefined if two more trailing UTF-8 */
85
+ #define THREETRAIL /* legal but undefined if three more trailing UTF-8 */
86
+
87
+ typedef enum {
88
+ asciicompat_converter, /* ASCII-compatible -> ASCII-compatible */
89
+ asciicompat_decoder, /* ASCII-incompatible -> ASCII-compatible */
90
+ asciicompat_encoder /* ASCII-compatible -> ASCII-incompatible */
91
+ /* ASCII-incompatible -> ASCII-incompatible is intentionally omitted. */
92
+ } rb_transcoder_asciicompat_type_t;
93
+
94
+ typedef struct rb_transcoder rb_transcoder;
95
+
96
+ /* static structure, one per supported encoding pair */
97
+ struct rb_transcoder {
98
+ const char *src_encoding;
99
+ const char *dst_encoding;
100
+ unsigned int conv_tree_start;
101
+ const unsigned char *byte_array;
102
+ unsigned int byte_array_length;
103
+ const unsigned int *word_array;
104
+ unsigned int word_array_length;
105
+ int word_size;
106
+ int input_unit_length;
107
+ int max_input;
108
+ int max_output;
109
+ rb_transcoder_asciicompat_type_t asciicompat_type;
110
+ size_t state_size;
111
+ int (*state_init_func)(void*); /* ret==0:success ret!=0:failure(errno) */
112
+ int (*state_fini_func)(void*); /* ret==0:success ret!=0:failure(errno) */
113
+ VALUE (*func_ii)(void*, VALUE); /* info -> info */
114
+ VALUE (*func_si)(void*, const unsigned char*, size_t); /* start -> info */
115
+ ssize_t (*func_io)(void*, VALUE, const unsigned char*, size_t); /* info -> output */
116
+ ssize_t (*func_so)(void*, const unsigned char*, size_t, unsigned char*, size_t); /* start -> output */
117
+ ssize_t (*finish_func)(void*, unsigned char*, size_t); /* -> output */
118
+ ssize_t (*resetsize_func)(void*); /* -> len */
119
+ ssize_t (*resetstate_func)(void*, unsigned char*, size_t); /* -> output */
120
+ ssize_t (*func_sio)(void*, const unsigned char*, size_t, VALUE, unsigned char*, size_t); /* start -> output */
121
+ };
122
+
123
+ void rb_declare_transcoder(const char *enc1, const char *enc2, const char *lib);
124
+ void rb_register_transcoder(const rb_transcoder *);
125
+
126
+ /*
127
+ * To get rid of collision of initializer symbols in statically-linked encodings
128
+ * and transcoders
129
+ */
130
+ #if defined(EXTSTATIC) && EXTSTATIC
131
+ # define TRANS_INIT(name) void Init_trans_ ## name(void)
132
+ #else
133
+ # define TRANS_INIT(name) void Init_ ## name(void)
134
+ #endif
135
+
136
+ RUBY_SYMBOL_EXPORT_END
137
+
138
+ #endif /* RUBY_TRANSCODE_DATA_H */
@@ -0,0 +1,65 @@
1
+ #ifndef RUBY_TRANSIENT_HEAP_H
2
+ #define RUBY_TRANSIENT_HEAP_H
3
+ /**********************************************************************
4
+
5
+ transient_heap.h - declarations of transient_heap related APIs.
6
+
7
+ Copyright (C) 2018 Koichi Sasada
8
+
9
+ **********************************************************************/
10
+
11
+ #include "internal.h"
12
+
13
+ #if USE_TRANSIENT_HEAP
14
+
15
+ /* public API */
16
+
17
+ /* Allocate req_size bytes from transient_heap.
18
+ Allocated memories are free-ed when next GC
19
+ if this memory is not marked by `rb_transient_heap_mark()`.
20
+ */
21
+ void *rb_transient_heap_alloc(VALUE obj, size_t req_size);
22
+
23
+ /* If `obj` uses a memory pointed by `ptr` from transient_heap,
24
+ you need to call `rb_transient_heap_mark(obj, ptr)`
25
+ to assert liveness of `obj` (and ptr). */
26
+ void rb_transient_heap_mark(VALUE obj, const void *ptr);
27
+
28
+ /* used by gc.c */
29
+ void rb_transient_heap_promote(VALUE obj);
30
+ void rb_transient_heap_start_marking(int full_marking);
31
+ void rb_transient_heap_finish_marking(void);
32
+ void rb_transient_heap_update_references(void);
33
+
34
+ /* used by ractor.c */
35
+ void rb_transient_heap_evacuate(void);
36
+
37
+ /* for debug API */
38
+ void rb_transient_heap_dump(void);
39
+ void rb_transient_heap_verify(void);
40
+ int rb_transient_heap_managed_ptr_p(const void *ptr);
41
+
42
+ /* evacuate functions for each type */
43
+ void rb_ary_transient_heap_evacuate(VALUE ary, int promote);
44
+ void rb_obj_transient_heap_evacuate(VALUE obj, int promote);
45
+ void rb_hash_transient_heap_evacuate(VALUE hash, int promote);
46
+ void rb_struct_transient_heap_evacuate(VALUE st, int promote);
47
+
48
+ #else /* USE_TRANSIENT_HEAP */
49
+
50
+ #define rb_transient_heap_alloc(o, s) NULL
51
+ #define rb_transient_heap_verify() ((void)0)
52
+ #define rb_transient_heap_promote(obj) ((void)0)
53
+ #define rb_transient_heap_start_marking(full_marking) ((void)0)
54
+ #define rb_transient_heap_update_references() ((void)0)
55
+ #define rb_transient_heap_evacuate() ((void)0)
56
+ #define rb_transient_heap_finish_marking() ((void)0)
57
+ #define rb_transient_heap_mark(obj, ptr) ((void)0)
58
+
59
+ #define rb_ary_transient_heap_evacuate(x, y) ((void)0)
60
+ #define rb_obj_transient_heap_evacuate(x, y) ((void)0)
61
+ #define rb_hash_transient_heap_evacuate(x, y) ((void)0)
62
+ #define rb_struct_transient_heap_evacuate(x, y) ((void)0)
63
+
64
+ #endif /* USE_TRANSIENT_HEAP */
65
+ #endif
@@ -0,0 +1,21 @@
1
+ #ifndef RUBY_TOPLEVEL_VARIABLE_H /*-*-C-*-vi:se ft=c:*/
2
+ #define RUBY_TOPLEVEL_VARIABLE_H
3
+ /**
4
+ * @author Ruby developers <ruby-core@ruby-lang.org>
5
+ * @copyright This file is a part of the programming language Ruby.
6
+ * Permission is hereby granted, to either redistribute and/or
7
+ * modify this file, provided that the conditions mentioned in the
8
+ * file COPYING are met. Consult the file for details.
9
+ */
10
+
11
+ /* per-object */
12
+
13
+ struct gen_ivtbl {
14
+ uint32_t numiv;
15
+ VALUE ivptr[FLEX_ARY_LEN];
16
+ };
17
+
18
+ int rb_ivar_generic_ivtbl_lookup(VALUE obj, struct gen_ivtbl **);
19
+ VALUE rb_ivar_generic_lookup_with_index(VALUE obj, ID id, uint32_t index);
20
+
21
+ #endif /* RUBY_TOPLEVEL_VARIABLE_H */
@@ -0,0 +1,91 @@
1
+ #ifndef RUBY_TOPLEVEL_VERSION_H /*-*-C-*-vi:se ft=c:*/
2
+ #define RUBY_TOPLEVEL_VERSION_H
3
+ /**
4
+ * @author Ruby developers <ruby-core@ruby-lang.org>
5
+ * @copyright This file is a part of the programming language Ruby.
6
+ * Permission is hereby granted, to either redistribute and/or
7
+ * modify this file, provided that the conditions mentioned in the
8
+ * file COPYING are met. Consult the file for details.
9
+ */
10
+ # define RUBY_VERSION_MAJOR RUBY_API_VERSION_MAJOR
11
+ # define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR
12
+ #define RUBY_VERSION_TEENY 0
13
+ #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
14
+ #define RUBY_PATCHLEVEL -1
15
+
16
+ #define RUBY_RELEASE_YEAR 2022
17
+ #define RUBY_RELEASE_MONTH 4
18
+ #define RUBY_RELEASE_DAY 3
19
+
20
+ #include "ruby/version.h"
21
+ #include "ruby/internal/abi.h"
22
+
23
+ #ifndef TOKEN_PASTE
24
+ #define TOKEN_PASTE(x,y) x##y
25
+ #endif
26
+ #define ONLY_ONE_DIGIT(x) TOKEN_PASTE(10,x) < 1000
27
+ #define WITH_ZERO_PADDING(x) TOKEN_PASTE(0,x)
28
+ #define RUBY_BIRTH_YEAR_STR STRINGIZE(RUBY_BIRTH_YEAR)
29
+ #define RUBY_RELEASE_YEAR_STR STRINGIZE(RUBY_RELEASE_YEAR)
30
+ #if ONLY_ONE_DIGIT(RUBY_RELEASE_MONTH)
31
+ #define RUBY_RELEASE_MONTH_STR STRINGIZE(WITH_ZERO_PADDING(RUBY_RELEASE_MONTH))
32
+ #else
33
+ #define RUBY_RELEASE_MONTH_STR STRINGIZE(RUBY_RELEASE_MONTH)
34
+ #endif
35
+ #if ONLY_ONE_DIGIT(RUBY_RELEASE_DAY)
36
+ #define RUBY_RELEASE_DAY_STR STRINGIZE(WITH_ZERO_PADDING(RUBY_RELEASE_DAY))
37
+ #else
38
+ #define RUBY_RELEASE_DAY_STR STRINGIZE(RUBY_RELEASE_DAY)
39
+ #endif
40
+
41
+ #if !defined RUBY_LIB_VERSION && defined RUBY_LIB_VERSION_STYLE
42
+ # if RUBY_LIB_VERSION_STYLE == 3
43
+ # define RUBY_LIB_VERSION STRINGIZE(RUBY_API_VERSION_MAJOR)"."STRINGIZE(RUBY_API_VERSION_MINOR) \
44
+ "."STRINGIZE(RUBY_API_VERSION_TEENY)"+"STRINGIZE(RUBY_ABI_VERSION)
45
+ # elif RUBY_LIB_VERSION_STYLE == 2
46
+ # define RUBY_LIB_VERSION STRINGIZE(RUBY_API_VERSION_MAJOR)"."STRINGIZE(RUBY_API_VERSION_MINOR) \
47
+ "+"STRINGIZE(RUBY_ABI_VERSION)
48
+ # endif
49
+ #endif
50
+
51
+ #if RUBY_PATCHLEVEL == -1
52
+ #define RUBY_PATCHLEVEL_STR "preview1"
53
+ #else
54
+ #define RUBY_PATCHLEVEL_STR ""
55
+ #endif
56
+
57
+ #ifndef RUBY_REVISION
58
+ # include "revision.h"
59
+ #endif
60
+
61
+ #ifdef RUBY_REVISION
62
+ # if RUBY_PATCHLEVEL == -1
63
+ # ifndef RUBY_BRANCH_NAME
64
+ # define RUBY_BRANCH_NAME "master"
65
+ # endif
66
+ # define RUBY_REVISION_STR " "RUBY_BRANCH_NAME" "RUBY_REVISION
67
+ # else
68
+ # define RUBY_REVISION_STR " revision "RUBY_REVISION
69
+ # endif
70
+ #else
71
+ # define RUBY_REVISION "HEAD"
72
+ # define RUBY_REVISION_STR ""
73
+ #endif
74
+ #if !defined RUBY_RELEASE_DATETIME || RUBY_PATCHLEVEL != -1
75
+ # undef RUBY_RELEASE_DATETIME
76
+ # define RUBY_RELEASE_DATETIME RUBY_RELEASE_DATE
77
+ #endif
78
+
79
+ # define RUBY_DESCRIPTION_WITH(opt) \
80
+ "ruby "RUBY_VERSION \
81
+ RUBY_PATCHLEVEL_STR \
82
+ " ("RUBY_RELEASE_DATETIME \
83
+ RUBY_REVISION_STR")"opt" " \
84
+ "["RUBY_PLATFORM"]"
85
+ # define RUBY_COPYRIGHT \
86
+ "ruby - Copyright (C) " \
87
+ RUBY_BIRTH_YEAR_STR"-" \
88
+ RUBY_RELEASE_YEAR_STR" " \
89
+ RUBY_AUTHOR
90
+
91
+ #endif /* RUBY_TOPLEVEL_VERSION_H */