debase-ruby_core_source 0.10.9 → 0.10.13

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 (242) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +1 -1
  4. data/Rakefile +6 -3
  5. data/debase-ruby_core_source.gemspec +2 -1
  6. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/addr2line.h +2 -3
  7. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/builtin.h +17 -2
  8. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/build_assert/build_assert.h +0 -0
  9. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/check_type/check_type.h +0 -0
  10. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/container_of/container_of.h +0 -0
  11. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/list/list.h +0 -0
  12. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/str/str.h +0 -0
  13. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/constant.h +10 -5
  14. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/debug_counter.h +127 -48
  15. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/dln.h +3 -18
  16. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/encindex.h +3 -2
  17. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/eval_intern.h +16 -7
  18. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/gc.h +13 -2
  19. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/hrtime.h +0 -0
  20. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/id.h +0 -0
  21. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/id_table.h +2 -0
  22. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/insns.inc +0 -4
  23. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/insns_info.inc +323 -536
  24. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/array.h +119 -0
  25. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/bignum.h +246 -0
  26. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/bits.h +566 -0
  27. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/class.h +174 -0
  28. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compar.h +50 -0
  29. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compile.h +32 -0
  30. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compilers.h +108 -0
  31. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/complex.h +29 -0
  32. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/cont.h +25 -0
  33. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/dir.h +17 -0
  34. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enc.h +20 -0
  35. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/encoding.h +28 -0
  36. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enum.h +19 -0
  37. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enumerator.h +22 -0
  38. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/error.h +124 -0
  39. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/eval.h +33 -0
  40. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/file.h +39 -0
  41. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/fixnum.h +185 -0
  42. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/gc.h +161 -0
  43. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/hash.h +241 -0
  44. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/imemo.h +243 -0
  45. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/inits.h +51 -0
  46. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/io.h +35 -0
  47. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/load.h +19 -0
  48. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/loadpath.h +17 -0
  49. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/math.h +24 -0
  50. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/missing.h +19 -0
  51. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/numeric.h +255 -0
  52. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/object.h +83 -0
  53. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/parse.h +23 -0
  54. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/proc.h +33 -0
  55. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/process.h +136 -0
  56. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/random.h +17 -0
  57. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/range.h +41 -0
  58. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/rational.h +71 -0
  59. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/re.h +29 -0
  60. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/sanitizers.h +191 -0
  61. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/scheduler.h +44 -0
  62. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/serial.h +24 -0
  63. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/signal.h +22 -0
  64. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/static_assert.h +17 -0
  65. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/string.h +140 -0
  66. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/struct.h +154 -0
  67. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/symbol.h +41 -0
  68. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h +54 -0
  69. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/time.h +35 -0
  70. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/transcode.h +21 -0
  71. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/util.h +31 -0
  72. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/variable.h +84 -0
  73. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/vm.h +136 -0
  74. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/warnings.h +17 -0
  75. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal.h +107 -0
  76. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/iseq.h +11 -18
  77. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/known_errors.inc +0 -0
  78. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/method.h +21 -8
  79. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/mjit.h +89 -48
  80. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/mjit_compile.inc +2746 -2288
  81. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/node.h +32 -24
  82. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/node_name.inc +2 -2
  83. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/opt_sc.inc +0 -0
  84. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/optinsn.inc +0 -0
  85. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/optunifs.inc +0 -0
  86. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/parse.h +1 -0
  87. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/probes_helper.h +2 -0
  88. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ractor_core.h +343 -0
  89. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/regenc.h +0 -0
  90. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/regint.h +1 -1
  91. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/regparse.h +0 -0
  92. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/revision.h +2 -0
  93. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ruby_assert.h +15 -0
  94. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ruby_atomic.h +23 -0
  95. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/siphash.h +0 -0
  96. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/symbol.h +4 -4
  97. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/thread_pthread.h +45 -5
  98. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/thread_win32.h +28 -3
  99. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/timev.h +1 -0
  100. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/transcode_data.h +2 -3
  101. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/transient_heap.h +6 -3
  102. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/variable.h +22 -0
  103. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/version.h +23 -11
  104. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vm.inc +707 -671
  105. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vm_call_iseq_optimized.inc +93 -86
  106. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_callinfo.h +456 -0
  107. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/vm_core.h +262 -194
  108. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_debug.h +116 -0
  109. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/vm_exec.h +9 -6
  110. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/vm_insnhelper.h +28 -26
  111. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vm_opts.h +6 -5
  112. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_sync.h +136 -0
  113. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vmtc.inc +0 -4
  114. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/addr2line.h +2 -3
  115. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/builtin.h +83 -0
  116. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/build_assert/build_assert.h +13 -13
  117. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/check_type/check_type.h +17 -17
  118. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/container_of/container_of.h +63 -63
  119. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/list/list.h +262 -262
  120. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/str/str.h +4 -4
  121. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/constant.h +10 -9
  122. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/darray.h +198 -0
  123. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/debug_counter.h +137 -48
  124. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/dln.h +3 -23
  125. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/encindex.h +3 -2
  126. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/eval_intern.h +34 -41
  127. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/gc.h +24 -11
  128. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/hrtime.h +9 -9
  129. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/id.h +4 -3
  130. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/id_table.h +3 -1
  131. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/insns.inc +6 -8
  132. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/insns_info.inc +1907 -2543
  133. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/array.h +113 -0
  134. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/bignum.h +246 -0
  135. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/bits.h +565 -0
  136. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/class.h +188 -0
  137. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/compar.h +49 -0
  138. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/compile.h +35 -0
  139. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/compilers.h +107 -0
  140. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/complex.h +29 -0
  141. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/cont.h +24 -0
  142. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/dir.h +16 -0
  143. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/enc.h +19 -0
  144. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/encoding.h +30 -0
  145. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/enum.h +18 -0
  146. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/enumerator.h +21 -0
  147. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/error.h +191 -0
  148. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/eval.h +32 -0
  149. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/file.h +38 -0
  150. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/fixnum.h +184 -0
  151. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/gc.h +175 -0
  152. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/hash.h +243 -0
  153. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/imemo.h +243 -0
  154. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/inits.h +50 -0
  155. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/io.h +38 -0
  156. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/load.h +18 -0
  157. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/loadpath.h +16 -0
  158. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/math.h +23 -0
  159. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/missing.h +18 -0
  160. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/numeric.h +271 -0
  161. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/object.h +83 -0
  162. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/parse.h +23 -0
  163. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/proc.h +32 -0
  164. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/process.h +137 -0
  165. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/random.h +16 -0
  166. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/range.h +40 -0
  167. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/rational.h +72 -0
  168. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/re.h +30 -0
  169. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/sanitizers.h +190 -0
  170. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/serial.h +23 -0
  171. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/signal.h +21 -0
  172. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/static_assert.h +16 -0
  173. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/string.h +141 -0
  174. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/struct.h +153 -0
  175. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/symbol.h +40 -0
  176. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/thread.h +53 -0
  177. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/time.h +34 -0
  178. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/transcode.h +20 -0
  179. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/util.h +27 -0
  180. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/variable.h +83 -0
  181. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/vm.h +132 -0
  182. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/warnings.h +16 -0
  183. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal.h +109 -0
  184. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/iseq.h +44 -35
  185. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/known_errors.inc +0 -0
  186. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/method.h +21 -4
  187. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/mjit.h +231 -0
  188. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/mjit_compile.inc +3322 -2940
  189. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/node.h +39 -23
  190. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/node_name.inc +210 -0
  191. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/opt_sc.inc +0 -2
  192. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/optinsn.inc +7 -7
  193. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/optunifs.inc +1 -1
  194. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/parse.h +9 -5
  195. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/probes_helper.h +9 -7
  196. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/ractor_core.h +346 -0
  197. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/regenc.h +8 -8
  198. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/regint.h +16 -12
  199. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/regparse.h +2 -2
  200. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/revision.h +2 -0
  201. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/ruby_assert.h +14 -0
  202. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/ruby_atomic.h +23 -0
  203. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/siphash.h +0 -0
  204. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/symbol.h +14 -14
  205. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/thread_pthread.h +45 -5
  206. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/thread_win32.h +30 -5
  207. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/timev.h +1 -0
  208. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/transcode_data.h +49 -50
  209. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/transient_heap.h +6 -3
  210. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/variable.h +21 -0
  211. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/version.h +15 -4
  212. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/vm.inc +1033 -887
  213. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_call_iseq_optimized.inc +244 -0
  214. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_callinfo.h +454 -0
  215. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/vm_core.h +508 -362
  216. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_debug.h +119 -0
  217. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/vm_exec.h +22 -18
  218. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/vm_insnhelper.h +42 -32
  219. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/vm_opts.h +8 -5
  220. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_sync.h +137 -0
  221. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/vmtc.inc +6 -8
  222. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit.h +63 -0
  223. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_asm.h +392 -0
  224. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_codegen.h +19 -0
  225. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_core.h +302 -0
  226. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_iface.h +38 -0
  227. data/lib/debase/ruby_core_source/version.rb +1 -1
  228. data/lib/debase/ruby_core_source.rb +0 -2
  229. metadata +240 -110
  230. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/internal.h +0 -2682
  231. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/revision.h +0 -2
  232. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ruby_assert.h +0 -15
  233. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ruby_atomic.h +0 -244
  234. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_call_iseq_optimized.inc +0 -237
  235. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_debug.h +0 -34
  236. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/internal.h +0 -2657
  237. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/mjit.h +0 -175
  238. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/node_name.inc +0 -208
  239. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/revision.h +0 -2
  240. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/ruby_assert.h +0 -15
  241. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/ruby_atomic.h +0 -244
  242. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/vm_debug.h +0 -34
