debase-ruby_core_source 3.3.6 → 3.4.1

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 (297) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/CHANGELOG.md +6 -0
  4. data/Rakefile +3 -1
  5. data/debase-ruby_core_source.gemspec +1 -0
  6. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/builtin.h +7 -1
  7. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/darray.h +1 -3
  8. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/id.h +5 -0
  9. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/insns.inc +2 -0
  10. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/insns_info.inc +310 -175
  11. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/basic_operators.h +1 -0
  12. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/bits.h +82 -0
  13. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/encoding.h +2 -0
  14. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/error.h +26 -0
  15. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/fixnum.h +1 -0
  16. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/gc.h +14 -6
  17. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/imemo.h +6 -1
  18. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/io.h +1 -1
  19. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/parse.h +2 -1
  20. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/proc.h +1 -0
  21. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/ractor.h +4 -0
  22. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/sanitizers.h +31 -39
  23. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/string.h +22 -10
  24. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/thread.h +23 -0
  25. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/vm.h +1 -1
  26. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/method.h +1 -0
  27. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/optunifs.inc +1 -1
  28. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/parse.h +2 -2
  29. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/ast.h +427 -3
  30. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/defines.h +8 -7
  31. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/diagnostic.h +1 -0
  32. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/extension.h +1 -1
  33. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/prism.h +47 -11
  34. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/version.h +2 -2
  35. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism_compile.h +5 -5
  36. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/ractor_core.h +6 -6
  37. data/lib/debase/ruby_core_source/ruby-3.4.0-p-1/revision.h +5 -0
  38. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/rubyparser.h +3 -2
  39. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/thread_pthread.h +0 -1
  40. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/version.h +1 -1
  41. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm.inc +151 -88
  42. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_core.h +40 -12
  43. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_sync.h +3 -3
  44. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vmtc.inc +2 -0
  45. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/yjit.h +1 -0
  46. data/lib/debase/ruby_core_source/version.rb +1 -1
  47. data/lib/debase/ruby_core_source.rb +4 -2
  48. data/test/deduce_source_dir_test.rb +31 -0
  49. metadata +162 -293
  50. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  51. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  52. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  53. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/id.h +0 -343
  54. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  55. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  56. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/array.h +0 -151
  57. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/basic_operators.h +0 -63
  58. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/bits.h +0 -568
  59. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +0 -283
  60. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/error.h +0 -216
  61. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/fixnum.h +0 -184
  62. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/gc.h +0 -334
  63. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/hash.h +0 -191
  64. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/imemo.h +0 -260
  65. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/io.h +0 -140
  66. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/parse.h +0 -117
  67. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/ractor.h +0 -6
  68. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/sanitizers.h +0 -297
  69. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/string.h +0 -182
  70. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/thread.h +0 -79
  71. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/vm.h +0 -137
  72. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  73. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/method.h +0 -255
  74. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  75. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  76. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/ast.h +0 -6245
  77. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/defines.h +0 -206
  78. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/diagnostic.h +0 -433
  79. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/extension.h +0 -19
  80. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/node.h +0 -150
  81. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/options.h +0 -305
  82. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/parser.h +0 -891
  83. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  84. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/static_literals.h +0 -120
  85. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_char.h +0 -205
  86. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_constant_pool.h +0 -226
  87. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_integer.h +0 -119
  88. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_newline_list.h +0 -102
  89. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string.h +0 -174
  90. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  91. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/version.h +0 -29
  92. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism_compile.h +0 -88
  93. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ractor_core.h +0 -393
  94. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  95. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  96. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/rubyparser.h +0 -1430
  97. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/shape.h +0 -233
  98. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  99. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/thread_pthread.h +0 -166
  100. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  101. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  102. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  103. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_core.h +0 -2236
  104. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  105. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  106. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  107. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  108. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  109. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/build_assert/build_assert.h +0 -40
  110. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/check_type/check_type.h +0 -63
  111. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/container_of/container_of.h +0 -142
  112. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/list/list.h +0 -791
  113. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/str/str.h +0 -17
  114. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  115. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  116. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  117. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  118. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/id_table.h +0 -39
  119. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/bignum.h +0 -244
  120. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/cmdlineopt.h +0 -65
  121. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compar.h +0 -29
  122. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compile.h +0 -34
  123. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compilers.h +0 -107
  124. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/complex.h +0 -29
  125. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/cont.h +0 -35
  126. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/dir.h +0 -16
  127. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enc.h +0 -19
  128. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +0 -36
  129. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enum.h +0 -18
  130. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enumerator.h +0 -21
  131. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/eval.h +0 -33
  132. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/file.h +0 -38
  133. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/inits.h +0 -47
  134. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/load.h +0 -18
  135. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/loadpath.h +0 -16
  136. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/math.h +0 -23
  137. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/missing.h +0 -19
  138. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/numeric.h +0 -274
  139. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/object.h +0 -63
  140. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/proc.h +0 -30
  141. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/process.h +0 -124
  142. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/random.h +0 -17
  143. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/range.h +0 -40
  144. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/rational.h +0 -71
  145. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/re.h +0 -28
  146. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/ruby_parser.h +0 -102
  147. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/serial.h +0 -23
  148. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/signal.h +0 -24
  149. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/st.h +0 -11
  150. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/static_assert.h +0 -16
  151. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/struct.h +0 -127
  152. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/symbol.h +0 -45
  153. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/time.h +0 -34
  154. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/transcode.h +0 -23
  155. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/util.h +0 -27
  156. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/variable.h +0 -72
  157. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/warnings.h +0 -16
  158. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal.h +0 -108
  159. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/iseq.h +0 -340
  160. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/node.h +0 -111
  161. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  162. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  163. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  164. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  165. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_st.h +0 -162
  166. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_value.h +0 -106
  167. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/encoding.h +0 -283
  168. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/pack.h +0 -163
  169. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/prettyprint.h +0 -34
  170. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +0 -336
  171. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_buffer.h +0 -218
  172. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_list.h +0 -97
  173. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_memchr.h +0 -29
  174. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strncasecmp.h +0 -32
  175. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strpbrk.h +0 -46
  176. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  177. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  178. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  179. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  180. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  181. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  182. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_assert.h +0 -14
  183. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_atomic.h +0 -23
  184. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  185. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/thread_none.h +0 -21
  186. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  187. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  188. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  189. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  190. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  191. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_debug.h +0 -124
  192. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  193. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_opts.h +0 -67
  194. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  195. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/addr2line.h +0 -0
  196. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/build_assert/build_assert.h +0 -0
  197. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/check_type/check_type.h +0 -0
  198. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/container_of/container_of.h +0 -0
  199. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/list/list.h +0 -0
  200. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/str/str.h +0 -0
  201. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/constant.h +0 -0
  202. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/debug_counter.h +0 -0
  203. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/dln.h +0 -0
  204. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/encindex.h +0 -0
  205. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/eval_intern.h +0 -0
  206. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/hrtime.h +0 -0
  207. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/id_table.h +0 -0
  208. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/array.h +0 -0
  209. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/bignum.h +0 -0
  210. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/class.h +0 -0
  211. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/cmdlineopt.h +0 -0
  212. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compar.h +0 -0
  213. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compile.h +0 -0
  214. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compilers.h +0 -0
  215. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/complex.h +0 -0
  216. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/cont.h +0 -0
  217. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/dir.h +0 -0
  218. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enc.h +0 -0
  219. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enum.h +0 -0
  220. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enumerator.h +0 -0
  221. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/eval.h +0 -0
  222. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/file.h +0 -0
  223. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/hash.h +0 -0
  224. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/inits.h +0 -0
  225. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/load.h +0 -0
  226. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/loadpath.h +0 -0
  227. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/math.h +0 -0
  228. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/missing.h +0 -0
  229. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/numeric.h +0 -0
  230. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/object.h +0 -0
  231. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/process.h +0 -0
  232. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/random.h +0 -0
  233. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/range.h +0 -0
  234. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/rational.h +0 -0
  235. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/re.h +0 -0
  236. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/ruby_parser.h +0 -0
  237. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/serial.h +0 -0
  238. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/signal.h +0 -0
  239. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/st.h +0 -0
  240. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/static_assert.h +0 -0
  241. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/struct.h +0 -0
  242. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/symbol.h +0 -0
  243. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/time.h +0 -0
  244. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/transcode.h +0 -0
  245. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/util.h +0 -0
  246. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/variable.h +0 -0
  247. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/warnings.h +0 -0
  248. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal.h +0 -0
  249. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/iseq.h +0 -0
  250. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/known_errors.inc +0 -0
  251. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/node.h +0 -0
  252. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/node_name.inc +0 -0
  253. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/optinsn.inc +0 -0
  254. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_bits.h +0 -0
  255. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_node.h +0 -0
  256. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_st.h +0 -0
  257. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_value.h +0 -0
  258. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/encoding.h +0 -0
  259. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/node.h +0 -0
  260. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/options.h +0 -0
  261. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/pack.h +0 -0
  262. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/parser.h +0 -0
  263. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/prettyprint.h +0 -0
  264. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/regexp.h +0 -0
  265. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/static_literals.h +0 -0
  266. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_buffer.h +0 -0
  267. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_char.h +0 -0
  268. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_constant_pool.h +0 -0
  269. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_integer.h +0 -0
  270. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_list.h +0 -0
  271. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_memchr.h +0 -0
  272. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_newline_list.h +0 -0
  273. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_string.h +0 -0
  274. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_strncasecmp.h +0 -0
  275. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_strpbrk.h +0 -0
  276. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/probes_helper.h +0 -0
  277. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/regenc.h +0 -0
  278. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/regint.h +0 -0
  279. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/regparse.h +0 -0
  280. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/rjit.h +0 -0
  281. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/rjit_c.h +0 -0
  282. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ruby_assert.h +0 -0
  283. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ruby_atomic.h +0 -0
  284. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/shape.h +0 -0
  285. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/siphash.h +0 -0
  286. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/symbol.h +0 -0
  287. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/thread_none.h +0 -0
  288. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/thread_win32.h +0 -0
  289. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/timev.h +0 -0
  290. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/transcode_data.h +0 -0
  291. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/variable.h +0 -0
  292. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_call_iseq_optimized.inc +0 -0
  293. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_callinfo.h +0 -0
  294. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_debug.h +0 -0
  295. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_exec.h +0 -0
  296. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_insnhelper.h +0 -0
  297. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_opts.h +0 -0
