debase-ruby_core_source 3.3.6 → 3.4.0

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.

Potentially problematic release.


This version of debase-ruby_core_source might be problematic. Click here for more details.

Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/CHANGELOG.md +6 -0
  4. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/builtin.h +7 -1
  5. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/darray.h +1 -3
  6. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/id.h +5 -0
  7. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/insns.inc +2 -0
  8. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/insns_info.inc +310 -175
  9. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/basic_operators.h +1 -0
  10. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/bits.h +82 -0
  11. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/encoding.h +2 -0
  12. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/error.h +26 -0
  13. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/fixnum.h +1 -0
  14. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/gc.h +14 -6
  15. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/imemo.h +6 -1
  16. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/io.h +1 -1
  17. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/parse.h +2 -1
  18. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/proc.h +1 -0
  19. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/ractor.h +4 -0
  20. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/sanitizers.h +31 -39
  21. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/string.h +22 -10
  22. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/thread.h +23 -0
  23. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/vm.h +1 -1
  24. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/method.h +1 -0
  25. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/optunifs.inc +1 -1
  26. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/parse.h +2 -2
  27. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/ast.h +427 -3
  28. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/defines.h +8 -7
  29. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/diagnostic.h +1 -0
  30. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/extension.h +1 -1
  31. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/prism.h +47 -11
  32. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/version.h +2 -2
  33. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism_compile.h +5 -5
  34. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/ractor_core.h +6 -6
  35. data/lib/debase/ruby_core_source/ruby-3.4.0/revision.h +5 -0
  36. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/rubyparser.h +3 -2
  37. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/thread_pthread.h +0 -1
  38. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/version.h +1 -1
  39. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm.inc +151 -88
  40. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_core.h +40 -12
  41. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_sync.h +3 -3
  42. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vmtc.inc +2 -0
  43. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/yjit.h +1 -0
  44. data/lib/debase/ruby_core_source/version.rb +1 -1
  45. metadata +147 -293
  46. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  47. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  48. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  49. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/id.h +0 -343
  50. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  51. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  52. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/array.h +0 -151
  53. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/basic_operators.h +0 -63
  54. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/bits.h +0 -568
  55. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +0 -283
  56. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/error.h +0 -216
  57. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/fixnum.h +0 -184
  58. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/gc.h +0 -334
  59. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/hash.h +0 -191
  60. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/imemo.h +0 -260
  61. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/io.h +0 -140
  62. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/parse.h +0 -117
  63. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/ractor.h +0 -6
  64. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/sanitizers.h +0 -297
  65. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/string.h +0 -182
  66. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/thread.h +0 -79
  67. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/vm.h +0 -137
  68. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  69. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/method.h +0 -255
  70. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  71. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  72. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/ast.h +0 -6245
  73. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/defines.h +0 -206
  74. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/diagnostic.h +0 -433
  75. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/extension.h +0 -19
  76. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/node.h +0 -150
  77. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/options.h +0 -305
  78. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/parser.h +0 -891
  79. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  80. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/static_literals.h +0 -120
  81. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_char.h +0 -205
  82. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_constant_pool.h +0 -226
  83. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_integer.h +0 -119
  84. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_newline_list.h +0 -102
  85. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string.h +0 -174
  86. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  87. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/version.h +0 -29
  88. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism_compile.h +0 -88
  89. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ractor_core.h +0 -393
  90. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  91. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  92. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/rubyparser.h +0 -1430
  93. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/shape.h +0 -233
  94. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  95. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/thread_pthread.h +0 -166
  96. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  97. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  98. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  99. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_core.h +0 -2236
  100. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  101. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  102. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  103. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  104. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  105. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/build_assert/build_assert.h +0 -40
  106. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/check_type/check_type.h +0 -63
  107. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/container_of/container_of.h +0 -142
  108. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/list/list.h +0 -791
  109. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/str/str.h +0 -17
  110. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  111. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  112. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  113. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  114. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/id_table.h +0 -39
  115. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/bignum.h +0 -244
  116. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/cmdlineopt.h +0 -65
  117. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compar.h +0 -29
  118. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compile.h +0 -34
  119. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compilers.h +0 -107
  120. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/complex.h +0 -29
  121. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/cont.h +0 -35
  122. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/dir.h +0 -16
  123. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enc.h +0 -19
  124. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +0 -36
  125. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enum.h +0 -18
  126. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enumerator.h +0 -21
  127. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/eval.h +0 -33
  128. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/file.h +0 -38
  129. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/inits.h +0 -47
  130. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/load.h +0 -18
  131. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/loadpath.h +0 -16
  132. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/math.h +0 -23
  133. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/missing.h +0 -19
  134. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/numeric.h +0 -274
  135. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/object.h +0 -63
  136. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/proc.h +0 -30
  137. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/process.h +0 -124
  138. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/random.h +0 -17
  139. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/range.h +0 -40
  140. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/rational.h +0 -71
  141. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/re.h +0 -28
  142. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/ruby_parser.h +0 -102
  143. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/serial.h +0 -23
  144. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/signal.h +0 -24
  145. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/st.h +0 -11
  146. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/static_assert.h +0 -16
  147. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/struct.h +0 -127
  148. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/symbol.h +0 -45
  149. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/time.h +0 -34
  150. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/transcode.h +0 -23
  151. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/util.h +0 -27
  152. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/variable.h +0 -72
  153. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/warnings.h +0 -16
  154. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal.h +0 -108
  155. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/iseq.h +0 -340
  156. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/node.h +0 -111
  157. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  158. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  159. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  160. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  161. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_st.h +0 -162
  162. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_value.h +0 -106
  163. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/encoding.h +0 -283
  164. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/pack.h +0 -163
  165. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/prettyprint.h +0 -34
  166. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +0 -336
  167. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_buffer.h +0 -218
  168. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_list.h +0 -97
  169. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_memchr.h +0 -29
  170. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strncasecmp.h +0 -32
  171. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strpbrk.h +0 -46
  172. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  173. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  174. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  175. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  176. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  177. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  178. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_assert.h +0 -14
  179. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_atomic.h +0 -23
  180. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  181. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/thread_none.h +0 -21
  182. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  183. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  184. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  185. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  186. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  187. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_debug.h +0 -124
  188. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  189. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_opts.h +0 -67
  190. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  191. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/addr2line.h +0 -0
  192. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/build_assert/build_assert.h +0 -0
  193. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/check_type/check_type.h +0 -0
  194. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/container_of/container_of.h +0 -0
  195. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/list/list.h +0 -0
  196. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/str/str.h +0 -0
  197. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/constant.h +0 -0
  198. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/debug_counter.h +0 -0
  199. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/dln.h +0 -0
  200. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/encindex.h +0 -0
  201. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/eval_intern.h +0 -0
  202. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/hrtime.h +0 -0
  203. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/id_table.h +0 -0
  204. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/array.h +0 -0
  205. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/bignum.h +0 -0
  206. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/class.h +0 -0
  207. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/cmdlineopt.h +0 -0
  208. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/compar.h +0 -0
  209. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/compile.h +0 -0
  210. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/compilers.h +0 -0
  211. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/complex.h +0 -0
  212. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/cont.h +0 -0
  213. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/dir.h +0 -0
  214. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/enc.h +0 -0
  215. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/enum.h +0 -0
  216. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/enumerator.h +0 -0
  217. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/eval.h +0 -0
  218. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/file.h +0 -0
  219. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/hash.h +0 -0
  220. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/inits.h +0 -0
  221. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/load.h +0 -0
  222. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/loadpath.h +0 -0
  223. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/math.h +0 -0
  224. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/missing.h +0 -0
  225. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/numeric.h +0 -0
  226. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/object.h +0 -0
  227. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/process.h +0 -0
  228. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/random.h +0 -0
  229. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/range.h +0 -0
  230. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/rational.h +0 -0
  231. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/re.h +0 -0
  232. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/ruby_parser.h +0 -0
  233. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/serial.h +0 -0
  234. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/signal.h +0 -0
  235. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/st.h +0 -0
  236. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/static_assert.h +0 -0
  237. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/struct.h +0 -0
  238. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/symbol.h +0 -0
  239. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/time.h +0 -0
  240. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/transcode.h +0 -0
  241. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/util.h +0 -0
  242. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/variable.h +0 -0
  243. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/warnings.h +0 -0
  244. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal.h +0 -0
  245. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/iseq.h +0 -0
  246. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/known_errors.inc +0 -0
  247. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/node.h +0 -0
  248. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/node_name.inc +0 -0
  249. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/optinsn.inc +0 -0
  250. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_bits.h +0 -0
  251. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_node.h +0 -0
  252. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_st.h +0 -0
  253. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_value.h +0 -0
  254. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/encoding.h +0 -0
  255. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/node.h +0 -0
  256. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/options.h +0 -0
  257. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/pack.h +0 -0
  258. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/parser.h +0 -0
  259. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/prettyprint.h +0 -0
  260. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/regexp.h +0 -0
  261. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/static_literals.h +0 -0
  262. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_buffer.h +0 -0
  263. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_char.h +0 -0
  264. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_constant_pool.h +0 -0
  265. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_integer.h +0 -0
  266. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_list.h +0 -0
  267. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_memchr.h +0 -0
  268. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_newline_list.h +0 -0
  269. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_string.h +0 -0
  270. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_strncasecmp.h +0 -0
  271. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_strpbrk.h +0 -0
  272. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/probes_helper.h +0 -0
  273. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/regenc.h +0 -0
  274. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/regint.h +0 -0
  275. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/regparse.h +0 -0
  276. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/rjit.h +0 -0
  277. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/rjit_c.h +0 -0
  278. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ruby_assert.h +0 -0
  279. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ruby_atomic.h +0 -0
  280. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/shape.h +0 -0
  281. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/siphash.h +0 -0
  282. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/symbol.h +0 -0
  283. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/thread_none.h +0 -0
  284. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/thread_win32.h +0 -0
  285. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/timev.h +0 -0
  286. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/transcode_data.h +0 -0
  287. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/variable.h +0 -0
  288. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_call_iseq_optimized.inc +0 -0
  289. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_callinfo.h +0 -0
  290. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_debug.h +0 -0
  291. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_exec.h +0 -0
  292. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_insnhelper.h +0 -0
  293. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/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 */