@@ -40,8 +40,8 @@ enum ruby_insn_type_chars {
40
40
  TS_VARIABLE = '.',
41
41
  TS_CALLDATA = 'C',
42
42
  TS_CDHASH = 'H',
43
- TS_GENTRY = 'G',
44
43
  TS_IC = 'K',
44
+ TS_IVC = 'A',
45
45
  TS_ID = 'I',
46
46
  TS_ISE = 'T',
47
47
  TS_ISEQ = 'S',
@@ -86,7 +86,6 @@ insn_name(VALUE i)
86
86
  "putstring" "\0"
87
87
  "concatstrings" "\0"
88
88
  "tostring" "\0"
89
- "freezestring" "\0"
90
89
  "toregexp" "\0"
91
90
  "intern" "\0"
92
91
  "newarray" "\0"
@@ -156,7 +155,6 @@ insn_name(VALUE i)
156
155
  "opt_succ" "\0"
157
156
  "opt_not" "\0"
158
157
  "opt_regexpmatch2" "\0"
159
- "opt_call_c_function" "\0"
160
158
  "invokebuiltin" "\0"
161
159
  "opt_invokebuiltin_delegate" "\0"
162
160
  "opt_invokebuiltin_delegate_leave" "\0"
@@ -189,7 +187,6 @@ insn_name(VALUE i)
189
187
  "trace_putstring" "\0"
190
188
  "trace_concatstrings" "\0"
191
189
  "trace_tostring" "\0"
192
- "trace_freezestring" "\0"
193
190
  "trace_toregexp" "\0"
194
191
  "trace_intern" "\0"
195
192
  "trace_newarray" "\0"
@@ -259,7 +256,6 @@ insn_name(VALUE i)
259
256
  "trace_opt_succ" "\0"
260
257
  "trace_opt_not" "\0"
261
258
  "trace_opt_regexpmatch2" "\0"
262
- "trace_opt_call_c_function" "\0"
263
259
  "trace_invokebuiltin" "\0"
264
260
  "trace_opt_invokebuiltin_delegate" "\0"
265
261
  "trace_opt_invokebuiltin_delegate_leave" "\0"
@@ -274,22 +270,21 @@ insn_name(VALUE i)
274
270
  static const unsigned short y[] = {
275
271
  0, 4, 13, 22, 36, 50, 69, 80, 91, 111, 131, 148,
276
272
  165, 177, 189, 199, 209, 216, 224, 234, 251, 261, 275, 284,
277
- 297, 306, 313, 322, 338, 347, 355, 367, 379, 390, 398, 407,
278
- 411, 415, 420, 425, 433, 438, 443, 455, 463, 474, 487, 497,
279
- 509, 522, 536, 541, 564, 579, 589, 604, 621, 638, 650, 662,
280
- 668, 674, 679, 688, 701, 711, 730, 749, 754, 772, 781, 791,
281
- 800, 808, 816, 823, 831, 838, 845, 852, 859, 868, 876, 883,
282
- 892, 901, 915, 929, 940, 949, 961, 970, 978, 995, 1015, 1029,
283
- 1056, 1089, 1103, 1117, 1131, 1145, 1166, 1187, 1197, 1212, 1227, 1247,
284
- 1267, 1292, 1309, 1326, 1352, 1378, 1401, 1424, 1442, 1460, 1476, 1492,
285
- 1505, 1519, 1535, 1558, 1574, 1594, 1609, 1628, 1643, 1656, 1671, 1693,
286
- 1708, 1722, 1740, 1758, 1775, 1789, 1804, 1814, 1824, 1835, 1846, 1860,
287
- 1871, 1882, 1900, 1914, 1931, 1950, 1966, 1984, 2003, 2023, 2034, 2063,
288
- 2084, 2100, 2121, 2144, 2167, 2185, 2203, 2215, 2227, 2238, 2253, 2272,
289
- 2288, 2313, 2338, 2349, 2373, 2388, 2404, 2419, 2433, 2447, 2460, 2474,
290
- 2487, 2500, 2513, 2526, 2541, 2555, 2568, 2583, 2598, 2618, 2638, 2655,
291
- 2670, 2688, 2703, 2717, 2740, 2766, 2786, 2819, 2858, 2878, 2898, 2918,
292
- 2938, 2965,
273
+ 293, 300, 309, 325, 334, 342, 354, 366, 377, 385, 394, 398,
274
+ 402, 407, 412, 420, 425, 430, 442, 450, 461, 474, 484, 496,
275
+ 509, 523, 528, 551, 566, 576, 591, 608, 625, 637, 649, 655,
276
+ 661, 666, 675, 688, 698, 717, 736, 741, 759, 768, 778, 787,
277
+ 795, 803, 810, 818, 825, 832, 839, 846, 855, 863, 870, 879,
278
+ 888, 902, 916, 927, 936, 948, 957, 965, 982, 996, 1023, 1056,
279
+ 1070, 1084, 1098, 1112, 1133, 1154, 1164, 1179, 1194, 1214, 1234, 1259,
280
+ 1276, 1293, 1319, 1345, 1368, 1391, 1409, 1427, 1443, 1459, 1472, 1486,
281
+ 1502, 1525, 1541, 1561, 1576, 1591, 1604, 1619, 1641, 1656, 1670, 1688,
282
+ 1706, 1723, 1737, 1752, 1762, 1772, 1783, 1794, 1808, 1819, 1830, 1848,
283
+ 1862, 1879, 1898, 1914, 1932, 1951, 1971, 1982, 2011, 2032, 2048, 2069,
284
+ 2092, 2115, 2133, 2151, 2163, 2175, 2186, 2201, 2220, 2236, 2261, 2286,
285
+ 2297, 2321, 2336, 2352, 2367, 2381, 2395, 2408, 2422, 2435, 2448, 2461,
286
+ 2474, 2489, 2503, 2516, 2531, 2546, 2566, 2586, 2603, 2618, 2636, 2651,
287
+ 2665, 2688, 2708, 2741, 2780, 2800, 2820, 2840, 2860, 2887,
293
288
  };
294
289
 
295
290
  ASSERT_VM_INSTRUCTION_SIZE(y);
@@ -304,14 +299,14 @@ insn_len(VALUE i)
304
299
  {
305
300
  static const char t[] = {
306
301
  1, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1,
307
- 2, 3, 1, 2, 2, 2, 2, 3, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 2, 2, 4, 2, 3,
308
- 2, 4, 3, 3, 3, 2, 3, 2, 3, 2, 2, 3, 2, 1, 2, 2, 2, 2, 2, 3, 2, 3, 3,
309
- 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2,
310
- 2, 2, 2, 3, 3, 2, 2, 2, 2, 1, 1, 1, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 2,
311
- 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 2, 3, 1, 2, 2, 2, 2, 3, 1, 2, 2, 2,
312
- 1, 1, 2, 1, 2, 2, 2, 2, 4, 2, 3, 2, 4, 3, 3, 3, 2, 3, 2, 3, 2, 2, 3,
313
- 2, 1, 2, 2, 2, 2, 2, 3, 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2,
314
- 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 1, 1,
302
+ 3, 1, 2, 2, 2, 2, 3, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 2, 2, 4, 2, 3, 2,
303
+ 4, 3, 3, 3, 2, 3, 2, 3, 2, 2, 3, 2, 1, 2, 2, 2, 2, 2, 3, 2, 3, 3, 2,
304
+ 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2,
305
+ 2, 3, 3, 2, 2, 2, 2, 1, 1, 1, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 2, 2, 2,
306
+ 2, 2, 1, 1, 2, 2, 2, 2, 1, 3, 1, 2, 2, 2, 2, 3, 1, 2, 2, 2, 1, 1, 2,
307
+ 1, 2, 2, 2, 2, 4, 2, 3, 2, 4, 3, 3, 3, 2, 3, 2, 3, 2, 2, 3, 2, 1, 2,
308
+ 2, 2, 2, 2, 3, 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2,
309
+ 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 1, 1,
315
310
  };
316
311
 
317
312
  ASSERT_VM_INSTRUCTION_SIZE(t);
@@ -326,10 +321,30 @@ insn_op_types(VALUE i)
326
321
  {
327
322
  static const char x[] =
328
323
  "" "\0" "LN" "\0" "LN" "\0" "LN" "\0" "LN" "\0"
329
- "LN" "\0" "NN" "\0" "N" "\0" "IK" "\0" "IK" "\0"
330
- "I" "\0" "I" "\0" "I" "\0" "I" "\0" "G" "\0"
331
- "G" "\0" "" "\0" "" "\0" "V" "\0" "N" "\0"
332
- "V" "\0" "N" "\0" "" "\0" "V" "\0" "NN" "\0"
324
+ "LN" "\0" "NN" "\0" "N" "\0" "IA" "\0" "IA" "\0"
325
+ "I" "\0" "I" "\0" "I" "\0" "I" "\0" "I" "\0"
326
+ "I" "\0" "" "\0" "" "\0" "V" "\0" "N" "\0"
327
+ "V" "\0" "N" "\0" "" "\0" "NN" "\0" "" "\0"
328
+ "N" "\0" "N" "\0" "V" "\0" "V" "\0" "NN" "\0"
329
+ "" "\0" "V" "\0" "N" "\0" "N" "\0" "" "\0"
330
+ "" "\0" "N" "\0" "" "\0" "N" "\0" "N" "\0"
331
+ "N" "\0" "N" "\0" "NVV" "\0" "N" "\0" "LL" "\0"
332
+ "N" "\0" "ISN" "\0" "IS" "\0" "IS" "\0" "CS" "\0"
333
+ "C" "\0" "VC" "\0" "C" "\0" "VC" "\0" "N" "\0"
334
+ "N" "\0" "CS" "\0" "C" "\0" "" "\0" "N" "\0"
335
+ "O" "\0" "O" "\0" "O" "\0" "O" "\0" "OK" "\0"
336
+ "K" "\0" "ST" "\0" "HO" "\0" "C" "\0" "C" "\0"
337
+ "C" "\0" "C" "\0" "C" "\0" "C" "\0" "CC" "\0"
338
+ "C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
339
+ "C" "\0" "C" "\0" "C" "\0" "C" "\0" "VC" "\0"
340
+ "VC" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
341
+ "C" "\0" "C" "\0" "R" "\0" "RN" "\0" "RN" "\0"
342
+ "L" "\0" "L" "\0" "L" "\0" "L" "\0" "" "\0"
343
+ "" "\0" "" "\0" "LN" "\0" "LN" "\0" "LN" "\0"
344
+ "LN" "\0" "LN" "\0" "NN" "\0" "N" "\0" "IA" "\0"
345
+ "IA" "\0" "I" "\0" "I" "\0" "I" "\0" "I" "\0"
346
+ "I" "\0" "I" "\0" "" "\0" "" "\0" "V" "\0"
347
+ "N" "\0" "V" "\0" "N" "\0" "" "\0" "NN" "\0"
333
348
  "" "\0" "N" "\0" "N" "\0" "V" "\0" "V" "\0"
334
349
  "NN" "\0" "" "\0" "V" "\0" "N" "\0" "N" "\0"
335
350
  "" "\0" "" "\0" "N" "\0" "" "\0" "N" "\0"
@@ -343,51 +358,29 @@ insn_op_types(VALUE i)
343
358
  "CC" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
344
359
  "C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
345
360
  "VC" "\0" "VC" "\0" "C" "\0" "C" "\0" "C" "\0"
346
- "C" "\0" "C" "\0" "C" "\0" "F" "\0" "R" "\0"
347
- "RN" "\0" "RN" "\0" "L" "\0" "L" "\0" "L" "\0"
348
- "L" "\0" "" "\0" "" "\0" "" "\0" "LN" "\0"
349
- "LN" "\0" "LN" "\0" "LN" "\0" "LN" "\0" "NN" "\0"
350
- "N" "\0" "IK" "\0" "IK" "\0" "I" "\0" "I" "\0"
351
- "I" "\0" "I" "\0" "G" "\0" "G" "\0" "" "\0"
352
- "" "\0" "V" "\0" "N" "\0" "V" "\0" "N" "\0"
353
- "" "\0" "V" "\0" "NN" "\0" "" "\0" "N" "\0"
354
- "N" "\0" "V" "\0" "V" "\0" "NN" "\0" "" "\0"
355
- "V" "\0" "N" "\0" "N" "\0" "" "\0" "" "\0"
356
- "N" "\0" "" "\0" "N" "\0" "N" "\0" "N" "\0"
357
- "N" "\0" "NVV" "\0" "N" "\0" "LL" "\0" "N" "\0"
358
- "ISN" "\0" "IS" "\0" "IS" "\0" "CS" "\0" "C" "\0"
359
- "VC" "\0" "C" "\0" "VC" "\0" "N" "\0" "N" "\0"
360
- "CS" "\0" "C" "\0" "" "\0" "N" "\0" "O" "\0"
361
- "O" "\0" "O" "\0" "O" "\0" "OK" "\0" "K" "\0"
362
- "ST" "\0" "HO" "\0" "C" "\0" "C" "\0" "C" "\0"
363
- "C" "\0" "C" "\0" "C" "\0" "CC" "\0" "C" "\0"
364
- "C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
365
- "C" "\0" "C" "\0" "C" "\0" "VC" "\0" "VC" "\0"
366
- "C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
367
- "C" "\0" "F" "\0" "R" "\0" "RN" "\0" "RN" "\0"
368
- "L" "\0" "L" "\0" "L" "\0" "L" "\0" "" "\0"
369
- "" "\0"
361
+ "C" "\0" "C" "\0" "C" "\0" "R" "\0" "RN" "\0"
362
+ "RN" "\0" "L" "\0" "L" "\0" "L" "\0" "L" "\0"
363
+ "" "\0" "" "\0"
370
364
  ;
371
365
 
372
366
  static const unsigned short y[] = {
373
367
  0, 1, 4, 7, 10, 13, 16, 19, 21, 24, 27, 29,
374
368
  31, 33, 35, 37, 39, 40, 41, 43, 45, 47, 49, 50,
375
- 52, 55, 56, 58, 60, 62, 64, 67, 68, 70, 72, 74,
376
- 75, 76, 78, 79, 81, 83, 85, 87, 91, 93, 96, 98,
377
- 102, 105, 108, 111, 113, 116, 118, 121, 123, 125, 128, 130,
378
- 131, 133, 135, 137, 139, 141, 144, 146, 149, 152, 154, 156,
379
- 158, 160, 162, 164, 167, 169, 171, 173, 175, 177, 179, 181,
380
- 183, 185, 188, 191, 193, 195, 197, 199, 201, 203, 205, 207,
381
- 210, 213, 215, 217, 219, 221, 222, 223, 224, 227, 230, 233,
382
- 236, 239, 242, 244, 247, 250, 252, 254, 256, 258, 260, 262,
383
- 263, 264, 266, 268, 270, 272, 273, 275, 278, 279, 281, 283,
384
- 285, 287, 290, 291, 293, 295, 297, 298, 299, 301, 302, 304,
385
- 306, 308, 310, 314, 316, 319, 321, 325, 328, 331, 334, 336,
386
- 339, 341, 344, 346, 348, 351, 353, 354, 356, 358, 360, 362,
387
- 364, 367, 369, 372, 375, 377, 379, 381, 383, 385, 387, 390,
388
- 392, 394, 396, 398, 400, 402, 404, 406, 408, 411, 414, 416,
389
- 418, 420, 422, 424, 426, 428, 430, 433, 436, 438, 440, 442,
390
- 444, 445,
369
+ 53, 54, 56, 58, 60, 62, 65, 66, 68, 70, 72, 73,
370
+ 74, 76, 77, 79, 81, 83, 85, 89, 91, 94, 96, 100,
371
+ 103, 106, 109, 111, 114, 116, 119, 121, 123, 126, 128, 129,
372
+ 131, 133, 135, 137, 139, 142, 144, 147, 150, 152, 154, 156,
373
+ 158, 160, 162, 165, 167, 169, 171, 173, 175, 177, 179, 181,
374
+ 183, 186, 189, 191, 193, 195, 197, 199, 201, 203, 206, 209,
375
+ 211, 213, 215, 217, 218, 219, 220, 223, 226, 229, 232, 235,
376
+ 238, 240, 243, 246, 248, 250, 252, 254, 256, 258, 259, 260,
377
+ 262, 264, 266, 268, 269, 272, 273, 275, 277, 279, 281, 284,
378
+ 285, 287, 289, 291, 292, 293, 295, 296, 298, 300, 302, 304,
379
+ 308, 310, 313, 315, 319, 322, 325, 328, 330, 333, 335, 338,
380
+ 340, 342, 345, 347, 348, 350, 352, 354, 356, 358, 361, 363,
381
+ 366, 369, 371, 373, 375, 377, 379, 381, 384, 386, 388, 390,
382
+ 392, 394, 396, 398, 400, 402, 405, 408, 410, 412, 414, 416,
383
+ 418, 420, 422, 425, 428, 430, 432, 434, 436, 437,
391
384
  };
392
385
 
393
386
  ASSERT_VM_INSTRUCTION_SIZE(y);
@@ -408,65 +401,12 @@ insn_op_type(VALUE i, long j)
408
401
 
409
402
  #line 10 "tool/ruby_vm/views/_leaf_helpers.erb"
410
403
 
411
- static bool
412
- leafness_of_getglobal(VALUE gentry)
413
- {
414
- const struct rb_global_entry *e = (void *)gentry;
415
-
416
- if (UNLIKELY(rb_gvar_is_traced(e))) {
417
- return false;
418
- }
419
- else {
420
- /* We cannot write this function using a switch() because a
421
- * case label cannot be a function pointer. */
422
- static rb_gvar_getter_t *const allowlist[] = {
423
- rb_gvar_val_getter,
424
- rb_gvar_var_getter,
425
- /* rb_gvar_undef_getter issues rb_warning() */
426
- };
427
- rb_gvar_getter_t *f = rb_gvar_getter_function_of(e);
428
- int i;
429
-
430
- for (i = 0; i < numberof(allowlist); i++) {
431
- if (f == allowlist[i]) {
432
- return true;
433
- }
434
- }
435
- return false;
436
- }
437
- }
438
-
439
- static bool
440
- leafness_of_setglobal(VALUE gentry)
441
- {
442
- const struct rb_global_entry *e = (void *)gentry;
443
-
444
- if (UNLIKELY(rb_gvar_is_traced(e))) {
445
- return false;
446
- }
447
- else {
448
- /* We cannot write this function using a switch() because a
449
- * case label cannot be a function pointer. */
450
- static rb_gvar_setter_t *const allowlist[] = {
451
- rb_gvar_val_setter,
452
- /* rb_gvar_readonly_setter issues rb_name_error() */
453
- rb_gvar_var_setter,
454
- rb_gvar_undef_setter,
455
- };
456
- rb_gvar_setter_t *f = rb_gvar_setter_function_of(e);
457
- int i;
458
-
459
- for (i = 0; i < numberof(allowlist); i++) {
460
- if (f == allowlist[i]) {
461
- return true;
462
- }
463
- }
464
- return false;
465
- }
466
- }
467
-
468
404
  #include "iseq.h"
469
405
 
406
+ // This is used to tell MJIT that this insn would be leaf if CHECK_INTS didn't exist.
407
+ // It should be used only when RUBY_VM_CHECK_INTS is directly written in insns.def.
408
+ static bool leafness_of_check_ints = false;
409
+
470
410
  static bool
471
411
  leafness_of_defined(rb_num_t op_type)
472
412
  {
@@ -505,12 +445,12 @@ leafness_of_checkmatch(rb_num_t flag)
505
445
  return false;
506
446
  }
507
447
  }
508
- #line 509 "insns_info.inc"
448
+ #line 449 "insns_info.inc"
509
449
 
510
450
  #line 10 "tool/ruby_vm/views/_sp_inc_helpers.erb"
511
451
 
512
452
  static rb_snum_t
513
- sp_inc_of_sendish(const struct rb_call_info *ci)
453
+ sp_inc_of_sendish(const struct rb_callinfo *ci)
514
454
  {
515
455
  /* Send-ish instructions will:
516
456
  *
@@ -519,8 +459,8 @@ sp_inc_of_sendish(const struct rb_call_info *ci)
519
459
  * 3. Pop receiver.
520
460
  * 4. Push return value.
521
461
  */
522
- const int argb = (ci->flag & VM_CALL_ARGS_BLOCKARG) ? 1 : 0;
523
- const int argc = ci->orig_argc;
462
+ const int argb = (vm_ci_flag(ci) & VM_CALL_ARGS_BLOCKARG) ? 1 : 0;
463
+ const int argc = vm_ci_argc(ci);
524
464
  const int recv = 1;
525
465
  const int retn = 1;
526
466
 
@@ -529,13 +469,13 @@ sp_inc_of_sendish(const struct rb_call_info *ci)
529
469
  }
530
470
 
531
471
  static rb_snum_t
532
- sp_inc_of_invokeblock(const struct rb_call_info *ci)
472
+ sp_inc_of_invokeblock(const struct rb_callinfo *ci)
533
473
  {
534
474
  /* sp_inc of invokeblock is almost identical to that of sendish
535
475
  * instructions, except that it does not pop receiver. */
536
476
  return sp_inc_of_sendish(ci) + 1;
537
477
  }
538
- #line 539 "insns_info.inc"
478
+ #line 479 "insns_info.inc"
539
479
 
540
480
  #ifndef RUBY_VM_EXEC_H
541
481
  /* can't #include "vm_exec.h" here... */
@@ -617,24 +557,24 @@ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_setspecial(rb_num_t key)));
617
557
  PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_setspecial(rb_num_t key)));