@@ -1,260 +0,0 @@
1
- #ifndef INTERNAL_IMEMO_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_IMEMO_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 IMEMO: Internal memo object.
10
- */
11
- #include "ruby/internal/config.h"
12
- #include <stddef.h> /* for size_t */
13
- #include "internal/array.h" /* for rb_ary_hidden_new_fill */
14
- #include "ruby/internal/stdbool.h" /* for bool */
15
- #include "ruby/ruby.h" /* for rb_block_call_func_t */
16
-
17
- #ifndef IMEMO_DEBUG
18
- # define IMEMO_DEBUG 0
19
- #endif
20
-
21
- #define IMEMO_MASK 0x0f
22
-
23
- /* FL_USER0 to FL_USER3 is for type */
24
- #define IMEMO_FL_USHIFT (FL_USHIFT + 4)
25
- #define IMEMO_FL_USER0 FL_USER4
26
- #define IMEMO_FL_USER1 FL_USER5
27
- #define IMEMO_FL_USER2 FL_USER6
28
- #define IMEMO_FL_USER3 FL_USER7
29
- #define IMEMO_FL_USER4 FL_USER8
30
- #define IMEMO_FL_USER5 FL_USER9
31
-
32
- enum imemo_type {
33
- imemo_env = 0,
34
- imemo_cref = 1, /*!< class reference */
35
- imemo_svar = 2, /*!< special variable */
36
- imemo_throw_data = 3,
37
- imemo_ifunc = 4, /*!< iterator function */
38
- imemo_memo = 5,
39
- imemo_ment = 6,
40
- imemo_iseq = 7,
41
- imemo_tmpbuf = 8,
42
- imemo_ast = 9, // Obsolete due to the universal parser
43
- imemo_parser_strterm = 10,
44
- imemo_callinfo = 11,
45
- imemo_callcache = 12,
46
- imemo_constcache = 13,
47
- };
48
-
49
- /* CREF (Class REFerence) is defined in method.h */
50
-
51
- /*! SVAR (Special VARiable) */
52
- struct vm_svar {
53
- VALUE flags;
54
- const VALUE cref_or_me; /*!< class reference or rb_method_entry_t */
55
- const VALUE lastline;
56
- const VALUE backref;
57
- const VALUE others;
58
- };
59
-
60
- /*! THROW_DATA */
61
- struct vm_throw_data {
62
- VALUE flags;
63
- VALUE reserved;
64
- const VALUE throw_obj;
65
- const struct rb_control_frame_struct *catch_frame;
66
- int throw_state;
67
- };
68
-
69
- #define THROW_DATA_CONSUMED IMEMO_FL_USER0
70
-
71
- /* IFUNC (Internal FUNCtion) */
72
-
73
- struct vm_ifunc_argc {
74
- #if SIZEOF_INT * 2 > SIZEOF_VALUE
75
- signed int min: (SIZEOF_VALUE * CHAR_BIT) / 2;
76
- signed int max: (SIZEOF_VALUE * CHAR_BIT) / 2;
77
- #else
78
- int min, max;
79
- #endif
80
- };
81
-
82
- /*! IFUNC (Internal FUNCtion) */
83
- struct vm_ifunc {
84
- VALUE flags;
85
- VALUE *svar_lep;
86
- rb_block_call_func_t func;
87
- const void *data;
88
- struct vm_ifunc_argc argc;
89
- };
90
-
91
- struct rb_imemo_tmpbuf_struct {
92
- VALUE flags;
93
- VALUE reserved;
94
- VALUE *ptr; /* malloc'ed buffer */
95
- struct rb_imemo_tmpbuf_struct *next; /* next imemo */
96
- size_t cnt; /* buffer size in VALUE */
97
- };
98
-
99
- /*! MEMO
100
- *
101
- * @see imemo_type
102
- * */
103
- struct MEMO {
104
- VALUE flags;
105
- VALUE reserved;
106
- const VALUE v1;
107
- const VALUE v2;
108
- union {
109
- long cnt;
110
- long state;
111
- const VALUE value;
112
- void (*func)(void);
113
- } u3;
114
- };
115
-
116
- #define IMEMO_NEW(T, type, v0) ((T *)rb_imemo_new((type), (v0)))
117
-
118
- /* ment is in method.h */
119
-
120
- #define THROW_DATA_P(err) imemo_throw_data_p((VALUE)err)
121
- #define MEMO_CAST(m) ((struct MEMO *)(m))
122
- #define MEMO_FOR(type, value) ((type *)RARRAY_PTR(value))
123
- #define NEW_MEMO_FOR(type, value) \
124
- ((value) = rb_ary_hidden_new_fill(type_roomof(type, VALUE)), MEMO_FOR(type, value))
125
- #define NEW_PARTIAL_MEMO_FOR(type, value, member) \
126
- ((value) = rb_ary_hidden_new_fill(type_roomof(type, VALUE)), \
127
- rb_ary_set_len((value), offsetof(type, member) / sizeof(VALUE)), \
128
- MEMO_FOR(type, value))
129
-
130
- #ifndef RUBY_RUBYPARSER_H
131
- typedef struct rb_imemo_tmpbuf_struct rb_imemo_tmpbuf_t;
132
- #endif
133
- rb_imemo_tmpbuf_t *rb_imemo_tmpbuf_parser_heap(void *buf, rb_imemo_tmpbuf_t *old_heap, size_t cnt);
134
- struct vm_ifunc *rb_vm_ifunc_new(rb_block_call_func_t func, const void *data, int min_argc, int max_argc);
135
- static inline enum imemo_type imemo_type(VALUE imemo);
136
- static inline int imemo_type_p(VALUE imemo, enum imemo_type imemo_type);
137
- static inline bool imemo_throw_data_p(VALUE imemo);
138
- static inline struct vm_ifunc *rb_vm_ifunc_proc_new(rb_block_call_func_t func, const void *data);
139
- static inline VALUE rb_imemo_tmpbuf_auto_free_pointer(void);
140
- static inline void *RB_IMEMO_TMPBUF_PTR(VALUE v);
141
- static inline void *rb_imemo_tmpbuf_set_ptr(VALUE v, void *ptr);
142
- static inline VALUE rb_imemo_tmpbuf_auto_free_pointer_new_from_an_RString(VALUE str);
143
- static inline void MEMO_V1_SET(struct MEMO *m, VALUE v);
144
- static inline void MEMO_V2_SET(struct MEMO *m, VALUE v);
145
-
146
- size_t rb_imemo_memsize(VALUE obj);
147
- void rb_cc_table_mark(VALUE klass);
148
- void rb_imemo_mark_and_move(VALUE obj, bool reference_updating);
149
- void rb_cc_table_free(VALUE klass);
150
- void rb_imemo_free(VALUE obj);
151
-
152
- RUBY_SYMBOL_EXPORT_BEGIN
153
- #if IMEMO_DEBUG
154
- VALUE rb_imemo_new_debug(enum imemo_type type, VALUE v0, const char *file, int line);
155
- #define rb_imemo_new(type, v1, v2, v3, v0) rb_imemo_new_debug(type, v1, v2, v3, v0, __FILE__, __LINE__)
156
- #else
157
- VALUE rb_imemo_new(enum imemo_type type, VALUE v0);
158
- #endif
159
- const char *rb_imemo_name(enum imemo_type type);
160
- RUBY_SYMBOL_EXPORT_END
161
-
162
- static inline struct MEMO *
163
- MEMO_NEW(VALUE a, VALUE b, VALUE c)
164
- {
165
- struct MEMO *memo = IMEMO_NEW(struct MEMO, imemo_memo, 0);
166
- *((VALUE *)&memo->v1) = a;
167
- *((VALUE *)&memo->v2) = b;
168
- *((VALUE *)&memo->u3.value) = c;
169
-
170
- return memo;
171
- }
172
-
173
- static inline enum imemo_type
174
- imemo_type(VALUE imemo)
175
- {
176
- return (RBASIC(imemo)->flags >> FL_USHIFT) & IMEMO_MASK;
177
- }
178
-
179
- static inline int
180
- imemo_type_p(VALUE imemo, enum imemo_type imemo_type)
181
- {
182
- if (LIKELY(!RB_SPECIAL_CONST_P(imemo))) {
183
- /* fixed at compile time if imemo_type is given. */
184
- const VALUE mask = (IMEMO_MASK << FL_USHIFT) | RUBY_T_MASK;
185
- const VALUE expected_type = (imemo_type << FL_USHIFT) | T_IMEMO;
186
- /* fixed at runtime. */
187
- return expected_type == (RBASIC(imemo)->flags & mask);
188
- }
189
- else {
190
- return 0;
191
- }
192
- }
193
-
194
- #define IMEMO_TYPE_P(v, t) imemo_type_p((VALUE)(v), t)
195
-
196
- static inline bool
197
- imemo_throw_data_p(VALUE imemo)
198
- {
199
- return RB_TYPE_P(imemo, T_IMEMO);
200
- }
201
-
202
- static inline struct vm_ifunc *
203
- rb_vm_ifunc_proc_new(rb_block_call_func_t func, const void *data)
204
- {
205
- return rb_vm_ifunc_new(func, data, 0, UNLIMITED_ARGUMENTS);
206
- }
207
-
208
- static inline VALUE
209
- rb_imemo_tmpbuf_auto_free_pointer(void)
210
- {
211
- return rb_imemo_new(imemo_tmpbuf, 0);
212
- }
213
-
214
- static inline void *
215
- RB_IMEMO_TMPBUF_PTR(VALUE v)
216
- {
217
- const struct rb_imemo_tmpbuf_struct *p = (const void *)v;
218
- return p->ptr;
219
- }
220
-
221
- static inline void *
222
- rb_imemo_tmpbuf_set_ptr(VALUE v, void *ptr)
223
- {
224
- return ((rb_imemo_tmpbuf_t *)v)->ptr = ptr;
225
- }
226
-
227
- static inline VALUE
228
- rb_imemo_tmpbuf_auto_free_pointer_new_from_an_RString(VALUE str)
229
- {
230
- const void *src;
231
- VALUE imemo;
232
- rb_imemo_tmpbuf_t *tmpbuf;
233
- void *dst;
234
- size_t len;
235
-
236
- StringValue(str);
237
- /* create tmpbuf to keep the pointer before xmalloc */
238
- imemo = rb_imemo_tmpbuf_auto_free_pointer();
239
- tmpbuf = (rb_imemo_tmpbuf_t *)imemo;
240
- len = RSTRING_LEN(str);
241
- src = RSTRING_PTR(str);
242
- dst = ruby_xmalloc(len);
243
- memcpy(dst, src, len);
244
- tmpbuf->ptr = dst;
245
- return imemo;
246
- }
247
-
248
- static inline void
249
- MEMO_V1_SET(struct MEMO *m, VALUE v)
250
- {
251
- RB_OBJ_WRITE(m, &m->v1, v);
252
- }
253
-
254
- static inline void
255
- MEMO_V2_SET(struct MEMO *m, VALUE v)
256
- {
257
- RB_OBJ_WRITE(m, &m->v2, v);
258
- }
259
-
260
- #endif /* INTERNAL_IMEMO_H */
@@ -1,140 +0,0 @@
1
- #ifndef INTERNAL_IO_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_IO_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 IO.
10
- */
11
- #include "ruby/ruby.h" /* for VALUE */
12
-
13
- #define HAVE_RB_IO_T
14
- struct rb_io;
15
-
16
- #include "ruby/io.h" /* for rb_io_t */
17
-
18
- #define IO_WITHOUT_GVL(func, arg) rb_thread_call_without_gvl(func, arg, RUBY_UBF_IO, 0)
19
- #define IO_WITHOUT_GVL_INT(func, arg) (int)(VALUE)IO_WITHOUT_GVL(func, arg)
20
-
21
- /** Ruby's IO, metadata and buffers. */
22
- struct rb_io {
23
-
24
- /** The IO's Ruby level counterpart. */
25
- VALUE self;
26
-
27
- /** stdio ptr for read/write, if available. */
28
- FILE *stdio_file;
29
-
30
- /** file descriptor. */
31
- int fd;
32
-
33
- /** mode flags: FMODE_XXXs */
34
- int mode;
35
-
36
- /** child's pid (for pipes) */
37
- rb_pid_t pid;
38
-
39
- /** number of lines read */
40
- int lineno;
41
-
42
- /** pathname for file */
43
- VALUE pathv;
44
-
45
- /** finalize proc */
46
- void (*finalize)(struct rb_io*,int);
47
-
48
- /** Write buffer. */
49
- rb_io_buffer_t wbuf;
50
-
51
- /**
52
- * (Byte) read buffer. Note also that there is a field called
53
- * ::rb_io_t::cbuf, which also concerns read IO.
54
- */
55
- rb_io_buffer_t rbuf;
56
-
57
- /**
58
- * Duplex IO object, if set.
59
- *
60
- * @see rb_io_set_write_io()
61
- */
62
- VALUE tied_io_for_writing;
63
-
64
- struct rb_io_encoding encs; /**< Decomposed encoding flags. */
65
-
66
- /** Encoding converter used when reading from this IO. */
67
- rb_econv_t *readconv;
68
-
69
- /**
70
- * rb_io_ungetc() destination. This buffer is read before checking
71
- * ::rb_io_t::rbuf
72
- */
73
- rb_io_buffer_t cbuf;
74
-
75
- /** Encoding converter used when writing to this IO. */
76
- rb_econv_t *writeconv;
77
-
78
- /**
79
- * This is, when set, an instance of ::rb_cString which holds the "common"
80
- * encoding. Write conversion can convert strings twice... In case
81
- * conversion from encoding X to encoding Y does not exist, Ruby finds an
82
- * encoding Z that bridges the two, so that X to Z to Y conversion happens.
83
- */
84
- VALUE writeconv_asciicompat;
85
-
86
- /** Whether ::rb_io_t::writeconv is already set up. */
87
- int writeconv_initialized;
88
-
89
- /**
90
- * Value of ::rb_io_t::rb_io_enc_t::ecflags stored right before
91
- * initialising ::rb_io_t::writeconv.
92
- */
93
- int writeconv_pre_ecflags;
94
-
95
- /**
96
- * Value of ::rb_io_t::rb_io_enc_t::ecopts stored right before initialising
97
- * ::rb_io_t::writeconv.
98
- */
99
- VALUE writeconv_pre_ecopts;
100
-
101
- /**
102
- * This is a Ruby level mutex. It avoids multiple threads to write to an
103
- * IO at once; helps for instance rb_io_puts() to ensure newlines right
104
- * next to its arguments.
105
- *
106
- * This of course doesn't help inter-process IO interleaves, though.
107
- */
108
- VALUE write_lock;
109
-
110
- /**
111
- * The timeout associated with this IO when performing blocking operations.
112
- */
113
- VALUE timeout;
114
- };
115
-
116
- /* io.c */
117
- void ruby_set_inplace_mode(const char *);
118
- void rb_stdio_set_default_encoding(void);
119
- VALUE rb_io_flush_raw(VALUE, int);
120
- size_t rb_io_memsize(const rb_io_t *);
121
- int rb_stderr_tty_p(void);
122
- void rb_io_fptr_finalize_internal(void *ptr);
123
- #ifdef rb_io_fptr_finalize
124
- # undef rb_io_fptr_finalize
125
- #endif
126
- #define rb_io_fptr_finalize rb_io_fptr_finalize_internal
127
- VALUE rb_io_popen(VALUE pname, VALUE pmode, VALUE env, VALUE opt);
128
-
129
- VALUE rb_io_prep_stdin(void);
130
- VALUE rb_io_prep_stdout(void);
131
- VALUE rb_io_prep_stderr(void);
132
-
133
- RUBY_SYMBOL_EXPORT_BEGIN
134
- /* io.c (export) */
135
- void rb_maygvl_fd_fix_cloexec(int fd);
136
- int rb_gc_for_fd(int err);
137
- void rb_write_error_str(VALUE mesg);
138
- RUBY_SYMBOL_EXPORT_END
139
-
140
- #endif /* INTERNAL_IO_H */
@@ -1,117 +0,0 @@
1
- #ifndef INTERNAL_PARSE_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_PARSE_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 parser.
10
- */
11
- #include <limits.h>
12
- #include "rubyparser.h"
13
- #include "internal/static_assert.h"
14
-
15
- #ifdef UNIVERSAL_PARSER
16
- #define rb_encoding const void
17
- #endif
18
-
19
- struct rb_iseq_struct; /* in vm_core.h */
20
-
21
- /* structs for managing terminator of string literal and heredocment */
22
- typedef struct rb_strterm_literal_struct {
23
- long nest;
24
- int func; /* STR_FUNC_* (e.g., STR_FUNC_ESCAPE and STR_FUNC_EXPAND) */
25
- int paren; /* '(' of `%q(...)` */
26
- int term; /* ')' of `%q(...)` */
27
- } rb_strterm_literal_t;
28
-
29
- typedef struct rb_strterm_heredoc_struct {
30
- rb_parser_string_t *lastline; /* the string of line that contains `<<"END"` */
31
- long offset; /* the column of END in `<<"END"` */
32
- int sourceline; /* lineno of the line that contains `<<"END"` */
33
- unsigned length; /* the length of END in `<<"END"` */
34
- uint8_t quote;
35
- uint8_t func;
36
- } rb_strterm_heredoc_t;
37
-
38
- #define HERETERM_LENGTH_MAX UINT_MAX
39
-
40
- typedef struct rb_strterm_struct {
41
- bool heredoc;
42
- union {
43
- rb_strterm_literal_t literal;
44
- rb_strterm_heredoc_t heredoc;
45
- } u;
46
- } rb_strterm_t;
47
-
48
- /* parse.y */
49
- void rb_ruby_parser_mark(void *ptr);
50
- size_t rb_ruby_parser_memsize(const void *ptr);
51
-
52
- void rb_ruby_parser_set_options(rb_parser_t *p, int print, int loop, int chomp, int split);
53
- rb_parser_t *rb_ruby_parser_set_context(rb_parser_t *p, const struct rb_iseq_struct *base, int main);
54
- void rb_ruby_parser_set_script_lines(rb_parser_t *p);
55
- void rb_ruby_parser_error_tolerant(rb_parser_t *p);
56
- void rb_ruby_parser_keep_tokens(rb_parser_t *p);
57
- typedef rb_parser_string_t*(rb_parser_lex_gets_func)(struct parser_params*, rb_parser_input_data, int);
58
- rb_ast_t *rb_parser_compile(rb_parser_t *p, rb_parser_lex_gets_func *gets, const char *fname_ptr, long fname_len, rb_encoding *fname_enc, rb_parser_input_data input, int line);
59
-
60
- RUBY_SYMBOL_EXPORT_BEGIN
61
-
62
- rb_encoding *rb_ruby_parser_encoding(rb_parser_t *p);
63
- int rb_ruby_parser_end_seen_p(rb_parser_t *p);
64
- int rb_ruby_parser_set_yydebug(rb_parser_t *p, int flag);
65
- rb_parser_string_t *rb_str_to_parser_string(rb_parser_t *p, VALUE str);
66
-
67
- int rb_parser_dvar_defined_ref(struct parser_params*, ID, ID**);
68
- ID rb_parser_internal_id(struct parser_params*);
69
- int rb_parser_reg_fragment_check(struct parser_params*, rb_parser_string_t*, int);
70
- int rb_reg_named_capture_assign_iter_impl(struct parser_params *p, const char *s, long len, rb_encoding *enc, NODE **succ_block, const rb_code_location_t *loc);
71
- int rb_parser_local_defined(struct parser_params *p, ID id, const struct rb_iseq_struct *iseq);
72
-
73
- RUBY_SYMBOL_EXPORT_END
74
-
75
- #ifndef UNIVERSAL_PARSER
76
- rb_parser_t *rb_ruby_parser_allocate(void);
77
- rb_parser_t *rb_ruby_parser_new(void);
78
- #endif
79
-
80
- #ifdef RIPPER
81
- void ripper_parser_mark(void *ptr);
82
- void ripper_parser_free(void *ptr);
83
- size_t ripper_parser_memsize(const void *ptr);
84
- void ripper_error(struct parser_params *p);
85
- VALUE ripper_value(struct parser_params *p);
86
- int rb_ruby_parser_get_yydebug(rb_parser_t *p);
87
- void rb_ruby_parser_set_value(rb_parser_t *p, VALUE value);
88
- int rb_ruby_parser_error_p(rb_parser_t *p);
89
- VALUE rb_ruby_parser_debug_output(rb_parser_t *p);
90
- void rb_ruby_parser_set_debug_output(rb_parser_t *p, VALUE output);
91
- VALUE rb_ruby_parser_parsing_thread(rb_parser_t *p);
92
- void rb_ruby_parser_set_parsing_thread(rb_parser_t *p, VALUE parsing_thread);
93
- void rb_ruby_parser_ripper_initialize(rb_parser_t *p, rb_parser_lex_gets_func *gets, rb_parser_input_data input, VALUE sourcefile_string, const char *sourcefile, int sourceline);
94
- VALUE rb_ruby_parser_result(rb_parser_t *p);
95
- rb_encoding *rb_ruby_parser_enc(rb_parser_t *p);
96
- VALUE rb_ruby_parser_ruby_sourcefile_string(rb_parser_t *p);
97
- int rb_ruby_parser_ruby_sourceline(rb_parser_t *p);
98
- int rb_ruby_parser_lex_state(rb_parser_t *p);
99
- void rb_ruby_ripper_parse0(rb_parser_t *p);
100
- int rb_ruby_ripper_dedent_string(rb_parser_t *p, VALUE string, int width);
101
- int rb_ruby_ripper_initialized_p(rb_parser_t *p);
102
- void rb_ruby_ripper_parser_initialize(rb_parser_t *p);
103
- long rb_ruby_ripper_column(rb_parser_t *p);
104
- long rb_ruby_ripper_token_len(rb_parser_t *p);
105
- rb_parser_string_t *rb_ruby_ripper_lex_lastline(rb_parser_t *p);
106
- VALUE rb_ruby_ripper_lex_state_name(struct parser_params *p, int state);
107
- #ifdef UNIVERSAL_PARSER
108
- rb_parser_t *rb_ripper_parser_params_allocate(const rb_parser_config_t *config);
109
- #endif
110
- struct parser_params *rb_ruby_ripper_parser_allocate(void);
111
- #endif
112
-
113
- #ifdef UNIVERSAL_PARSER
114
- #undef rb_encoding
115
- #endif
116
-
117
- #endif /* INTERNAL_PARSE_H */
@@ -1,6 +0,0 @@
1
- #ifndef INTERNAL_RACTOR_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_RACTOR_H
3
-
4
- void rb_ractor_ensure_main_ractor(const char *msg);
5
-
6
- #endif /* INTERNAL_RACTOR_H */