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,272 +0,0 @@
1
- #ifndef RUBY_INSNHELPER_H
2
- #define RUBY_INSNHELPER_H
3
- /**********************************************************************
4
-
5
- insnhelper.h - helper macros to implement each instructions
6
-
7
- $Author$
8
- created at: 04/01/01 15:50:34 JST
9
-
10
- Copyright (C) 2004-2007 Koichi Sasada
11
-
12
- **********************************************************************/
13
-
14
- RUBY_EXTERN VALUE ruby_vm_const_missing_count;
15
- RUBY_EXTERN rb_serial_t ruby_vm_constant_cache_invalidations;
16
- RUBY_EXTERN rb_serial_t ruby_vm_constant_cache_misses;
17
- RUBY_EXTERN rb_serial_t ruby_vm_global_cvar_state;
18
-
19
- #if USE_YJIT || USE_RJIT // We want vm_insns_count on any JIT-enabled build.
20
- // Increment vm_insns_count for --yjit-stats. We increment this even when
21
- // --yjit or --yjit-stats is not used because branching to skip it is slower.
22
- // We also don't use ATOMIC_INC for performance, allowing inaccuracy on Ractors.
23
- #define JIT_COLLECT_USAGE_INSN(insn) rb_vm_insns_count++
24
- #else
25
- #define JIT_COLLECT_USAGE_INSN(insn) // none
26
- #endif
27
-
28
- #if VM_COLLECT_USAGE_DETAILS
29
- #define COLLECT_USAGE_INSN(insn) vm_collect_usage_insn(insn)
30
- #define COLLECT_USAGE_OPERAND(insn, n, op) vm_collect_usage_operand((insn), (n), ((VALUE)(op)))
31
- #define COLLECT_USAGE_REGISTER(reg, s) vm_collect_usage_register((reg), (s))
32
- #else
33
- #define COLLECT_USAGE_INSN(insn) JIT_COLLECT_USAGE_INSN(insn)
34
- #define COLLECT_USAGE_OPERAND(insn, n, op) // none
35
- #define COLLECT_USAGE_REGISTER(reg, s) // none
36
- #endif
37
-
38
- /**********************************************************/
39
- /* deal with stack */
40
- /**********************************************************/
41
-
42
- #define PUSH(x) (SET_SV(x), INC_SP(1))
43
- #define TOPN(n) (*(GET_SP()-(n)-1))
44
- #define POPN(n) (DEC_SP(n))
45
- #define POP() (DEC_SP(1))
46
- #define STACK_ADDR_FROM_TOP(n) (GET_SP()-(n))
47
-
48
- /**********************************************************/
49
- /* deal with registers */
50
- /**********************************************************/
51
-
52
- #define VM_REG_CFP (reg_cfp)
53
- #define VM_REG_PC (VM_REG_CFP->pc)
54
- #define VM_REG_SP (VM_REG_CFP->sp)
55
- #define VM_REG_EP (VM_REG_CFP->ep)
56
-
57
- #define RESTORE_REGS() do { \
58
- VM_REG_CFP = ec->cfp; \
59
- } while (0)
60
-
61
- typedef enum call_type {
62
- CALL_PUBLIC,
63
- CALL_FCALL,
64
- CALL_VCALL,
65
- CALL_PUBLIC_KW,
66
- CALL_FCALL_KW
67
- } call_type;
68
-
69
- #if VM_COLLECT_USAGE_DETAILS
70
- enum vm_regan_regtype {
71
- VM_REGAN_PC = 0,
72
- VM_REGAN_SP = 1,
73
- VM_REGAN_EP = 2,
74
- VM_REGAN_CFP = 3,
75
- VM_REGAN_SELF = 4,
76
- VM_REGAN_ISEQ = 5
77
- };
78
- enum vm_regan_acttype {
79
- VM_REGAN_ACT_GET = 0,
80
- VM_REGAN_ACT_SET = 1
81
- };
82
-
83
- #define COLLECT_USAGE_REGISTER_HELPER(a, b, v) \
84
- (COLLECT_USAGE_REGISTER((VM_REGAN_##a), (VM_REGAN_ACT_##b)), (v))
85
- #else
86
- #define COLLECT_USAGE_REGISTER_HELPER(a, b, v) (v)
87
- #endif
88
-
89
- /* PC */
90
- #define GET_PC() (COLLECT_USAGE_REGISTER_HELPER(PC, GET, VM_REG_PC))
91
- #define SET_PC(x) (VM_REG_PC = (COLLECT_USAGE_REGISTER_HELPER(PC, SET, (x))))
92
- #define GET_CURRENT_INSN() (*GET_PC())
93
- #define GET_OPERAND(n) (GET_PC()[(n)])
94
- #define ADD_PC(n) (SET_PC(VM_REG_PC + (n)))
95
- #define JUMP(dst) (SET_PC(VM_REG_PC + (dst)))
96
-
97
- /* frame pointer, environment pointer */
98
- #define GET_CFP() (COLLECT_USAGE_REGISTER_HELPER(CFP, GET, VM_REG_CFP))
99
- #define GET_EP() (COLLECT_USAGE_REGISTER_HELPER(EP, GET, VM_REG_EP))
100
- #define SET_EP(x) (VM_REG_EP = (COLLECT_USAGE_REGISTER_HELPER(EP, SET, (x))))
101
- #define GET_LEP() (VM_EP_LEP(GET_EP()))
102
-
103
- /* SP */
104
- #define GET_SP() (COLLECT_USAGE_REGISTER_HELPER(SP, GET, VM_REG_SP))
105
- #define SET_SP(x) (VM_REG_SP = (COLLECT_USAGE_REGISTER_HELPER(SP, SET, (x))))
106
- #define INC_SP(x) (VM_REG_SP += (COLLECT_USAGE_REGISTER_HELPER(SP, SET, (x))))
107
- #define DEC_SP(x) (VM_REG_SP -= (COLLECT_USAGE_REGISTER_HELPER(SP, SET, (x))))
108
- #define SET_SV(x) (*GET_SP() = rb_ractor_confirm_belonging(x))
109
- /* set current stack value as x */
110
-
111
- /* instruction sequence C struct */
112
- #define GET_ISEQ() (GET_CFP()->iseq)
113
-
114
- /**********************************************************/
115
- /* deal with variables */
116
- /**********************************************************/
117
-
118
- #define GET_PREV_EP(ep) ((VALUE *)((ep)[VM_ENV_DATA_INDEX_SPECVAL] & ~0x03))
119
-
120
- /**********************************************************/
121
- /* deal with values */
122
- /**********************************************************/
123
-
124
- #define GET_SELF() (COLLECT_USAGE_REGISTER_HELPER(SELF, GET, GET_CFP()->self))
125
-
126
- /**********************************************************/
127
- /* deal with control flow 2: method/iterator */
128
- /**********************************************************/
129
-
130
- /* set fastpath when cached method is *NOT* protected
131
- * because inline method cache does not care about receiver.
132
- */
133
-
134
- static inline void
135
- CC_SET_FASTPATH(const struct rb_callcache *cc, vm_call_handler func, bool enabled)
136
- {
137
- if (LIKELY(enabled)) {
138
- vm_cc_call_set(cc, func);
139
- }
140
- }
141
-
142
- #define GET_BLOCK_HANDLER() (GET_LEP()[VM_ENV_DATA_INDEX_SPECVAL])
143
-
144
- /**********************************************************/
145
- /* deal with control flow 3: exception */
146
- /**********************************************************/
147
-
148
-
149
- /**********************************************************/
150
- /* deal with stack canary */
151
- /**********************************************************/
152
-
153
- #if VM_CHECK_MODE > 0
154
- #define SETUP_CANARY(cond) \
155
- VALUE *canary = 0; \
156
- if (cond) { \
157
- canary = GET_SP(); \
158
- SET_SV(vm_stack_canary); \
159
- } \
160
- else {\
161
- SET_SV(Qfalse); /* cleanup */ \
162
- }
163
- #define CHECK_CANARY(cond, insn) \
164
- if (cond) { \
165
- if (*canary == vm_stack_canary) { \
166
- *canary = Qfalse; /* cleanup */ \
167
- } \
168
- else { \
169
- rb_vm_canary_is_found_dead(insn, *canary); \
170
- } \
171
- }
172
- #else
173
- #define SETUP_CANARY(cond) if (cond) {} else {}
174
- #define CHECK_CANARY(cond, insn) if (cond) {(void)(insn);}
175
- #endif
176
-
177
- /**********************************************************/
178
- /* others */
179
- /**********************************************************/
180
-
181
- #define CALL_SIMPLE_METHOD() do { \
182
- rb_snum_t insn_width = attr_width_opt_send_without_block(0); \
183
- ADD_PC(-insn_width); \
184
- DISPATCH_ORIGINAL_INSN(opt_send_without_block); \
185
- } while (0)
186
-
187
- #define GET_GLOBAL_CVAR_STATE() (ruby_vm_global_cvar_state)
188
- #define INC_GLOBAL_CVAR_STATE() (++ruby_vm_global_cvar_state)
189
-
190
- static inline struct vm_throw_data *
191
- THROW_DATA_NEW(VALUE val, const rb_control_frame_t *cf, int st)
192
- {
193
- struct vm_throw_data *obj = IMEMO_NEW(struct vm_throw_data, imemo_throw_data, 0);
194
- *((VALUE *)&obj->throw_obj) = val;
195
- *((struct rb_control_frame_struct **)&obj->catch_frame) = (struct rb_control_frame_struct *)cf;
196
- obj->throw_state = st;
197
-
198
- return obj;
199
- }
200
-
201
- static inline VALUE
202
- THROW_DATA_VAL(const struct vm_throw_data *obj)
203
- {
204
- VM_ASSERT(THROW_DATA_P(obj));
205
- return obj->throw_obj;
206
- }
207
-
208
- static inline const rb_control_frame_t *
209
- THROW_DATA_CATCH_FRAME(const struct vm_throw_data *obj)
210
- {
211
- VM_ASSERT(THROW_DATA_P(obj));
212
- return obj->catch_frame;
213
- }
214
-
215
- static inline int
216
- THROW_DATA_STATE(const struct vm_throw_data *obj)
217
- {
218
- VM_ASSERT(THROW_DATA_P(obj));
219
- return obj->throw_state;
220
- }
221
-
222
- static inline int
223
- THROW_DATA_CONSUMED_P(const struct vm_throw_data *obj)
224
- {
225
- VM_ASSERT(THROW_DATA_P(obj));
226
- return obj->flags & THROW_DATA_CONSUMED;
227
- }
228
-
229
- static inline void
230
- THROW_DATA_CATCH_FRAME_SET(struct vm_throw_data *obj, const rb_control_frame_t *cfp)
231
- {
232
- VM_ASSERT(THROW_DATA_P(obj));
233
- obj->catch_frame = cfp;
234
- }
235
-
236
- static inline void
237
- THROW_DATA_STATE_SET(struct vm_throw_data *obj, int st)
238
- {
239
- VM_ASSERT(THROW_DATA_P(obj));
240
- obj->throw_state = st;
241
- }
242
-
243
- static inline void
244
- THROW_DATA_CONSUMED_SET(struct vm_throw_data *obj)
245
- {
246
- if (THROW_DATA_P(obj) &&
247
- THROW_DATA_STATE(obj) == TAG_BREAK) {
248
- obj->flags |= THROW_DATA_CONSUMED;
249
- }
250
- }
251
-
252
- #define IS_ARGS_SPLAT(ci) (vm_ci_flag(ci) & VM_CALL_ARGS_SPLAT)
253
- #define IS_ARGS_KEYWORD(ci) (vm_ci_flag(ci) & VM_CALL_KWARG)
254
- #define IS_ARGS_KW_SPLAT(ci) (vm_ci_flag(ci) & VM_CALL_KW_SPLAT)
255
- #define IS_ARGS_KW_OR_KW_SPLAT(ci) (vm_ci_flag(ci) & (VM_CALL_KWARG | VM_CALL_KW_SPLAT))
256
- #define IS_ARGS_KW_SPLAT_MUT(ci) (vm_ci_flag(ci) & VM_CALL_KW_SPLAT_MUT)
257
-
258
- static inline bool
259
- vm_call_cacheable(const struct rb_callinfo *ci, const struct rb_callcache *cc)
260
- {
261
- return (vm_ci_flag(ci) & VM_CALL_FCALL) ||
262
- METHOD_ENTRY_VISI(vm_cc_cme(cc)) != METHOD_VISI_PROTECTED;
263
- }
264
- /* If this returns true, an optimized function returned by `vm_call_iseq_setup_func`
265
- can be used as a fastpath. */
266
- static inline bool
267
- vm_call_iseq_optimizable_p(const struct rb_callinfo *ci, const struct rb_callcache *cc)
268
- {
269
- return !IS_ARGS_SPLAT(ci) && !IS_ARGS_KEYWORD(ci) && vm_call_cacheable(ci, cc);
270
- }
271
-
272
- #endif /* RUBY_INSNHELPER_H */
@@ -1,137 +0,0 @@
1
- #ifndef RUBY_VM_SYNC_H
2
- #define RUBY_VM_SYNC_H
3
-
4
- #include "vm_debug.h"
5
- #include "debug_counter.h"
6
-
7
- #if USE_RUBY_DEBUG_LOG
8
- #define LOCATION_ARGS const char *file, int line
9
- #define LOCATION_PARAMS file, line
10
- #define APPEND_LOCATION_ARGS , const char *file, int line
11
- #define APPEND_LOCATION_PARAMS , file, line
12
- #else
13
- #define LOCATION_ARGS void
14
- #define LOCATION_PARAMS
15
- #define APPEND_LOCATION_ARGS
16
- #define APPEND_LOCATION_PARAMS
17
- #endif
18
-
19
- bool rb_vm_locked_p(void);
20
- void rb_vm_lock_body(LOCATION_ARGS);
21
- void rb_vm_unlock_body(LOCATION_ARGS);
22
-
23
- struct rb_ractor_struct;
24
- void rb_vm_lock_enter_body_cr(struct rb_ractor_struct *cr, unsigned int *lev APPEND_LOCATION_ARGS);
25
- void rb_vm_lock_enter_body_nb(unsigned int *lev APPEND_LOCATION_ARGS);
26
- void rb_vm_lock_enter_body(unsigned int *lev APPEND_LOCATION_ARGS);
27
- void rb_vm_lock_leave_body(unsigned int *lev APPEND_LOCATION_ARGS);
28
- void rb_vm_barrier(void);
29
-
30
- #if RUBY_DEBUG
31
- // GET_VM()
32
- #include "vm_core.h"
33
- #endif
34
-
35
- RUBY_EXTERN struct rb_ractor_struct *ruby_single_main_ractor; // ractor.c
36
-
37
- static inline bool
38
- rb_multi_ractor_p(void)
39
- {
40
- if (LIKELY(ruby_single_main_ractor)) {
41
- // 0 on boot time.
42
- RUBY_ASSERT(GET_VM()->ractor.cnt <= 1);
43
- return false;
44
- }
45
- else {
46
- // multi-ractor mode can run ractor.cnt == 1
47
- return true;
48
- }
49
- }
50
-
51
- static inline void
52
- rb_vm_lock(const char *file, int line)
53
- {
54
- RB_DEBUG_COUNTER_INC(vm_sync_lock);
55
-
56
- if (rb_multi_ractor_p()) {
57
- rb_vm_lock_body(LOCATION_PARAMS);
58
- }
59
- }
60
-
61
- static inline void
62
- rb_vm_unlock(const char *file, int line)
63
- {
64
- if (rb_multi_ractor_p()) {
65
- rb_vm_unlock_body(LOCATION_PARAMS);
66
- }
67
- }
68
-
69
- static inline void
70
- rb_vm_lock_enter(unsigned int *lev, const char *file, int line)
71
- {
72
- RB_DEBUG_COUNTER_INC(vm_sync_lock_enter);
73
-
74
- if (rb_multi_ractor_p()) {
75
- rb_vm_lock_enter_body(lev APPEND_LOCATION_PARAMS);
76
- }
77
- }
78
-
79
- static inline void
80
- rb_vm_lock_enter_nb(unsigned int *lev, const char *file, int line)
81
- {
82
- RB_DEBUG_COUNTER_INC(vm_sync_lock_enter_nb);
83
-
84
- if (rb_multi_ractor_p()) {
85
- rb_vm_lock_enter_body_nb(lev APPEND_LOCATION_PARAMS);
86
- }
87
- }
88
-
89
- static inline void
90
- rb_vm_lock_leave(unsigned int *lev, const char *file, int line)
91
- {
92
- if (rb_multi_ractor_p()) {
93
- rb_vm_lock_leave_body(lev APPEND_LOCATION_PARAMS);
94
- }
95
- }
96
-
97
- static inline void
98
- rb_vm_lock_enter_cr(struct rb_ractor_struct *cr, unsigned int *levp, const char *file, int line)
99
- {
100
- RB_DEBUG_COUNTER_INC(vm_sync_lock_enter_cr);
101
- rb_vm_lock_enter_body_cr(cr, levp APPEND_LOCATION_PARAMS);
102
- }
103
-
104
- static inline void
105
- rb_vm_lock_leave_cr(struct rb_ractor_struct *cr, unsigned int *levp, const char *file, int line)
106
- {
107
- rb_vm_lock_leave_body(levp APPEND_LOCATION_PARAMS);
108
- }
109
-
110
- #define RB_VM_LOCKED_P() rb_vm_locked_p()
111
-
112
- #define RB_VM_LOCK() rb_vm_lock(__FILE__, __LINE__)
113
- #define RB_VM_UNLOCK() rb_vm_unlock(__FILE__, __LINE__)
114
-
115
- #define RB_VM_LOCK_ENTER_CR_LEV(cr, levp) rb_vm_lock_enter_cr(cr, levp, __FILE__, __LINE__)
116
- #define RB_VM_LOCK_LEAVE_CR_LEV(cr, levp) rb_vm_lock_leave_cr(cr, levp, __FILE__, __LINE__)
117
- #define RB_VM_LOCK_ENTER_LEV(levp) rb_vm_lock_enter(levp, __FILE__, __LINE__)
118
- #define RB_VM_LOCK_LEAVE_LEV(levp) rb_vm_lock_leave(levp, __FILE__, __LINE__)
119
-
120
- #define RB_VM_LOCK_ENTER() { unsigned int _lev; RB_VM_LOCK_ENTER_LEV(&_lev);
121
- #define RB_VM_LOCK_LEAVE() RB_VM_LOCK_LEAVE_LEV(&_lev); }
122
-
123
- #define RB_VM_LOCK_ENTER_LEV_NB(levp) rb_vm_lock_enter_nb(levp, __FILE__, __LINE__)
124
- #define RB_VM_LOCK_ENTER_NO_BARRIER() { unsigned int _lev; RB_VM_LOCK_ENTER_LEV_NB(&_lev);
125
- #define RB_VM_LOCK_LEAVE_NO_BARRIER() RB_VM_LOCK_LEAVE_LEV(&_lev); }
126
-
127
- #if RUBY_DEBUG > 0
128
- void RUBY_ASSERT_vm_locking(void);
129
- void RUBY_ASSERT_vm_unlocking(void);
130
- #define ASSERT_vm_locking() RUBY_ASSERT_vm_locking()
131
- #define ASSERT_vm_unlocking() RUBY_ASSERT_vm_unlocking()
132
- #else
133
- #define ASSERT_vm_locking()
134
- #define ASSERT_vm_unlocking()
135
- #endif
136
-
137
- #endif // RUBY_VM_SYNC_H
@@ -1,253 +0,0 @@
1
- /* -*- C -*- */
2
-
3
- /* This is an auto-generated file and is a part of the programming language
4
- * Ruby. The person who created a program to generate this file (``I''
5
- * hereafter) would like to refrain from defining licensing of this generated
6
- * source code.
7
- *
8
- * This file consists of many small parts of codes copyrighted by each author,
9
- * not only the ``I'' person. Those original authors agree with some
10
- * open-source license. I believe that the license we agree is the condition
11
- * mentioned in the file COPYING. It states "4. You may modify and include
12
- * the part of the software into any other software ...". But the problem is,
13
- * the license never makes it clear if such modified parts still remain in the
14
- * same license, or not. The fact that we agree with the source code's
15
- * licensing terms does not automatically define that of generated ones. This
16
- * is the reason why this file is under an unclear situation. All what I know
17
- * is that above provision guarantees this file to exist.
18
- *
19
- * Please let me hesitate to declare something about this nuanced contract. I
20
- * am not in the position to take over other authors' license to merge into my
21
- * one. Changing them to (say) GPLv3 is not doable by myself. Perhaps someday
22
- * it might turn out to be okay to say this file is under a license. I wish
23
- * the situation would become more clear in the future. */
24
- /*******************************************************************/
25
- /*******************************************************************/
26
- /*******************************************************************/
27
- /**
28
- This file is for threaded code.
29
-
30
- ----
31
- This file is auto generated by insns2vm.rb
32
- DO NOT TOUCH!
33
-
34
- If you want to fix something, you must edit "tool/ruby_vm/views/vmtc.inc.erb"
35
- or tool/insns2vm.rb
36
- */
37
-
38
- static const void *const insns_address_table[] = {
39
- LABEL_PTR(nop),
40
- LABEL_PTR(getlocal),
41
- LABEL_PTR(setlocal),
42
- LABEL_PTR(getblockparam),
43
- LABEL_PTR(setblockparam),
44
- LABEL_PTR(getblockparamproxy),
45
- LABEL_PTR(getspecial),
46
- LABEL_PTR(setspecial),
47
- LABEL_PTR(getinstancevariable),
48
- LABEL_PTR(setinstancevariable),
49
- LABEL_PTR(getclassvariable),
50
- LABEL_PTR(setclassvariable),
51
- LABEL_PTR(opt_getconstant_path),
52
- LABEL_PTR(getconstant),
53
- LABEL_PTR(setconstant),
54
- LABEL_PTR(getglobal),
55
- LABEL_PTR(setglobal),
56
- LABEL_PTR(putnil),
57
- LABEL_PTR(putself),
58
- LABEL_PTR(putobject),
59
- LABEL_PTR(putspecialobject),
60
- LABEL_PTR(putstring),
61
- LABEL_PTR(putchilledstring),
62
- LABEL_PTR(concatstrings),
63
- LABEL_PTR(anytostring),
64
- LABEL_PTR(toregexp),
65
- LABEL_PTR(intern),
66
- LABEL_PTR(newarray),
67
- LABEL_PTR(newarraykwsplat),
68
- LABEL_PTR(pushtoarraykwsplat),
69
- LABEL_PTR(duparray),
70
- LABEL_PTR(duphash),
71
- LABEL_PTR(expandarray),
72
- LABEL_PTR(concatarray),
73
- LABEL_PTR(concattoarray),
74
- LABEL_PTR(pushtoarray),
75
- LABEL_PTR(splatarray),
76
- LABEL_PTR(splatkw),
77
- LABEL_PTR(newhash),
78
- LABEL_PTR(newrange),
79
- LABEL_PTR(pop),
80
- LABEL_PTR(dup),
81
- LABEL_PTR(dupn),
82
- LABEL_PTR(swap),
83
- LABEL_PTR(opt_reverse),
84
- LABEL_PTR(topn),
85
- LABEL_PTR(setn),
86
- LABEL_PTR(adjuststack),
87
- LABEL_PTR(defined),
88
- LABEL_PTR(definedivar),
89
- LABEL_PTR(checkmatch),
90
- LABEL_PTR(checkkeyword),
91
- LABEL_PTR(checktype),
92
- LABEL_PTR(defineclass),
93
- LABEL_PTR(definemethod),
94
- LABEL_PTR(definesmethod),
95
- LABEL_PTR(send),
96
- LABEL_PTR(opt_send_without_block),
97
- LABEL_PTR(objtostring),
98
- LABEL_PTR(opt_str_freeze),
99
- LABEL_PTR(opt_nil_p),
100
- LABEL_PTR(opt_str_uminus),
101
- LABEL_PTR(opt_newarray_send),
102
- LABEL_PTR(invokesuper),
103
- LABEL_PTR(invokeblock),
104
- LABEL_PTR(leave),
105
- LABEL_PTR(throw),
106
- LABEL_PTR(jump),
107
- LABEL_PTR(branchif),
108
- LABEL_PTR(branchunless),
109
- LABEL_PTR(branchnil),
110
- LABEL_PTR(once),
111
- LABEL_PTR(opt_case_dispatch),
112
- LABEL_PTR(opt_plus),
113
- LABEL_PTR(opt_minus),
114
- LABEL_PTR(opt_mult),
115
- LABEL_PTR(opt_div),
116
- LABEL_PTR(opt_mod),
117
- LABEL_PTR(opt_eq),
118
- LABEL_PTR(opt_neq),
119
- LABEL_PTR(opt_lt),
120
- LABEL_PTR(opt_le),
121
- LABEL_PTR(opt_gt),
122
- LABEL_PTR(opt_ge),
123
- LABEL_PTR(opt_ltlt),
124
- LABEL_PTR(opt_and),
125
- LABEL_PTR(opt_or),
126
- LABEL_PTR(opt_aref),
127
- LABEL_PTR(opt_aset),
128
- LABEL_PTR(opt_aset_with),
129
- LABEL_PTR(opt_aref_with),
130
- LABEL_PTR(opt_length),
131
- LABEL_PTR(opt_size),
132
- LABEL_PTR(opt_empty_p),
133
- LABEL_PTR(opt_succ),
134
- LABEL_PTR(opt_not),
135
- LABEL_PTR(opt_regexpmatch2),
136
- LABEL_PTR(invokebuiltin),
137
- LABEL_PTR(opt_invokebuiltin_delegate),
138
- LABEL_PTR(opt_invokebuiltin_delegate_leave),
139
- LABEL_PTR(getlocal_WC_0),
140
- LABEL_PTR(getlocal_WC_1),
141
- LABEL_PTR(setlocal_WC_0),
142
- LABEL_PTR(setlocal_WC_1),
143
- LABEL_PTR(putobject_INT2FIX_0_),
144
- LABEL_PTR(putobject_INT2FIX_1_),
145
- LABEL_PTR(trace_nop),
146
- LABEL_PTR(trace_getlocal),
147
- LABEL_PTR(trace_setlocal),
148
- LABEL_PTR(trace_getblockparam),
149
- LABEL_PTR(trace_setblockparam),
150
- LABEL_PTR(trace_getblockparamproxy),
151
- LABEL_PTR(trace_getspecial),
152
- LABEL_PTR(trace_setspecial),
153
- LABEL_PTR(trace_getinstancevariable),
154
- LABEL_PTR(trace_setinstancevariable),
155
- LABEL_PTR(trace_getclassvariable),
156
- LABEL_PTR(trace_setclassvariable),
157
- LABEL_PTR(trace_opt_getconstant_path),
158
- LABEL_PTR(trace_getconstant),
159
- LABEL_PTR(trace_setconstant),
160
- LABEL_PTR(trace_getglobal),
161
- LABEL_PTR(trace_setglobal),
162
- LABEL_PTR(trace_putnil),
163
- LABEL_PTR(trace_putself),
164
- LABEL_PTR(trace_putobject),
165
- LABEL_PTR(trace_putspecialobject),
166
- LABEL_PTR(trace_putstring),
167
- LABEL_PTR(trace_putchilledstring),
168
- LABEL_PTR(trace_concatstrings),
169
- LABEL_PTR(trace_anytostring),
170
- LABEL_PTR(trace_toregexp),
171
- LABEL_PTR(trace_intern),
172
- LABEL_PTR(trace_newarray),
173
- LABEL_PTR(trace_newarraykwsplat),
174
- LABEL_PTR(trace_pushtoarraykwsplat),
175
- LABEL_PTR(trace_duparray),
176
- LABEL_PTR(trace_duphash),
177
- LABEL_PTR(trace_expandarray),
178
- LABEL_PTR(trace_concatarray),
179
- LABEL_PTR(trace_concattoarray),
180
- LABEL_PTR(trace_pushtoarray),
181
- LABEL_PTR(trace_splatarray),
182
- LABEL_PTR(trace_splatkw),
183
- LABEL_PTR(trace_newhash),
184
- LABEL_PTR(trace_newrange),
185
- LABEL_PTR(trace_pop),
186
- LABEL_PTR(trace_dup),
187
- LABEL_PTR(trace_dupn),
188
- LABEL_PTR(trace_swap),
189
- LABEL_PTR(trace_opt_reverse),
190
- LABEL_PTR(trace_topn),
191
- LABEL_PTR(trace_setn),
192
- LABEL_PTR(trace_adjuststack),
193
- LABEL_PTR(trace_defined),
194
- LABEL_PTR(trace_definedivar),
195
- LABEL_PTR(trace_checkmatch),
196
- LABEL_PTR(trace_checkkeyword),
197
- LABEL_PTR(trace_checktype),
198
- LABEL_PTR(trace_defineclass),
199
- LABEL_PTR(trace_definemethod),
200
- LABEL_PTR(trace_definesmethod),
201
- LABEL_PTR(trace_send),
202
- LABEL_PTR(trace_opt_send_without_block),
203
- LABEL_PTR(trace_objtostring),
204
- LABEL_PTR(trace_opt_str_freeze),
205
- LABEL_PTR(trace_opt_nil_p),
206
- LABEL_PTR(trace_opt_str_uminus),
207
- LABEL_PTR(trace_opt_newarray_send),
208
- LABEL_PTR(trace_invokesuper),
209
- LABEL_PTR(trace_invokeblock),
210
- LABEL_PTR(trace_leave),
211
- LABEL_PTR(trace_throw),
212
- LABEL_PTR(trace_jump),
213
- LABEL_PTR(trace_branchif),
214
- LABEL_PTR(trace_branchunless),
215
- LABEL_PTR(trace_branchnil),
216
- LABEL_PTR(trace_once),
217
- LABEL_PTR(trace_opt_case_dispatch),
218
- LABEL_PTR(trace_opt_plus),
219
- LABEL_PTR(trace_opt_minus),
220
- LABEL_PTR(trace_opt_mult),
221
- LABEL_PTR(trace_opt_div),
222
- LABEL_PTR(trace_opt_mod),
223
- LABEL_PTR(trace_opt_eq),
224
- LABEL_PTR(trace_opt_neq),
225
- LABEL_PTR(trace_opt_lt),
226
- LABEL_PTR(trace_opt_le),
227
- LABEL_PTR(trace_opt_gt),
228
- LABEL_PTR(trace_opt_ge),
229
- LABEL_PTR(trace_opt_ltlt),
230
- LABEL_PTR(trace_opt_and),
231
- LABEL_PTR(trace_opt_or),
232
- LABEL_PTR(trace_opt_aref),
233
- LABEL_PTR(trace_opt_aset),
234
- LABEL_PTR(trace_opt_aset_with),
235
- LABEL_PTR(trace_opt_aref_with),
236
- LABEL_PTR(trace_opt_length),
237
- LABEL_PTR(trace_opt_size),
238
- LABEL_PTR(trace_opt_empty_p),
239
- LABEL_PTR(trace_opt_succ),
240
- LABEL_PTR(trace_opt_not),
241
- LABEL_PTR(trace_opt_regexpmatch2),
242
- LABEL_PTR(trace_invokebuiltin),
243
- LABEL_PTR(trace_opt_invokebuiltin_delegate),
244
- LABEL_PTR(trace_opt_invokebuiltin_delegate_leave),
245
- LABEL_PTR(trace_getlocal_WC_0),
246
- LABEL_PTR(trace_getlocal_WC_1),
247
- LABEL_PTR(trace_setlocal_WC_0),
248
- LABEL_PTR(trace_setlocal_WC_1),
249
- LABEL_PTR(trace_putobject_INT2FIX_0_),
250
- LABEL_PTR(trace_putobject_INT2FIX_1_),
251
- };
252
-
253
- ASSERT_VM_INSTRUCTION_SIZE(insns_address_table);
@@ -1,22 +0,0 @@
1
- #ifndef RUBY_ADDR2LINE_H
2
- #define RUBY_ADDR2LINE_H
3
- /**********************************************************************
4
-
5
- addr2line.h -
6
-
7
- $Author$
8
-
9
- Copyright (C) 2010 Shinichiro Hamaji
10
-
11
- **********************************************************************/
12
-
13
- #if (defined(USE_ELF) || defined(HAVE_MACH_O_LOADER_H))
14
-
15
- #include <stdio.h>
16
-
17
- void
18
- rb_dump_backtrace_with_lines(int num_traces, void **traces, FILE *errout);
19
-
20
- #endif /* USE_ELF */
21
-
22
- #endif /* RUBY_ADDR2LINE_H */