618
558
  PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_setspecial(rb_num_t key)));
619
559
  PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_setspecial(rb_num_t key)));
620
- PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_getinstancevariable(ID id, IC ic)));
621
- PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_getinstancevariable(ID id, IC ic)));
622
- PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_getinstancevariable(ID id, IC ic)));
623
- PUREFUNC(MAYBE_UNUSED(static const char* attr_name_getinstancevariable(ID id, IC ic)));
624
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_getinstancevariable(ID id, IC ic)));
625
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_getinstancevariable(ID id, IC ic)));
626
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_getinstancevariable(ID id, IC ic)));
627
- PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_getinstancevariable(ID id, IC ic)));
628
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_getinstancevariable(ID id, IC ic)));
629
- PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_setinstancevariable(ID id, IC ic)));
630
- PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_setinstancevariable(ID id, IC ic)));
631
- PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_setinstancevariable(ID id, IC ic)));
632
- PUREFUNC(MAYBE_UNUSED(static const char* attr_name_setinstancevariable(ID id, IC ic)));
633
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_setinstancevariable(ID id, IC ic)));
634
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_setinstancevariable(ID id, IC ic)));
635
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_setinstancevariable(ID id, IC ic)));
636
- PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_setinstancevariable(ID id, IC ic)));
637
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_setinstancevariable(ID id, IC ic)));
560
+ PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_getinstancevariable(ID id, IVC ic)));
561
+ PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_getinstancevariable(ID id, IVC ic)));
562
+ PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_getinstancevariable(ID id, IVC ic)));
563
+ PUREFUNC(MAYBE_UNUSED(static const char* attr_name_getinstancevariable(ID id, IVC ic)));
564
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_getinstancevariable(ID id, IVC ic)));
565
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_getinstancevariable(ID id, IVC ic)));
566
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_getinstancevariable(ID id, IVC ic)));
567
+ PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_getinstancevariable(ID id, IVC ic)));
568
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_getinstancevariable(ID id, IVC ic)));
569
+ PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_setinstancevariable(ID id, IVC ic)));
570
+ PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_setinstancevariable(ID id, IVC ic)));
571
+ PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_setinstancevariable(ID id, IVC ic)));
572
+ PUREFUNC(MAYBE_UNUSED(static const char* attr_name_setinstancevariable(ID id, IVC ic)));
573
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_setinstancevariable(ID id, IVC ic)));
574
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_setinstancevariable(ID id, IVC ic)));
575
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_setinstancevariable(ID id, IVC ic)));
576
+ PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_setinstancevariable(ID id, IVC ic)));
577
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_setinstancevariable(ID id, IVC ic)));
638
578
  PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_getclassvariable(ID id)));
639
579
  PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_getclassvariable(ID id)));
640
580
  PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_getclassvariable(ID id)));
@@ -671,24 +611,24 @@ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_setconstant(ID id)));
671
611
  PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_setconstant(ID id)));
672
612
  PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_setconstant(ID id)));
673
613
  PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_setconstant(ID id)));
674
- PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_getglobal(GENTRY entry)));
675
- PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_getglobal(GENTRY entry)));
676
- PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_getglobal(GENTRY entry)));
677
- PUREFUNC(MAYBE_UNUSED(static const char* attr_name_getglobal(GENTRY entry)));
678
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_getglobal(GENTRY entry)));
679
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_getglobal(GENTRY entry)));
680
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_getglobal(GENTRY entry)));
681
- PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_getglobal(GENTRY entry)));
682
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_getglobal(GENTRY entry)));
683
- PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_setglobal(GENTRY entry)));
684
- PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_setglobal(GENTRY entry)));
685
- PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_setglobal(GENTRY entry)));
686
- PUREFUNC(MAYBE_UNUSED(static const char* attr_name_setglobal(GENTRY entry)));
687
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_setglobal(GENTRY entry)));
688
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_setglobal(GENTRY entry)));
689
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_setglobal(GENTRY entry)));
690
- PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_setglobal(GENTRY entry)));
691
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_setglobal(GENTRY entry)));
614
+ PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_getglobal(ID gid)));
615
+ PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_getglobal(ID gid)));
616
+ PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_getglobal(ID gid)));
617
+ PUREFUNC(MAYBE_UNUSED(static const char* attr_name_getglobal(ID gid)));
618
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_getglobal(ID gid)));
619
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_getglobal(ID gid)));
620
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_getglobal(ID gid)));
621
+ PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_getglobal(ID gid)));
622
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_getglobal(ID gid)));
623
+ PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_setglobal(ID gid)));
624
+ PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_setglobal(ID gid)));
625
+ PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_setglobal(ID gid)));
626
+ PUREFUNC(MAYBE_UNUSED(static const char* attr_name_setglobal(ID gid)));
627
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_setglobal(ID gid)));
628
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_setglobal(ID gid)));
629
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_setglobal(ID gid)));
630
+ PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_setglobal(ID gid)));
631
+ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_setglobal(ID gid)));
692
632
  PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_putnil(void)));
693
633
  PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_putnil(void)));
694
634
  PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_putnil(void)));
@@ -752,15 +692,6 @@ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_tostring(void)));
752
692
  PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_tostring(void)));
753
693
  PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_tostring(void)));
754
694
  PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_tostring(void)));
755
- PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_freezestring(VALUE debug_info)));
756
- PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_freezestring(VALUE debug_info)));
757
- PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_freezestring(VALUE debug_info)));
758
- PUREFUNC(MAYBE_UNUSED(static const char* attr_name_freezestring(VALUE debug_info)));
759
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_freezestring(VALUE debug_info)));
760
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_freezestring(VALUE debug_info)));
761
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_freezestring(VALUE debug_info)));
762
- PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_freezestring(VALUE debug_info)));
763
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_freezestring(VALUE debug_info)));
764
695
  PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_toregexp(rb_num_t opt, rb_num_t cnt)));
765
696
  PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_toregexp(rb_num_t opt, rb_num_t cnt)));
766
697
  PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_toregexp(rb_num_t opt, rb_num_t cnt)));
@@ -1386,15 +1317,6 @@ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_opt_regexpmatch2(CALL_DATA cd)))
1386
1317
  PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_opt_regexpmatch2(CALL_DATA cd)));
1387
1318
  PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_opt_regexpmatch2(CALL_DATA cd)));
1388
1319
  PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_opt_regexpmatch2(CALL_DATA cd)));
1389
- PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_opt_call_c_function(rb_insn_func_t funcptr)));
1390
- PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_opt_call_c_function(rb_insn_func_t funcptr)));
1391
- PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_opt_call_c_function(rb_insn_func_t funcptr)));
1392
- PUREFUNC(MAYBE_UNUSED(static const char* attr_name_opt_call_c_function(rb_insn_func_t funcptr)));
1393
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_opt_call_c_function(rb_insn_func_t funcptr)));
1394
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_opt_call_c_function(rb_insn_func_t funcptr)));
1395
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_opt_call_c_function(rb_insn_func_t funcptr)));
1396
- PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_opt_call_c_function(rb_insn_func_t funcptr)));
1397
- PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_opt_call_c_function(rb_insn_func_t funcptr)));
1398
1320
  PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_invokebuiltin(RB_BUILTIN bf)));
1399
1321
  PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_invokebuiltin(RB_BUILTIN bf)));
1400
1322
  PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_invokebuiltin(RB_BUILTIN bf)));
@@ -2020,7 +1942,7 @@ attr_leaf_getspecial(
2020
1942
  return
2021
1943
  #line 192 "insns.def"
2022
1944
  (type == 0) ? true : false;
2023
- #line 2024 "insns_info.inc"
1945
+ #line 1946 "insns_info.inc"
2024
1946
  }
2025
1947
 
2026
1948
  /* attr const char* name @ getspecial(key, type)()(val) */
@@ -2150,7 +2072,7 @@ attr_width_setspecial(MAYBE_UNUSED(rb_num_t key))
2150
2072
  enum ruby_vminsn_type
2151
2073
  attr_bin_getinstancevariable(
2152
2074
  MAYBE_UNUSED(ID id),
2153
- MAYBE_UNUSED(IC ic)
2075
+ MAYBE_UNUSED(IVC ic)
2154
2076
  )
2155
2077
  {
2156
2078
  return BIN(getinstancevariable);
@@ -2160,7 +2082,7 @@ attr_bin_getinstancevariable(
2160
2082
  bool
2161
2083
  attr_handles_sp_getinstancevariable(
2162
2084
  MAYBE_UNUSED(ID id),
2163
- MAYBE_UNUSED(IC ic)
2085
+ MAYBE_UNUSED(IVC ic)
2164
2086
  )
2165
2087
  {
2166
2088
  return false;
@@ -2170,20 +2092,20 @@ attr_handles_sp_getinstancevariable(
2170
2092
  bool
2171
2093
  attr_leaf_getinstancevariable(
2172
2094
  MAYBE_UNUSED(ID id),
2173
- MAYBE_UNUSED(IC ic)
2095
+ MAYBE_UNUSED(IVC ic)
2174
2096
  )
2175
2097
  {
2176
2098
  return
2177
2099
  #line 214 "insns.def"
2178
2100
  false;
2179
- #line 2180 "insns_info.inc"
2101
+ #line 2102 "insns_info.inc"
2180
2102
  }
2181
2103
 
2182
2104
  /* attr const char* name @ getinstancevariable(id, ic)()(val) */
2183
2105
  const char*
2184
2106
  attr_name_getinstancevariable(
2185
2107
  MAYBE_UNUSED(ID id),
2186
- MAYBE_UNUSED(IC ic)
2108
+ MAYBE_UNUSED(IVC ic)
2187
2109
  )
2188
2110
  {
2189
2111
  return insn_name(BIN(getinstancevariable));
@@ -2193,7 +2115,7 @@ attr_name_getinstancevariable(
2193
2115
  rb_num_t
2194
2116
  attr_open_getinstancevariable(
2195
2117
  MAYBE_UNUSED(ID id),
2196
- MAYBE_UNUSED(IC ic)
2118
+ MAYBE_UNUSED(IVC ic)
2197
2119
  )
2198
2120
  {
2199
2121
  return 2;
@@ -2203,7 +2125,7 @@ attr_open_getinstancevariable(
2203
2125
  rb_num_t
2204
2126
  attr_popn_getinstancevariable(
2205
2127
  MAYBE_UNUSED(ID id),
2206
- MAYBE_UNUSED(IC ic)
2128
+ MAYBE_UNUSED(IVC ic)
2207
2129
  )
2208
2130
  {
2209
2131
  return 0;
@@ -2213,7 +2135,7 @@ attr_popn_getinstancevariable(
2213
2135
  rb_num_t
2214
2136
  attr_retn_getinstancevariable(
2215
2137
  MAYBE_UNUSED(ID id),
2216
- MAYBE_UNUSED(IC ic)
2138
+ MAYBE_UNUSED(IVC ic)
2217
2139
  )
2218
2140
  {
2219
2141
  return 1;
@@ -2223,7 +2145,7 @@ attr_retn_getinstancevariable(
2223
2145
  rb_snum_t
2224
2146
  attr_sp_inc_getinstancevariable(
2225
2147
  MAYBE_UNUSED(ID id),
2226
- MAYBE_UNUSED(IC ic)
2148
+ MAYBE_UNUSED(IVC ic)
2227
2149
  )
2228
2150
  {
2229
2151
  return 1;
@@ -2233,7 +2155,7 @@ attr_sp_inc_getinstancevariable(
2233
2155
  rb_num_t
2234
2156
  attr_width_getinstancevariable(
2235
2157
  MAYBE_UNUSED(ID id),
2236
- MAYBE_UNUSED(IC ic)
2158
+ MAYBE_UNUSED(IVC ic)
2237
2159
  )
2238
2160
  {
2239
2161
  return 3;
@@ -2243,7 +2165,7 @@ attr_width_getinstancevariable(
2243
2165
  enum ruby_vminsn_type
2244
2166
  attr_bin_setinstancevariable(
2245
2167
  MAYBE_UNUSED(ID id),
2246
- MAYBE_UNUSED(IC ic)
2168
+ MAYBE_UNUSED(IVC ic)
2247
2169
  )
2248
2170
  {
2249
2171
  return BIN(setinstancevariable);
@@ -2253,7 +2175,7 @@ attr_bin_setinstancevariable(
2253
2175
  bool
2254
2176
  attr_handles_sp_setinstancevariable(
2255
2177
  MAYBE_UNUSED(ID id),
2256
- MAYBE_UNUSED(IC ic)
2178
+ MAYBE_UNUSED(IVC ic)
2257
2179
  )
2258
2180
  {
2259
2181
  return false;
@@ -2263,20 +2185,20 @@ attr_handles_sp_setinstancevariable(
2263
2185
  bool
2264
2186
  attr_leaf_setinstancevariable(
2265
2187
  MAYBE_UNUSED(ID id),
2266
- MAYBE_UNUSED(IC ic)
2188
+ MAYBE_UNUSED(IVC ic)
2267
2189
  )
2268
2190
  {
2269
2191
  return
2270
2192
  #line 225 "insns.def"
2271
2193
  false;
2272
- #line 2273 "insns_info.inc"
2194
+ #line 2195 "insns_info.inc"
2273
2195
  }
2274
2196
 
2275
2197
  /* attr const char* name @ setinstancevariable(id, ic)(val)() */
2276
2198
  const char*
2277
2199
  attr_name_setinstancevariable(
2278
2200
  MAYBE_UNUSED(ID id),
2279
- MAYBE_UNUSED(IC ic)
2201
+ MAYBE_UNUSED(IVC ic)
2280
2202
  )
2281
2203
  {
2282
2204
  return insn_name(BIN(setinstancevariable));
@@ -2286,7 +2208,7 @@ attr_name_setinstancevariable(
2286
2208
  rb_num_t
2287
2209
  attr_open_setinstancevariable(
2288
2210
  MAYBE_UNUSED(ID id),
2289
- MAYBE_UNUSED(IC ic)
2211
+ MAYBE_UNUSED(IVC ic)
2290
2212
  )
2291
2213
  {
2292
2214
  return 2;
@@ -2296,7 +2218,7 @@ attr_open_setinstancevariable(
2296
2218
  rb_num_t
2297
2219
  attr_popn_setinstancevariable(
2298
2220
  MAYBE_UNUSED(ID id),
2299
- MAYBE_UNUSED(IC ic)
2221
+ MAYBE_UNUSED(IVC ic)
2300
2222
  )
2301
2223
  {
2302
2224
  return 1;
@@ -2306,7 +2228,7 @@ attr_popn_setinstancevariable(
2306
2228
  rb_num_t
2307
2229
  attr_retn_setinstancevariable(
2308
2230
  MAYBE_UNUSED(ID id),
2309
- MAYBE_UNUSED(IC ic)
2231
+ MAYBE_UNUSED(IVC ic)
2310
2232
  )
2311
2233
  {
2312
2234
  return 0;
@@ -2316,7 +2238,7 @@ attr_retn_setinstancevariable(
2316
2238
  rb_snum_t
2317
2239
  attr_sp_inc_setinstancevariable(
2318
2240
  MAYBE_UNUSED(ID id),
2319
- MAYBE_UNUSED(IC ic)
2241
+ MAYBE_UNUSED(IVC ic)
2320
2242
  )
2321
2243
  {
2322
2244
  return -1;
@@ -2326,7 +2248,7 @@ attr_sp_inc_setinstancevariable(
2326
2248
  rb_num_t
2327
2249
  attr_width_setinstancevariable(
2328
2250
  MAYBE_UNUSED(ID id),
2329
- MAYBE_UNUSED(IC ic)
2251
+ MAYBE_UNUSED(IVC ic)
2330
2252
  )
2331
2253
  {
2332
2254
  return 3;
@@ -2353,7 +2275,7 @@ attr_leaf_getclassvariable(MAYBE_UNUSED(ID id))
2353
2275
  return
2354
2276
  #line 237 "insns.def"
2355
2277
  false;
2356
- #line 2357 "insns_info.inc"
2278
+ #line 2279 "insns_info.inc"
2357
2279
  }
2358
2280
 
2359
2281
  /* attr const char* name @ getclassvariable(id)()(val) */
@@ -2419,7 +2341,7 @@ attr_leaf_setclassvariable(MAYBE_UNUSED(ID id))
2419
2341
  return
2420
2342
  #line 249 "insns.def"
2421
2343
  false;
2422
- #line 2423 "insns_info.inc"
2344
+ #line 2345 "insns_info.inc"
2423
2345
  }
2424
2346
 
2425
2347
  /* attr const char* name @ setclassvariable(id)(val)() */
@@ -2485,7 +2407,7 @@ attr_leaf_getconstant(MAYBE_UNUSED(ID id))
2485
2407
  return
2486
2408
  #line 265 "insns.def"
2487
2409
  false;
2488
- #line 2489 "insns_info.inc"
2410
+ #line 2411 "insns_info.inc"
2489
2411
  }
2490
2412
 
2491
2413
  /* attr const char* name @ getconstant(id)(klass, allow_nil)(val) */
@@ -2551,7 +2473,7 @@ attr_leaf_setconstant(MAYBE_UNUSED(ID id))
2551
2473
  return
2552
2474
  #line 281 "insns.def"
2553
2475
  false;
2554
- #line 2555 "insns_info.inc"
2476
+ #line 2477 "insns_info.inc"
2555
2477
  }
2556
2478
 
2557
2479
  /* attr const char* name @ setconstant(id)(val, cbase)() */
@@ -2596,134 +2518,134 @@ attr_width_setconstant(MAYBE_UNUSED(ID id))
2596
2518
  return 2;
2597
2519
  }
2598
2520
 
2599
- /* attr enum ruby_vminsn_type bin @ getglobal(entry)()(val) */
2521
+ /* attr enum ruby_vminsn_type bin @ getglobal(gid)()(val) */
2600
2522
  enum ruby_vminsn_type
2601
- attr_bin_getglobal(MAYBE_UNUSED(GENTRY entry))
2523
+ attr_bin_getglobal(MAYBE_UNUSED(ID gid))
2602
2524
  {
2603
2525
  return BIN(getglobal);
2604
2526
  }
2605
2527
 
2606
- /* attr bool handles_sp @ getglobal(entry)()(val) */
2528
+ /* attr bool handles_sp @ getglobal(gid)()(val) */
2607
2529
  bool
2608
- attr_handles_sp_getglobal(MAYBE_UNUSED(GENTRY entry))
2530
+ attr_handles_sp_getglobal(MAYBE_UNUSED(ID gid))
2609
2531
  {
2610
2532
  return false;
2611
2533
  }
2612
2534
 
2613
- /* attr bool leaf @ getglobal(entry)()(val) */
2535
+ /* attr bool leaf @ getglobal(gid)()(val) */
2614
2536
  bool
2615
- attr_leaf_getglobal(MAYBE_UNUSED(GENTRY entry))
2537
+ attr_leaf_getglobal(MAYBE_UNUSED(ID gid))
2616
2538
  {
2617
2539
  return
2618
2540
  #line 294 "insns.def"
2619
- leafness_of_getglobal(entry);
2620
- #line 2621 "insns_info.inc"
2541
+ false;
2542
+ #line 2543 "insns_info.inc"
2621
2543
  }
2622
2544
 
2623
- /* attr const char* name @ getglobal(entry)()(val) */
2545
+ /* attr const char* name @ getglobal(gid)()(val) */
2624
2546
  const char*
2625
- attr_name_getglobal(MAYBE_UNUSED(GENTRY entry))
2547
+ attr_name_getglobal(MAYBE_UNUSED(ID gid))
2626
2548
  {
2627
2549
  return insn_name(BIN(getglobal));
2628
2550
  }
2629
2551
 
2630
- /* attr rb_num_t open @ getglobal(entry)()(val) */
2552
+ /* attr rb_num_t open @ getglobal(gid)()(val) */
2631
2553
  rb_num_t
2632
- attr_open_getglobal(MAYBE_UNUSED(GENTRY entry))
2554
+ attr_open_getglobal(MAYBE_UNUSED(ID gid))
2633
2555
  {
2634
2556
  return 1;
2635
2557
  }
2636
2558
 
2637
- /* attr rb_num_t popn @ getglobal(entry)()(val) */
2559
+ /* attr rb_num_t popn @ getglobal(gid)()(val) */
2638
2560
  rb_num_t
2639
- attr_popn_getglobal(MAYBE_UNUSED(GENTRY entry))
2561
+ attr_popn_getglobal(MAYBE_UNUSED(ID gid))
2640
2562
  {
2641
2563
  return 0;
2642
2564
  }
2643
2565
 
2644
- /* attr rb_num_t retn @ getglobal(entry)()(val) */
2566
+ /* attr rb_num_t retn @ getglobal(gid)()(val) */
2645
2567
  rb_num_t
2646
- attr_retn_getglobal(MAYBE_UNUSED(GENTRY entry))
2568
+ attr_retn_getglobal(MAYBE_UNUSED(ID gid))
2647
2569
  {
2648
2570
  return 1;
2649
2571
  }
2650
2572
 
2651
- /* attr rb_snum_t sp_inc @ getglobal(entry)()(val) */
2573
+ /* attr rb_snum_t sp_inc @ getglobal(gid)()(val) */
2652
2574
  rb_snum_t
2653
- attr_sp_inc_getglobal(MAYBE_UNUSED(GENTRY entry))
2575
+ attr_sp_inc_getglobal(MAYBE_UNUSED(ID gid))
2654
2576
  {
2655
2577
  return 1;
2656
2578
  }
2657
2579
 
2658
- /* attr rb_num_t width @ getglobal(entry)()(val) */
2580
+ /* attr rb_num_t width @ getglobal(gid)()(val) */
2659
2581
  rb_num_t
2660
- attr_width_getglobal(MAYBE_UNUSED(GENTRY entry))
2582
+ attr_width_getglobal(MAYBE_UNUSED(ID gid))
2661
2583
  {
2662
2584
  return 2;
2663
2585
  }
2664
2586
 
2665
- /* attr enum ruby_vminsn_type bin @ setglobal(entry)(val)() */
2587
+ /* attr enum ruby_vminsn_type bin @ setglobal(gid)(val)() */
2666
2588
  enum ruby_vminsn_type
2667
- attr_bin_setglobal(MAYBE_UNUSED(GENTRY entry))
2589
+ attr_bin_setglobal(MAYBE_UNUSED(ID gid))
2668
2590
  {
2669
2591
  return BIN(setglobal);
2670
2592
  }
2671
2593
 
2672
- /* attr bool handles_sp @ setglobal(entry)(val)() */
2594
+ /* attr bool handles_sp @ setglobal(gid)(val)() */
2673
2595
  bool
2674
- attr_handles_sp_setglobal(MAYBE_UNUSED(GENTRY entry))
2596
+ attr_handles_sp_setglobal(MAYBE_UNUSED(ID gid))
2675
2597
  {
2676
2598
  return false;
2677
2599
  }
2678
2600
 
2679
- /* attr bool leaf @ setglobal(entry)(val)() */
2601
+ /* attr bool leaf @ setglobal(gid)(val)() */
2680
2602
  bool
2681
- attr_leaf_setglobal(MAYBE_UNUSED(GENTRY entry))
2603
+ attr_leaf_setglobal(MAYBE_UNUSED(ID gid))
2682
2604
  {
2683
2605
  return
2684
- #line 306 "insns.def"
2685
- leafness_of_setglobal(entry);
2686
- #line 2687 "insns_info.inc"
2606
+ #line 305 "insns.def"
2607
+ false;
2608
+ #line 2609 "insns_info.inc"
2687
2609
  }
2688
2610
 
2689
- /* attr const char* name @ setglobal(entry)(val)() */
2611
+ /* attr const char* name @ setglobal(gid)(val)() */
2690
2612
  const char*
2691
- attr_name_setglobal(MAYBE_UNUSED(GENTRY entry))
2613
+ attr_name_setglobal(MAYBE_UNUSED(ID gid))
2692
2614
  {
2693
2615
  return insn_name(BIN(setglobal));
2694
2616
  }
2695
2617
 
2696
- /* attr rb_num_t open @ setglobal(entry)(val)() */
2618
+ /* attr rb_num_t open @ setglobal(gid)(val)() */
2697
2619
  rb_num_t
2698
- attr_open_setglobal(MAYBE_UNUSED(GENTRY entry))
2620
+ attr_open_setglobal(MAYBE_UNUSED(ID gid))
2699
2621
  {
2700
2622
  return 1;
2701
2623
  }
2702
2624
 
2703
- /* attr rb_num_t popn @ setglobal(entry)(val)() */
2625
+ /* attr rb_num_t popn @ setglobal(gid)(val)() */
2704
2626
  rb_num_t
2705
- attr_popn_setglobal(MAYBE_UNUSED(GENTRY entry))
2627
+ attr_popn_setglobal(MAYBE_UNUSED(ID gid))
2706
2628
  {
2707
2629
  return 1;
2708
2630
  }
2709
2631
 
2710
- /* attr rb_num_t retn @ setglobal(entry)(val)() */
2632
+ /* attr rb_num_t retn @ setglobal(gid)(val)() */
2711
2633
  rb_num_t
2712
- attr_retn_setglobal(MAYBE_UNUSED(GENTRY entry))
2634
+ attr_retn_setglobal(MAYBE_UNUSED(ID gid))
2713
2635
  {
2714
2636
  return 0;
2715
2637
  }
2716
2638
 
2717
- /* attr rb_snum_t sp_inc @ setglobal(entry)(val)() */
2639
+ /* attr rb_snum_t sp_inc @ setglobal(gid)(val)() */
2718
2640
  rb_snum_t
2719
- attr_sp_inc_setglobal(MAYBE_UNUSED(GENTRY entry))
2641
+ attr_sp_inc_setglobal(MAYBE_UNUSED(ID gid))
2720
2642
  {
2721
2643
  return -1;
2722
2644
  }
2723
2645
 
2724
- /* attr rb_num_t width @ setglobal(entry)(val)() */
2646
+ /* attr rb_num_t width @ setglobal(gid)(val)() */
2725
2647
  rb_num_t
2726
- attr_width_setglobal(MAYBE_UNUSED(GENTRY entry))
2648
+ attr_width_setglobal(MAYBE_UNUSED(ID gid))
2727
2649
  {
2728
2650
  return 2;
2729
2651
  }
@@ -3062,9 +2984,9 @@ bool
3062
2984
  attr_leaf_concatstrings(MAYBE_UNUSED(rb_num_t num))
3063
2985
  {
3064
2986
  return
3065
- #line 379 "insns.def"
2987
+ #line 377 "insns.def"
3066
2988
  false;
3067
- #line 3068 "insns_info.inc"
2989
+ #line 2990 "insns_info.inc"
3068
2990
  }
3069
2991
 
3070
2992
  /* attr const char* name @ concatstrings(num)(...)(val) */
@@ -3100,9 +3022,9 @@ rb_snum_t
3100
3022
  attr_sp_inc_concatstrings(MAYBE_UNUSED(rb_num_t num))
3101
3023
  {
3102
3024
  return
3103
- #line 380 "insns.def"
3025
+ #line 378 "insns.def"
3104
3026
  1 - (rb_snum_t)num;
3105
- #line 3106 "insns_info.inc"
3027
+ #line 3028 "insns_info.inc"
3106
3028
  }
3107
3029
 
3108
3030
  /* attr rb_num_t width @ concatstrings(num)(...)(val) */
@@ -3175,69 +3097,6 @@ attr_width_tostring(void)
3175
3097
  return 1;
3176
3098
  }
3177
3099
 
3178
- /* attr enum ruby_vminsn_type bin @ freezestring(debug_info)(str)(str) */
3179
- enum ruby_vminsn_type
3180
- attr_bin_freezestring(MAYBE_UNUSED(VALUE debug_info))
3181
- {
3182
- return BIN(freezestring);
3183
- }
3184
-
3185
- /* attr bool handles_sp @ freezestring(debug_info)(str)(str) */
3186
- bool
3187
- attr_handles_sp_freezestring(MAYBE_UNUSED(VALUE debug_info))
3188
- {
3189
- return false;
3190
- }
3191
-
3192
- /* attr bool leaf @ freezestring(debug_info)(str)(str) */
3193
- bool
3194
- attr_leaf_freezestring(MAYBE_UNUSED(VALUE debug_info))
3195
- {
3196
- return true;
3197
- }
3198
-
3199
- /* attr const char* name @ freezestring(debug_info)(str)(str) */
3200
- const char*
3201
- attr_name_freezestring(MAYBE_UNUSED(VALUE debug_info))
3202
- {
3203
- return insn_name(BIN(freezestring));
3204
- }
3205
-
3206
- /* attr rb_num_t open @ freezestring(debug_info)(str)(str) */
3207
- rb_num_t
3208
- attr_open_freezestring(MAYBE_UNUSED(VALUE debug_info))
3209
- {
3210
- return 1;
3211
- }
3212
-
3213
- /* attr rb_num_t popn @ freezestring(debug_info)(str)(str) */
3214
- rb_num_t
3215
- attr_popn_freezestring(MAYBE_UNUSED(VALUE debug_info))
3216
- {
3217
- return 1;
3218
- }
3219
-
3220
- /* attr rb_num_t retn @ freezestring(debug_info)(str)(str) */
3221
- rb_num_t
3222
- attr_retn_freezestring(MAYBE_UNUSED(VALUE debug_info))
3223
- {
3224
- return 1;
3225
- }
3226
-
3227
- /* attr rb_snum_t sp_inc @ freezestring(debug_info)(str)(str) */
3228
- rb_snum_t
3229
- attr_sp_inc_freezestring(MAYBE_UNUSED(VALUE debug_info))
3230
- {
3231
- return 0;
3232
- }
3233
-
3234
- /* attr rb_num_t width @ freezestring(debug_info)(str)(str) */
3235
- rb_num_t
3236
- attr_width_freezestring(MAYBE_UNUSED(VALUE debug_info))
3237
- {
3238
- return 2;
3239
- }
3240
-
3241
3100
  /* attr enum ruby_vminsn_type bin @ toregexp(opt, cnt)(...)(val) */
3242
3101
  enum ruby_vminsn_type
3243
3102
  attr_bin_toregexp(
@@ -3266,9 +3125,9 @@ attr_leaf_toregexp(
3266
3125
  )
3267
3126
  {
3268
3127
  return
3269
- #line 415 "insns.def"
3128
+ #line 403 "insns.def"
3270
3129
  false;
3271
- #line 3272 "insns_info.inc"
3130
+ #line 3131 "insns_info.inc"
3272
3131
  }
3273
3132
 
3274
3133
  /* attr const char* name @ toregexp(opt, cnt)(...)(val) */
@@ -3319,9 +3178,9 @@ attr_sp_inc_toregexp(
3319
3178
  )
3320
3179
  {
3321
3180
  return
3322
- #line 416 "insns.def"
3181
+ #line 404 "insns.def"
3323
3182
  1 - (rb_snum_t)cnt;
3324
- #line 3325 "insns_info.inc"
3183
+ #line 3184 "insns_info.inc"
3325
3184
  }
3326
3185
 
3327
3186
  /* attr rb_num_t width @ toregexp(opt, cnt)(...)(val) */
@@ -3451,9 +3310,9 @@ rb_snum_t
3451
3310
  attr_sp_inc_newarray(MAYBE_UNUSED(rb_num_t num))
3452
3311
  {
3453
3312
  return
3454
- #line 439 "insns.def"
3313
+ #line 427 "insns.def"
3455
3314
  1 - (rb_snum_t)num;
3456
- #line 3457 "insns_info.inc"
3315
+ #line 3316 "insns_info.inc"
3457
3316
  }
3458
3317
 
3459
3318
  /* attr rb_num_t width @ newarray(num)(...)(val) */
@@ -3517,9 +3376,9 @@ rb_snum_t
3517
3376
  attr_sp_inc_newarraykwsplat(MAYBE_UNUSED(rb_num_t num))
3518
3377
  {
3519
3378
  return
3520
- #line 454 "insns.def"
3379
+ #line 442 "insns.def"
3521
3380
  1 - (rb_snum_t)num;
3522
- #line 3523 "insns_info.inc"
3381
+ #line 3382 "insns_info.inc"
3523
3382
  }
3524
3383
 
3525
3384
  /* attr rb_num_t width @ newarraykwsplat(num)(...)(val) */
@@ -3683,9 +3542,9 @@ attr_leaf_expandarray(
3683
3542
  )
3684
3543
  {
3685
3544
  return
3686
- #line 500 "insns.def"
3545
+ #line 488 "insns.def"
3687
3546
  false;
3688
- #line 3689 "insns_info.inc"
3547
+ #line 3548 "insns_info.inc"
3689
3548
  }
3690
3549
 
3691
3550
  /* attr const char* name @ expandarray(num, flag)(..., ary)(...) */
@@ -3736,9 +3595,9 @@ attr_sp_inc_expandarray(
3736
3595
  )
3737
3596
  {
3738
3597
  return
3739
- #line 501 "insns.def"
3598
+ #line 489 "insns.def"
3740
3599
  (rb_snum_t)num - 1 + (flag & 1 ? 1 : 0);
3741
- #line 3742 "insns_info.inc"
3600
+ #line 3601 "insns_info.inc"
3742
3601
  }
3743
3602
 
3744
3603
  /* attr rb_num_t width @ expandarray(num, flag)(..., ary)(...) */
@@ -3770,9 +3629,9 @@ bool
3770
3629
  attr_leaf_concatarray(void)
3771
3630
  {
3772
3631
  return
3773
- #line 512 "insns.def"
3632
+ #line 500 "insns.def"
3774
3633
  false;
3775
- #line 3776 "insns_info.inc"
3634
+ #line 3635 "insns_info.inc"
3776
3635
  }
3777
3636
 
3778
3637
  /* attr const char* name @ concatarray()(ary1, ary2)(ary) */
@@ -3836,9 +3695,9 @@ bool
3836
3695
  attr_leaf_splatarray(MAYBE_UNUSED(VALUE flag))
3837
3696
  {
3838
3697
  return
3839
- #line 523 "insns.def"
3698
+ #line 511 "insns.def"
3840
3699
  false;
3841
- #line 3842 "insns_info.inc"
3700
+ #line 3701 "insns_info.inc"
3842
3701
  }
3843
3702
 
3844
3703
  /* attr const char* name @ splatarray(flag)(ary)(obj) */
@@ -3902,9 +3761,9 @@ bool
3902
3761
  attr_leaf_newhash(MAYBE_UNUSED(rb_num_t num))
3903
3762
  {
3904
3763
  return
3905
- #line 534 "insns.def"
3764
+ #line 522 "insns.def"
3906
3765
  false;
3907
- #line 3908 "insns_info.inc"
3766
+ #line 3767 "insns_info.inc"
3908
3767
  }
3909
3768
 
3910
3769
  /* attr const char* name @ newhash(num)(...)(val) */
@@ -3940,9 +3799,9 @@ rb_snum_t
3940
3799
  attr_sp_inc_newhash(MAYBE_UNUSED(rb_num_t num))
3941
3800
  {
3942
3801
  return
3943
- #line 535 "insns.def"
3802
+ #line 523 "insns.def"
3944
3803
  1 - (rb_snum_t)num;
3945
- #line 3946 "insns_info.inc"
3804
+ #line 3805 "insns_info.inc"
3946
3805
  }
3947
3806
 
3948
3807
  /* attr rb_num_t width @ newhash(num)(...)(val) */
@@ -3971,9 +3830,9 @@ bool
3971
3830
  attr_leaf_newrange(MAYBE_UNUSED(rb_num_t flag))
3972
3831
  {
3973
3832
  return
3974
- #line 553 "insns.def"
3833
+ #line 541 "insns.def"
3975
3834
  false;
3976
- #line 3977 "insns_info.inc"
3835
+ #line 3836 "insns_info.inc"
3977
3836
  }
3978
3837
 
3979
3838
  /* attr const char* name @ newrange(flag)(low, high)(val) */
@@ -4198,9 +4057,9 @@ rb_snum_t
4198
4057
  attr_sp_inc_dupn(MAYBE_UNUSED(rb_num_t n))
4199
4058
  {
4200
4059
  return
4201
- #line 589 "insns.def"
4060
+ #line 577 "insns.def"
4202
4061
  n;
4203
- #line 4204 "insns_info.inc"
4062
+ #line 4063 "insns_info.inc"
4204
4063
  }
4205
4064
 
4206
4065
  /* attr rb_num_t width @ dupn(n)(...)(...) */
@@ -4327,9 +4186,9 @@ rb_snum_t
4327
4186
  attr_sp_inc_reverse(MAYBE_UNUSED(rb_num_t n))
4328
4187
  {
4329
4188
  return
4330
- #line 613 "insns.def"
4189
+ #line 601 "insns.def"
4331
4190
  0;
4332
- #line 4333 "insns_info.inc"
4191
+ #line 4192 "insns_info.inc"
4333
4192
  }
4334
4193
 
4335
4194
  /* attr rb_num_t width @ reverse(n)(...)(...) */
@@ -4393,9 +4252,9 @@ rb_snum_t
4393
4252
  attr_sp_inc_topn(MAYBE_UNUSED(rb_num_t n))
4394
4253
  {
4395
4254
  return
4396
- #line 643 "insns.def"
4255
+ #line 631 "insns.def"
4397
4256
  1;
4398
- #line 4399 "insns_info.inc"
4257
+ #line 4258 "insns_info.inc"
4399
4258
  }
4400
4259
 
4401
4260
  /* attr rb_num_t width @ topn(n)(...)(val) */
@@ -4459,9 +4318,9 @@ rb_snum_t
4459
4318
  attr_sp_inc_setn(MAYBE_UNUSED(rb_num_t n))
4460
4319
  {
4461
4320
  return
4462
- #line 654 "insns.def"
4321
+ #line 642 "insns.def"
4463
4322
  0;
4464
- #line 4465 "insns_info.inc"
4323
+ #line 4324 "insns_info.inc"
4465
4324
  }
4466
4325
 
4467
4326
  /* attr rb_num_t width @ setn(n)(..., val)(val) */
@@ -4525,9 +4384,9 @@ rb_snum_t
4525
4384
  attr_sp_inc_adjuststack(MAYBE_UNUSED(rb_num_t n))
4526
4385
  {
4527
4386
  return
4528
- #line 665 "insns.def"
4387
+ #line 653 "insns.def"
4529
4388
  -(rb_snum_t)n;
4530
- #line 4531 "insns_info.inc"
4389
+ #line 4390 "insns_info.inc"
4531
4390
  }
4532
4391
 
4533
4392
  /* attr rb_num_t width @ adjuststack(n)(...)(...) */
@@ -4568,9 +4427,9 @@ attr_leaf_defined(
4568
4427
  )
4569
4428
  {
4570
4429
  return
4571
- #line 680 "insns.def"
4430
+ #line 668 "insns.def"
4572
4431
  leafness_of_defined(op_type);
4573
- #line 4574 "insns_info.inc"
4432
+ #line 4433 "insns_info.inc"
4574
4433
  }
4575
4434
 
4576
4435
  /* attr const char* name @ defined(op_type, obj, needstr)(v)(val) */
@@ -4658,9 +4517,9 @@ bool
4658
4517
  attr_leaf_checkmatch(MAYBE_UNUSED(rb_num_t flag))
4659
4518
  {
4660
4519
  return
4661
- #line 697 "insns.def"
4520
+ #line 685 "insns.def"
4662
4521
  leafness_of_checkmatch(flag);
4663
- #line 4664 "insns_info.inc"
4522
+ #line 4523 "insns_info.inc"
4664
4523
  }
4665
4524
 
4666
4525
  /* attr const char* name @ checkmatch(flag)(target, pattern)(result) */
@@ -5155,9 +5014,9 @@ attr_comptime_sp_inc_send(
5155
5014
  )
5156
5015
  {
5157
5016
  return
5158
- #line 779 "insns.def"
5017
+ #line 767 "insns.def"
5159
5018
  sp_inc_of_sendish(ci);
5160
- #line 5161 "insns_info.inc"
5019
+ #line 5020 "insns_info.inc"
5161
5020
  }
5162
5021
 
5163
5022
  /* attr bool handles_sp @ send(cd, blockiseq)(...)(val) */
@@ -5228,9 +5087,9 @@ attr_sp_inc_send(
5228
5087
  )
5229
5088
  {
5230
5089
  return
5231
- #line 778 "insns.def"
5232
- sp_inc_of_sendish(&cd->ci);
5233
- #line 5234 "insns_info.inc"
5090
+ #line 766 "insns.def"
5091
+ sp_inc_of_sendish(cd->ci);
5092
+ #line 5093 "insns_info.inc"
5234
5093
  }
5235
5094
 
5236
5095
  /* attr rb_num_t width @ send(cd, blockiseq)(...)(val) */
@@ -5255,9 +5114,9 @@ rb_snum_t
5255
5114
  attr_comptime_sp_inc_opt_send_without_block(MAYBE_UNUSED(CALL_INFO ci))
5256
5115
  {
5257
5116
  return
5258
- #line 798 "insns.def"
5117
+ #line 786 "insns.def"
5259
5118
  sp_inc_of_sendish(ci);
5260
- #line 5261 "insns_info.inc"
5119
+ #line 5120 "insns_info.inc"
5261
5120
  }
5262
5121
 
5263
5122
  /* attr bool handles_sp @ opt_send_without_block(cd)(...)(val) */
@@ -5265,9 +5124,9 @@ bool
5265
5124
  attr_handles_sp_opt_send_without_block(MAYBE_UNUSED(CALL_DATA cd))
5266
5125
  {
5267
5126
  return
5268
- #line 796 "insns.def"
5127
+ #line 784 "insns.def"
5269
5128
  true;
5270
- #line 5271 "insns_info.inc"
5129
+ #line 5130 "insns_info.inc"
5271
5130
  }
5272
5131
 
5273
5132
  /* attr bool leaf @ opt_send_without_block(cd)(...)(val) */
@@ -5310,9 +5169,9 @@ rb_snum_t
5310
5169
  attr_sp_inc_opt_send_without_block(MAYBE_UNUSED(CALL_DATA cd))
5311
5170
  {
5312
5171
  return
5313
- #line 797 "insns.def"
5314
- sp_inc_of_sendish(&cd->ci);
5315
- #line 5316 "insns_info.inc"
5172
+ #line 785 "insns.def"
5173
+ sp_inc_of_sendish(cd->ci);
5174
+ #line 5175 "insns_info.inc"
5316
5175
  }
5317
5176
 
5318
5177
  /* attr rb_num_t width @ opt_send_without_block(cd)(...)(val) */
@@ -5584,9 +5443,9 @@ bool
5584
5443
  attr_leaf_opt_newarray_max(MAYBE_UNUSED(rb_num_t num))
5585
5444
  {
5586
5445
  return
5587
- #line 860 "insns.def"
5446
+ #line 848 "insns.def"
5588
5447
  false;
5589
- #line 5590 "insns_info.inc"
5448
+ #line 5449 "insns_info.inc"
5590
5449
  }
5591
5450
 
5592
5451
  /* attr const char* name @ opt_newarray_max(num)(...)(val) */
@@ -5622,9 +5481,9 @@ rb_snum_t
5622
5481
  attr_sp_inc_opt_newarray_max(MAYBE_UNUSED(rb_num_t num))
5623
5482
  {
5624
5483
  return
5625
- #line 861 "insns.def"
5484
+ #line 849 "insns.def"
5626
5485
  1 - (rb_snum_t)num;
5627
- #line 5628 "insns_info.inc"
5486
+ #line 5487 "insns_info.inc"
5628
5487
  }
5629
5488
 
5630
5489
  /* attr rb_num_t width @ opt_newarray_max(num)(...)(val) */
@@ -5653,9 +5512,9 @@ bool
5653
5512
  attr_leaf_opt_newarray_min(MAYBE_UNUSED(rb_num_t num))
5654
5513
  {
5655
5514
  return
5656
- #line 872 "insns.def"
5515
+ #line 860 "insns.def"
5657
5516
  false;
5658
- #line 5659 "insns_info.inc"
5517
+ #line 5518 "insns_info.inc"
5659
5518
  }
5660
5519
 
5661
5520
  /* attr const char* name @ opt_newarray_min(num)(...)(val) */
@@ -5691,9 +5550,9 @@ rb_snum_t
5691
5550
  attr_sp_inc_opt_newarray_min(MAYBE_UNUSED(rb_num_t num))
5692
5551
  {
5693
5552
  return
5694
- #line 873 "insns.def"
5553
+ #line 861 "insns.def"
5695
5554
  1 - (rb_snum_t)num;
5696
- #line 5697 "insns_info.inc"
5555
+ #line 5556 "insns_info.inc"
5697
5556
  }
5698
5557
 
5699
5558
  /* attr rb_num_t width @ opt_newarray_min(num)(...)(val) */
@@ -5721,9 +5580,9 @@ attr_comptime_sp_inc_invokesuper(
5721
5580
  )
5722
5581
  {
5723
5582
  return
5724
- #line 885 "insns.def"
5583
+ #line 873 "insns.def"
5725
5584
  sp_inc_of_sendish(ci);
5726
- #line 5727 "insns_info.inc"
5585
+ #line 5586 "insns_info.inc"
5727
5586
  }
5728
5587
 
5729
5588
  /* attr bool handles_sp @ invokesuper(cd, blockiseq)(...)(val) */
@@ -5794,9 +5653,9 @@ attr_sp_inc_invokesuper(
5794
5653
  )
5795
5654
  {
5796
5655
  return
5797
- #line 884 "insns.def"
5798
- sp_inc_of_sendish(&cd->ci);
5799
- #line 5800 "insns_info.inc"
5656
+ #line 872 "insns.def"
5657
+ sp_inc_of_sendish(cd->ci);
5658
+ #line 5659 "insns_info.inc"
5800
5659
  }
5801
5660
 
5802
5661
  /* attr rb_num_t width @ invokesuper(cd, blockiseq)(...)(val) */
@@ -5821,9 +5680,9 @@ rb_snum_t
5821
5680
  attr_comptime_sp_inc_invokeblock(MAYBE_UNUSED(CALL_INFO ci))
5822
5681
  {
5823
5682
  return
5824
- #line 904 "insns.def"
5683
+ #line 892 "insns.def"
5825
5684
  sp_inc_of_invokeblock(ci);
5826
- #line 5827 "insns_info.inc"
5685
+ #line 5686 "insns_info.inc"
5827
5686
  }
5828
5687
 
5829
5688
  /* attr bool handles_sp @ invokeblock(cd)(...)(val) */
@@ -5831,9 +5690,9 @@ bool
5831
5690
  attr_handles_sp_invokeblock(MAYBE_UNUSED(CALL_DATA cd))
5832
5691
  {
5833
5692
  return
5834
- #line 902 "insns.def"
5693
+ #line 890 "insns.def"
5835
5694
  true;
5836
- #line 5837 "insns_info.inc"
5695
+ #line 5696 "insns_info.inc"
5837
5696
  }
5838
5697
 
5839
5698
  /* attr bool leaf @ invokeblock(cd)(...)(val) */
@@ -5876,9 +5735,9 @@ rb_snum_t
5876
5735
  attr_sp_inc_invokeblock(MAYBE_UNUSED(CALL_DATA cd))
5877
5736
  {
5878
5737
  return
5879
- #line 903 "insns.def"
5880
- sp_inc_of_invokeblock(&cd->ci);
5881
- #line 5882 "insns_info.inc"
5738
+ #line 891 "insns.def"
5739
+ sp_inc_of_invokeblock(cd->ci);
5740
+ #line 5741 "insns_info.inc"
5882
5741
  }
5883
5742
 
5884
5743
  /* attr rb_num_t width @ invokeblock(cd)(...)(val) */
@@ -5900,9 +5759,9 @@ bool
5900
5759
  attr_handles_sp_leave(void)
5901
5760
  {
5902
5761
  return
5903
- #line 929 "insns.def"
5762
+ #line 913 "insns.def"
5904
5763
  true;
5905
- #line 5906 "insns_info.inc"
5764
+ #line 5765 "insns_info.inc"
5906
5765
  }
5907
5766
 
5908
5767
  /* attr bool leaf @ leave()(val)(val) */
@@ -5910,9 +5769,9 @@ bool
5910
5769
  attr_leaf_leave(void)
5911
5770
  {
5912
5771
  return
5913
- #line 928 "insns.def"
5772
+ #line 912 "insns.def"
5914
5773
  false;
5915
- #line 5916 "insns_info.inc"
5774
+ #line 5775 "insns_info.inc"
5916
5775
  }
5917
5776
 
5918
5777
  /* attr const char* name @ leave()(val)(val) */
@@ -5976,9 +5835,9 @@ bool
5976
5835
  attr_leaf_throw(MAYBE_UNUSED(rb_num_t throw_state))
5977
5836
  {
5978
5837
  return
5979
- #line 964 "insns.def"
5838
+ #line 946 "insns.def"
5980
5839
  false;
5981
- #line 5982 "insns_info.inc"
5840
+ #line 5841 "insns_info.inc"
5982
5841
  }
5983
5842
 
5984
5843
  /* attr const char* name @ throw(throw_state)(throwobj)(val) */
@@ -6042,9 +5901,9 @@ bool
6042
5901
  attr_leaf_jump(MAYBE_UNUSED(OFFSET dst))
6043
5902
  {
6044
5903
  return
6045
- #line 983 "insns.def"
6046
- false;
6047
- #line 6048 "insns_info.inc"
5904
+ #line 964 "insns.def"
5905
+ leafness_of_check_ints;
5906
+ #line 5907 "insns_info.inc"
6048
5907
  }
6049
5908
 
6050
5909
  /* attr const char* name @ jump(dst)()() */
@@ -6108,9 +5967,9 @@ bool
6108
5967
  attr_leaf_branchif(MAYBE_UNUSED(OFFSET dst))
6109
5968
  {
6110
5969
  return
6111
- #line 996 "insns.def"
6112
- false;
6113
- #line 6114 "insns_info.inc"
5970
+ #line 977 "insns.def"
5971
+ leafness_of_check_ints;
5972
+ #line 5973 "insns_info.inc"
6114
5973
  }
6115
5974
 
6116
5975
  /* attr const char* name @ branchif(dst)(val)() */
@@ -6174,9 +6033,9 @@ bool
6174
6033
  attr_leaf_branchunless(MAYBE_UNUSED(OFFSET dst))
6175
6034
  {
6176
6035
  return
6177
- #line 1011 "insns.def"
6178
- false;
6179
- #line 6180 "insns_info.inc"
6036
+ #line 992 "insns.def"
6037
+ leafness_of_check_ints;
6038
+ #line 6039 "insns_info.inc"
6180
6039
  }
6181
6040
 
6182
6041
  /* attr const char* name @ branchunless(dst)(val)() */
@@ -6240,9 +6099,9 @@ bool
6240
6099
  attr_leaf_branchnil(MAYBE_UNUSED(OFFSET dst))
6241
6100
  {
6242
6101
  return
6243
- #line 1026 "insns.def"
6244
- false;
6245
- #line 6246 "insns_info.inc"
6102
+ #line 1007 "insns.def"
6103
+ leafness_of_check_ints;
6104
+ #line 6105 "insns_info.inc"
6246
6105
  }
6247
6106
 
6248
6107
  /* attr const char* name @ branchnil(dst)(val)() */
@@ -6608,9 +6467,9 @@ attr_sp_inc_opt_case_dispatch(
6608
6467
  )
6609
6468
  {
6610
6469
  return
6611
- #line 1080 "insns.def"
6470
+ #line 1061 "insns.def"
6612
6471
  -1;
6613
- #line 6614 "insns_info.inc"
6472
+ #line 6473 "insns_info.inc"
6614
6473
  }
6615
6474
 
6616
6475
  /* attr rb_num_t width @ opt_case_dispatch(hash, else_offset)(..., key)() */
@@ -6831,9 +6690,9 @@ bool
6831
6690
  attr_leaf_opt_div(MAYBE_UNUSED(CALL_DATA cd))
6832
6691
  {
6833
6692
  return
6834
- #line 1141 "insns.def"
6693
+ #line 1122 "insns.def"
6835
6694
  false;
6836
- #line 6837 "insns_info.inc"
6695
+ #line 6696 "insns_info.inc"
6837
6696
  }
6838
6697
 
6839
6698
  /* attr const char* name @ opt_div(cd)(recv, obj)(val) */
@@ -6897,9 +6756,9 @@ bool
6897
6756
  attr_leaf_opt_mod(MAYBE_UNUSED(CALL_DATA cd))
6898
6757
  {
6899
6758
  return
6900
- #line 1157 "insns.def"
6759
+ #line 1138 "insns.def"
6901
6760
  false;
6902
- #line 6903 "insns_info.inc"
6761
+ #line 6762 "insns_info.inc"
6903
6762
  }
6904
6763
 
6905
6764
  /* attr const char* name @ opt_mod(cd)(recv, obj)(val) */
@@ -7368,9 +7227,9 @@ bool
7368
7227
  attr_leaf_opt_ltlt(MAYBE_UNUSED(CALL_DATA cd))
7369
7228
  {
7370
7229
  return
7371
- #line 1259 "insns.def"
7230
+ #line 1240 "insns.def"
7372
7231
  false;
7373
- #line 7374 "insns_info.inc"
7232
+ #line 7233 "insns_info.inc"
7374
7233
  }
7375
7234
 
7376
7235
  /* attr const char* name @ opt_ltlt(cd)(recv, obj)(val) */
@@ -7560,9 +7419,9 @@ bool
7560
7419
  attr_leaf_opt_aref(MAYBE_UNUSED(CALL_DATA cd))
7561
7420
  {
7562
7421
  return
7563
- #line 1306 "insns.def"
7422
+ #line 1287 "insns.def"
7564
7423
  false;
7565
- #line 7566 "insns_info.inc"
7424
+ #line 7425 "insns_info.inc"
7566
7425
  }
7567
7426
 
7568
7427
  /* attr const char* name @ opt_aref(cd)(recv, obj)(val) */
@@ -7626,9 +7485,9 @@ bool
7626
7485
  attr_leaf_opt_aset(MAYBE_UNUSED(CALL_DATA cd))
7627
7486
  {
7628
7487
  return
7629
- #line 1323 "insns.def"
7488
+ #line 1304 "insns.def"
7630
7489
  false;
7631
- #line 7632 "insns_info.inc"
7490
+ #line 7491 "insns_info.inc"
7632
7491
  }
7633
7492
 
7634
7493
  /* attr const char* name @ opt_aset(cd)(recv, obj, set)(val) */
@@ -7701,9 +7560,9 @@ attr_leaf_opt_aset_with(
7701
7560
  )
7702
7561
  {
7703
7562
  return
7704
- #line 1339 "insns.def"
7563
+ #line 1320 "insns.def"
7705
7564
  false;
7706
- #line 7707 "insns_info.inc"
7565
+ #line 7566 "insns_info.inc"
7707
7566
  }
7708
7567
 
7709
7568
  /* attr const char* name @ opt_aset_with(key, cd)(recv, val)(val) */
@@ -7794,9 +7653,9 @@ attr_leaf_opt_aref_with(
7794
7653
  )
7795
7654
  {
7796
7655
  return
7797
- #line 1362 "insns.def"
7656
+ #line 1343 "insns.def"
7798
7657
  false;
7799
- #line 7800 "insns_info.inc"
7658
+ #line 7659 "insns_info.inc"
7800
7659
  }
7801
7660
 
7802
7661
  /* attr const char* name @ opt_aref_with(key, cd)(recv)(val) */
@@ -8193,9 +8052,9 @@ bool
8193
8052
  attr_leaf_opt_regexpmatch2(MAYBE_UNUSED(CALL_DATA cd))
8194
8053
  {
8195
8054
  return
8196
- #line 1450 "insns.def"
8055
+ #line 1431 "insns.def"
8197
8056
  false;
8198
- #line 8199 "insns_info.inc"
8057
+ #line 8058 "insns_info.inc"
8199
8058
  }
8200
8059
 
8201
8060
  /* attr const char* name @ opt_regexpmatch2(cd)(obj2, obj1)(val) */
@@ -8240,145 +8099,76 @@ attr_width_opt_regexpmatch2(MAYBE_UNUSED(CALL_DATA cd))
8240
8099
  return 2;
8241
8100
  }
8242
8101
 
8243
- /* attr enum ruby_vminsn_type bin @ opt_call_c_function(funcptr)()() */
8244
- enum ruby_vminsn_type
8245
- attr_bin_opt_call_c_function(MAYBE_UNUSED(rb_insn_func_t funcptr))
8246
- {
8247
- return BIN(opt_call_c_function);
8248
- }
8249
-
8250
- /* attr bool handles_sp @ opt_call_c_function(funcptr)()() */
8251
- bool
8252
- attr_handles_sp_opt_call_c_function(MAYBE_UNUSED(rb_insn_func_t funcptr))
8253
- {
8254
- return
8255
- #line 1466 "insns.def"
8256
- true;
8257
- #line 8258 "insns_info.inc"
8258
- }
8259
-
8260
- /* attr bool leaf @ opt_call_c_function(funcptr)()() */
8261
- bool
8262
- attr_leaf_opt_call_c_function(MAYBE_UNUSED(rb_insn_func_t funcptr))
8263
- {
8264
- return
8265
- #line 1465 "insns.def"
8266
- false;
8267
- #line 8268 "insns_info.inc"
8268
- }
8269
-
8270
- /* attr const char* name @ opt_call_c_function(funcptr)()() */
8271
- const char*
8272
- attr_name_opt_call_c_function(MAYBE_UNUSED(rb_insn_func_t funcptr))
8273
- {
8274
- return insn_name(BIN(opt_call_c_function));
8275
- }
8276
-
8277
- /* attr rb_num_t open @ opt_call_c_function(funcptr)()() */
8278
- rb_num_t
8279
- attr_open_opt_call_c_function(MAYBE_UNUSED(rb_insn_func_t funcptr))
8280
- {
8281
- return 1;
8282
- }
8283
-
8284
- /* attr rb_num_t popn @ opt_call_c_function(funcptr)()() */
8285
- rb_num_t
8286
- attr_popn_opt_call_c_function(MAYBE_UNUSED(rb_insn_func_t funcptr))
8287
- {
8288
- return 0;
8289
- }
8290
-
8291
- /* attr rb_num_t retn @ opt_call_c_function(funcptr)()() */
8292
- rb_num_t
8293
- attr_retn_opt_call_c_function(MAYBE_UNUSED(rb_insn_func_t funcptr))
8294
- {
8295
- return 0;
8296
- }
8297
-
8298
- /* attr rb_snum_t sp_inc @ opt_call_c_function(funcptr)()() */
8299
- rb_snum_t
8300
- attr_sp_inc_opt_call_c_function(MAYBE_UNUSED(rb_insn_func_t funcptr))
8301
- {
8302
- return 0;
8303
- }
8304
-
8305
- /* attr rb_num_t width @ opt_call_c_function(funcptr)()() */
8306
- rb_num_t
8307
- attr_width_opt_call_c_function(MAYBE_UNUSED(rb_insn_func_t funcptr))
8308
- {
8309
- return 2;
8310
- }
8311
-
8312
- /* attr enum ruby_vminsn_type bin @ invokebuiltin(bf)(...)(ret) */
8102
+ /* attr enum ruby_vminsn_type bin @ invokebuiltin(bf)(...)(val) */
8313
8103
  enum ruby_vminsn_type
8314
8104
  attr_bin_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
8315
8105
  {
8316
8106
  return BIN(invokebuiltin);
8317
8107
  }
8318
8108
 
8319
- /* attr bool handles_sp @ invokebuiltin(bf)(...)(ret) */
8109
+ /* attr bool handles_sp @ invokebuiltin(bf)(...)(val) */
8320
8110
  bool
8321
8111
  attr_handles_sp_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
8322
8112
  {
8323
8113
  return false;
8324
8114
  }
8325
8115
 
8326
- /* attr bool leaf @ invokebuiltin(bf)(...)(ret) */
8116
+ /* attr bool leaf @ invokebuiltin(bf)(...)(val) */
8327
8117
  bool
8328
8118
  attr_leaf_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
8329
8119
  {
8330
8120
  return
8331
- #line 1486 "insns.def"
8121
+ #line 1467 "insns.def"
8332
8122
  false;
8333
- #line 8334 "insns_info.inc"
8123
+ #line 8124 "insns_info.inc"
8334
8124
  }
8335
8125
 
8336
- /* attr const char* name @ invokebuiltin(bf)(...)(ret) */
8126
+ /* attr const char* name @ invokebuiltin(bf)(...)(val) */
8337
8127
  const char*
8338
8128
  attr_name_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
8339
8129
  {
8340
8130
  return insn_name(BIN(invokebuiltin));
8341
8131
  }
8342
8132
 
8343
- /* attr rb_num_t open @ invokebuiltin(bf)(...)(ret) */
8133
+ /* attr rb_num_t open @ invokebuiltin(bf)(...)(val) */
8344
8134
  rb_num_t
8345
8135
  attr_open_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
8346
8136
  {
8347
8137
  return 1;
8348
8138
  }
8349
8139
 
8350
- /* attr rb_num_t popn @ invokebuiltin(bf)(...)(ret) */
8140
+ /* attr rb_num_t popn @ invokebuiltin(bf)(...)(val) */
8351
8141
  rb_num_t
8352
8142
  attr_popn_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
8353
8143
  {
8354
8144
  return 0;
8355
8145
  }
8356
8146
 
8357
- /* attr rb_num_t retn @ invokebuiltin(bf)(...)(ret) */
8147
+ /* attr rb_num_t retn @ invokebuiltin(bf)(...)(val) */
8358
8148
  rb_num_t
8359
8149
  attr_retn_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
8360
8150
  {
8361
8151
  return 1;
8362
8152
  }
8363
8153
 
8364
- /* attr rb_snum_t sp_inc @ invokebuiltin(bf)(...)(ret) */
8154
+ /* attr rb_snum_t sp_inc @ invokebuiltin(bf)(...)(val) */
8365
8155
  rb_snum_t
8366
8156
  attr_sp_inc_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
8367
8157
  {
8368
8158
  return
8369
- #line 1487 "insns.def"
8159
+ #line 1468 "insns.def"
8370
8160
  1 - bf->argc;
8371
- #line 8372 "insns_info.inc"
8161
+ #line 8162 "insns_info.inc"
8372
8162
  }
8373
8163
 
8374
- /* attr rb_num_t width @ invokebuiltin(bf)(...)(ret) */
8164
+ /* attr rb_num_t width @ invokebuiltin(bf)(...)(val) */
8375
8165
  rb_num_t
8376
8166
  attr_width_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
8377
8167
  {
8378
8168
  return 2;
8379
8169
  }
8380
8170
 
8381
- /* attr enum ruby_vminsn_type bin @ opt_invokebuiltin_delegate(bf, index)()(ret) */
8171
+ /* attr enum ruby_vminsn_type bin @ opt_invokebuiltin_delegate(bf, index)()(val) */
8382
8172
  enum ruby_vminsn_type
8383
8173
  attr_bin_opt_invokebuiltin_delegate(
8384
8174
  MAYBE_UNUSED(RB_BUILTIN bf),
@@ -8388,7 +8178,7 @@ attr_bin_opt_invokebuiltin_delegate(
8388
8178
  return BIN(opt_invokebuiltin_delegate);
8389
8179
  }
8390
8180
 
8391
- /* attr bool handles_sp @ opt_invokebuiltin_delegate(bf, index)()(ret) */
8181
+ /* attr bool handles_sp @ opt_invokebuiltin_delegate(bf, index)()(val) */
8392
8182
  bool
8393
8183
  attr_handles_sp_opt_invokebuiltin_delegate(
8394
8184
  MAYBE_UNUSED(RB_BUILTIN bf),
@@ -8398,7 +8188,7 @@ attr_handles_sp_opt_invokebuiltin_delegate(
8398
8188
  return false;
8399
8189
  }
8400
8190
 
8401
- /* attr bool leaf @ opt_invokebuiltin_delegate(bf, index)()(ret) */
8191
+ /* attr bool leaf @ opt_invokebuiltin_delegate(bf, index)()(val) */
8402
8192
  bool
8403
8193
  attr_leaf_opt_invokebuiltin_delegate(
8404
8194
  MAYBE_UNUSED(RB_BUILTIN bf),
@@ -8406,12 +8196,12 @@ attr_leaf_opt_invokebuiltin_delegate(
8406
8196
  )
8407
8197
  {
8408
8198
  return
8409
- #line 1498 "insns.def"
8199
+ #line 1479 "insns.def"
8410
8200
  false;
8411
- #line 8412 "insns_info.inc"
8201
+ #line 8202 "insns_info.inc"
8412
8202
  }
8413
8203
 
8414
- /* attr const char* name @ opt_invokebuiltin_delegate(bf, index)()(ret) */
8204
+ /* attr const char* name @ opt_invokebuiltin_delegate(bf, index)()(val) */
8415
8205
  const char*
8416
8206
  attr_name_opt_invokebuiltin_delegate(
8417
8207
  MAYBE_UNUSED(RB_BUILTIN bf),
@@ -8421,7 +8211,7 @@ attr_name_opt_invokebuiltin_delegate(
8421
8211
  return insn_name(BIN(opt_invokebuiltin_delegate));
8422
8212
  }
8423
8213
 
8424
- /* attr rb_num_t open @ opt_invokebuiltin_delegate(bf, index)()(ret) */
8214
+ /* attr rb_num_t open @ opt_invokebuiltin_delegate(bf, index)()(val) */
8425
8215
  rb_num_t
8426
8216
  attr_open_opt_invokebuiltin_delegate(
8427
8217
  MAYBE_UNUSED(RB_BUILTIN bf),
@@ -8431,7 +8221,7 @@ attr_open_opt_invokebuiltin_delegate(
8431
8221
  return 2;
8432
8222
  }
8433
8223
 
8434
- /* attr rb_num_t popn @ opt_invokebuiltin_delegate(bf, index)()(ret) */
8224
+ /* attr rb_num_t popn @ opt_invokebuiltin_delegate(bf, index)()(val) */
8435
8225
  rb_num_t
8436
8226
  attr_popn_opt_invokebuiltin_delegate(
8437
8227
  MAYBE_UNUSED(RB_BUILTIN bf),
@@ -8441,7 +8231,7 @@ attr_popn_opt_invokebuiltin_delegate(
8441
8231
  return 0;
8442
8232
  }
8443
8233
 
8444
- /* attr rb_num_t retn @ opt_invokebuiltin_delegate(bf, index)()(ret) */
8234
+ /* attr rb_num_t retn @ opt_invokebuiltin_delegate(bf, index)()(val) */
8445
8235
  rb_num_t
8446
8236
  attr_retn_opt_invokebuiltin_delegate(
8447
8237
  MAYBE_UNUSED(RB_BUILTIN bf),
@@ -8451,7 +8241,7 @@ attr_retn_opt_invokebuiltin_delegate(
8451
8241
  return 1;
8452
8242
  }
8453
8243
 
8454
- /* attr rb_snum_t sp_inc @ opt_invokebuiltin_delegate(bf, index)()(ret) */
8244
+ /* attr rb_snum_t sp_inc @ opt_invokebuiltin_delegate(bf, index)()(val) */
8455
8245
  rb_snum_t
8456
8246
  attr_sp_inc_opt_invokebuiltin_delegate(
8457
8247
  MAYBE_UNUSED(RB_BUILTIN bf),
@@ -8461,7 +8251,7 @@ attr_sp_inc_opt_invokebuiltin_delegate(
8461
8251
  return 1;
8462
8252
  }
8463
8253
 
8464
- /* attr rb_num_t width @ opt_invokebuiltin_delegate(bf, index)()(ret) */
8254
+ /* attr rb_num_t width @ opt_invokebuiltin_delegate(bf, index)()(val) */
8465
8255
  rb_num_t
8466
8256
  attr_width_opt_invokebuiltin_delegate(
8467
8257
  MAYBE_UNUSED(RB_BUILTIN bf),
@@ -8499,9 +8289,9 @@ attr_leaf_opt_invokebuiltin_delegate_leave(
8499
8289
  )
8500
8290
  {
8501
8291
  return
8502
- #line 1509 "insns.def"
8292
+ #line 1490 "insns.def"
8503
8293
  false;
8504
- #line 8505 "insns_info.inc"
8294
+ #line 8295 "insns_info.inc"
8505
8295
  }
8506
8296
 
8507
8297
  /* attr const char* name @ opt_invokebuiltin_delegate_leave(bf, index)()(val) */
@@ -8951,17 +8741,17 @@ comptime_insn_stack_increase_dispatch(enum ruby_vminsn_type insn, const VALUE *o
8951
8741
  static const signed char t[] = {
8952
8742
  0, 1, -1, 1, -1, 1, 1, -1,
8953
8743
  1, -1, 1, -1, -1, -2, 1, -1,
8954
- 1, 1, 1, 1, 1, -127, -1, 0,
8955
- -127, 0, -127, -127, 1, 1, -127, -1,
8956
- 0, -127, -1, -1, 1, -127, 0, -127,
8957
- -127, -127, -127, 0, -1, 1, 0, -1,
8958
- 0, -1, -127, -127, 1, 0, 1, -127,
8959
- -127, -127, -127, 0, 0, 0, -1, -1,
8960
- -1, 1, 0, 1, -127, -1, -1, -1,
8744
+ 1, 1, 1, 1, 1, -127, -1, -127,
8745
+ 0, -127, -127, 1, 1, -127, -1, 0,
8746
+ -127, -1, -1, 1, -127, 0, -127, -127,
8747
+ -127, -127, 0, -1, 1, 0, -1, 0,
8748
+ -1, -127, -127, 1, 0, 1, -127, -127,
8749
+ -127, -127, 0, 0, 0, -1, -1, -1,
8750
+ 1, 0, 1, -127, -1, -1, -1, -1,
8961
8751
  -1, -1, -1, -1, -1, -1, -1, -1,
8962
- -1, -1, -1, -1, -2, -1, 0, 0,
8963
- 0, 0, 0, 0, -1, 0, -127, 1,
8964
- 1, 1, 1, -1, -1, 1, 1, 0,
8752
+ -1, -1, -1, -2, -1, 0, 0, 0,
8753
+ 0, 0, 0, -1, -127, 1, 1, 1,
8754
+ 1, -1, -1, 1, 1, 0, 0, 0,
8965
8755
  0, 0, 0, 0, 0, 0, 0, 0,
8966
8756
  0, 0, 0, 0, 0, 0, 0, 0,
8967
8757
  0, 0, 0, 0, 0, 0, 0, 0,
@@ -8974,7 +8764,7 @@ comptime_insn_stack_increase_dispatch(enum ruby_vminsn_type insn, const VALUE *o
8974
8764
  0, 0, 0, 0, 0, 0, 0, 0,
8975
8765
  0, 0, 0, 0, 0, 0, 0, 0,
8976
8766
  0, 0, 0, 0, 0, 0, 0, 0,
8977
- 0, 0, 0, 0, 0, 0,
8767
+ 0, 0,
8978
8768
  };
8979
8769
  signed char c = t[insn];
8980
8770
 
@@ -9081,7 +8871,6 @@ insn_may_depend_on_sp_or_pc(int insn, const VALUE *opes)
9081
8871
  case BIN(opt_aset_with):
9082
8872
  case BIN(opt_aref_with):
9083
8873
  case BIN(opt_regexpmatch2):
9084
- case BIN(opt_call_c_function):
9085
8874
  case BIN(invokebuiltin):
9086
8875
  case BIN(opt_invokebuiltin_delegate):
9087
8876
  case BIN(opt_invokebuiltin_delegate_leave):
@@ -9108,7 +8897,6 @@ insn_may_depend_on_sp_or_pc(int insn, const VALUE *opes)
9108
8897
  case BIN(trace_putstring):
9109
8898
  case BIN(trace_concatstrings):
9110
8899
  case BIN(trace_tostring):
9111
- case BIN(trace_freezestring):
9112
8900
  case BIN(trace_toregexp):
9113
8901
  case BIN(trace_intern):
9114
8902
  case BIN(trace_newarray):
@@ -9178,7 +8966,6 @@ insn_may_depend_on_sp_or_pc(int insn, const VALUE *opes)
9178
8966
  case BIN(trace_opt_succ):
9179
8967
  case BIN(trace_opt_not):
9180
8968
  case BIN(trace_opt_regexpmatch2):
9181
- case BIN(trace_opt_call_c_function):
9182
8969
  case BIN(trace_invokebuiltin):
9183
8970
  case BIN(trace_opt_invokebuiltin_delegate):
9184
8971
  case BIN(trace_opt_invokebuiltin_delegate_leave):