debase-ruby_core_source 4.0.0.preview2 → 4.0.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.
Files changed (150) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/id.h +3 -0
  4. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/insns.inc +2 -0
  5. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/insns_info.inc +234 -218
  6. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/basic_operators.h +1 -0
  7. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/bignum.h +21 -10
  8. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/bits.h +14 -17
  9. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/box.h +3 -1
  10. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/class.h +3 -2
  11. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/cont.h +0 -1
  12. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/eval.h +2 -0
  13. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/gc.h +7 -5
  14. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/numeric.h +48 -0
  15. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/thread.h +2 -2
  16. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/time.h +2 -5
  17. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/vm.h +2 -0
  18. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/iseq.h +3 -1
  19. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/method.h +7 -2
  20. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/parse.h +5 -3
  21. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/parser_bits.h +108 -25
  22. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/ast.h +38 -17
  23. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/extension.h +1 -1
  24. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/options.h +4 -1
  25. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/prism.h +1 -1
  26. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/version.h +2 -2
  27. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ractor_core.h +25 -0
  28. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/regint.h +1 -16
  29. data/lib/debase/ruby_core_source/ruby-4.0.0-p0/revision.h +5 -0
  30. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ruby_atomic.h +7 -0
  31. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/rubyparser.h +0 -1
  32. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/shape.h +30 -10
  33. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/thread_pthread.h +3 -1
  34. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/version.h +2 -2
  35. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm.inc +115 -91
  36. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_callinfo.h +19 -6
  37. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_core.h +68 -12
  38. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_exec.h +1 -1
  39. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_sync.h +4 -0
  40. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vmtc.inc +2 -0
  41. data/lib/debase/ruby_core_source/version.rb +1 -1
  42. metadata +147 -147
  43. data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/revision.h +0 -5
  44. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/addr2line.h +0 -0
  45. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/builtin.h +0 -0
  46. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ccan/build_assert/build_assert.h +0 -0
  47. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ccan/check_type/check_type.h +0 -0
  48. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ccan/container_of/container_of.h +0 -0
  49. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ccan/list/list.h +0 -0
  50. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ccan/str/str.h +0 -0
  51. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/constant.h +0 -0
  52. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/darray.h +0 -0
  53. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/debug_counter.h +0 -0
  54. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/dln.h +0 -0
  55. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/encindex.h +0 -0
  56. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/eval_intern.h +0 -0
  57. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/hrtime.h +0 -0
  58. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/id_table.h +0 -0
  59. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/array.h +0 -0
  60. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/cmdlineopt.h +0 -0
  61. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/compar.h +0 -0
  62. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/compile.h +0 -0
  63. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/compilers.h +0 -0
  64. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/complex.h +0 -0
  65. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/concurrent_set.h +0 -0
  66. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/dir.h +0 -0
  67. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/enc.h +0 -0
  68. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/encoding.h +0 -0
  69. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/enum.h +0 -0
  70. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/enumerator.h +0 -0
  71. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/error.h +0 -0
  72. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/file.h +0 -0
  73. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/fixnum.h +0 -0
  74. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/hash.h +0 -0
  75. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/imemo.h +0 -0
  76. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/inits.h +0 -0
  77. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/io.h +0 -0
  78. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/load.h +0 -0
  79. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/loadpath.h +0 -0
  80. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/math.h +0 -0
  81. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/missing.h +0 -0
  82. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/object.h +0 -0
  83. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/parse.h +0 -0
  84. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/proc.h +0 -0
  85. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/process.h +0 -0
  86. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/ractor.h +0 -0
  87. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/random.h +0 -0
  88. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/range.h +0 -0
  89. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/rational.h +0 -0
  90. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/re.h +0 -0
  91. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/ruby_parser.h +0 -0
  92. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/sanitizers.h +0 -0
  93. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/serial.h +0 -0
  94. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/set_table.h +0 -0
  95. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/signal.h +0 -0
  96. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/st.h +0 -0
  97. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/static_assert.h +0 -0
  98. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/string.h +0 -0
  99. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/struct.h +0 -0
  100. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/symbol.h +0 -0
  101. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/transcode.h +0 -0
  102. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/util.h +0 -0
  103. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/variable.h +0 -0
  104. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/warnings.h +0 -0
  105. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal.h +0 -0
  106. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/known_errors.inc +0 -0
  107. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/node.h +0 -0
  108. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/node_name.inc +0 -0
  109. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/optinsn.inc +0 -0
  110. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/optunifs.inc +0 -0
  111. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/parser_node.h +0 -0
  112. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/parser_st.h +0 -0
  113. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/parser_value.h +0 -0
  114. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/defines.h +0 -0
  115. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/diagnostic.h +0 -0
  116. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/encoding.h +0 -0
  117. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/node.h +0 -0
  118. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/pack.h +0 -0
  119. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/parser.h +0 -0
  120. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/prettyprint.h +0 -0
  121. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/regexp.h +0 -0
  122. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/static_literals.h +0 -0
  123. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_buffer.h +0 -0
  124. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_char.h +0 -0
  125. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_constant_pool.h +0 -0
  126. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_integer.h +0 -0
  127. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_list.h +0 -0
  128. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_memchr.h +0 -0
  129. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_newline_list.h +0 -0
  130. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_string.h +0 -0
  131. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_strncasecmp.h +0 -0
  132. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_strpbrk.h +0 -0
  133. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism_compile.h +0 -0
  134. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/probes_helper.h +0 -0
  135. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/regenc.h +0 -0
  136. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/regparse.h +0 -0
  137. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ruby_assert.h +0 -0
  138. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/siphash.h +0 -0
  139. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/symbol.h +0 -0
  140. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/thread_none.h +0 -0
  141. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/thread_win32.h +0 -0
  142. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/timev.h +0 -0
  143. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/transcode_data.h +0 -0
  144. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/variable.h +0 -0
  145. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_call_iseq_optimized.inc +0 -0
  146. data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_debug.h +4 -4
  147. /data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_insnhelper.h +0 -0
  148. /data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_opts.h +0 -0
  149. /data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/yjit.h +0 -0
  150. /data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/zjit.h +0 -0
@@ -307,6 +307,8 @@ const char rb_vm_insn_name_base[] =
307
307
  "trace_putobject_INT2FIX_1_" "\0"
308
308
  #if USE_ZJIT
309
309
  "zjit_getinstancevariable" "\0"
310
+ "zjit_setinstancevariable" "\0"
311
+ "zjit_definedivar" "\0"
310
312
  "zjit_send" "\0"
311
313
  "zjit_opt_send_without_block" "\0"
312
314
  "zjit_objtostring" "\0"
@@ -358,9 +360,9 @@ const unsigned short rb_vm_insn_name_offset[] = {
358
360
  2875, 2890, 2908, 2923, 2937, 2960, 2980, 3013, 3052, 3072, 3092, 3112,
359
361
  3132, 3159,
360
362
  #if USE_ZJIT
361
- 3186, 3211, 3221, 3249, 3266, 3281, 3298, 3312, 3327, 3341, 3354, 3367,
362
- 3379, 3392, 3404, 3416, 3428, 3440, 3454, 3467, 3479, 3493, 3507, 3523,
363
- 3537, 3554, 3568, 3581,
363
+ 3186, 3211, 3236, 3253, 3263, 3291, 3308, 3323, 3340, 3354, 3369, 3383,
364
+ 3396, 3409, 3421, 3434, 3446, 3458, 3470, 3482, 3496, 3509, 3521, 3535,
365
+ 3549, 3565, 3579, 3596, 3610, 3623,
364
366
  #endif
365
367
  };
366
368
 
@@ -392,8 +394,8 @@ const uint8_t rb_vm_insn_len_info[] = {
392
394
  2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
393
395
  2, 2, 2, 3, 3, 2, 2, 2, 2, 1, 1,
394
396
  #if USE_ZJIT
395
- 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
396
- 2, 2, 2, 2, 2,
397
+ 3, 3, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2,
398
+ 2, 2, 2, 2, 2, 2, 2,
397
399
  #endif
398
400
  };
399
401
 
@@ -461,12 +463,12 @@ const char rb_vm_insn_op_base[] =
461
463
  "RN" "\0" "RN" "\0" "L" "\0" "L" "\0" "L" "\0"
462
464
  "L" "\0" "" "\0" "" "\0"
463
465
  #if USE_ZJIT
464
- "IA" "\0" "CS" "\0" "C" "\0" "C" "\0" "C" "\0"
466
+ "IA" "\0" "IA" "\0" "IAV" "\0" "CS" "\0" "C" "\0"
467
+ "C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
468
+ "C" "\0" "C" "\0" "C" "\0" "C" "\0" "CC" "\0"
465
469
  "C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
466
- "C" "\0" "C" "\0" "CC" "\0" "C" "\0" "C" "\0"
467
470
  "C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
468
471
  "C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
469
- "C" "\0" "C" "\0" "C" "\0"
470
472
  #endif
471
473
  ;
472
474
 
@@ -491,9 +493,9 @@ const unsigned short rb_vm_insn_op_offset[] = {
491
493
  454, 456, 458, 460, 462, 464, 466, 469, 472, 474, 476, 478,
492
494
  480, 481,
493
495
  #if USE_ZJIT
494
- 482, 485, 488, 490, 492, 494, 496, 498, 500, 502, 504, 506,
495
- 508, 511, 513, 515, 517, 519, 521, 523, 525, 527, 529, 531,
496
- 533, 535, 537, 539,
496
+ 482, 485, 488, 492, 495, 497, 499, 501, 503, 505, 507, 509,
497
+ 511, 513, 515, 518, 520, 522, 524, 526, 528, 530, 532, 534,
498
+ 536, 538, 540, 542, 544, 546,
497
499
  #endif
498
500
  };
499
501
 
@@ -558,7 +560,7 @@ leafness_of_checkmatch(rb_num_t flag)
558
560
  return false;
559
561
  }
560
562
  }
561
- #line 562 "insns_info.inc"
563
+ #line 564 "insns_info.inc"
562
564
 
563
565
  #line 10 "tool/ruby_vm/views/_sp_inc_helpers.erb"
564
566
 
@@ -588,7 +590,7 @@ sp_inc_of_invokeblock(const struct rb_callinfo *ci)
588
590
  * instructions, except that it does not pop receiver. */
589
591
  return sp_inc_of_sendish(ci) + 1;
590
592
  }
591
- #line 592 "insns_info.inc"
593
+ #line 594 "insns_info.inc"
592
594
 
593
595
  #if USE_ZJIT
594
596
 
@@ -599,6 +601,10 @@ vm_bare_insn_to_zjit_insn(int insn)
599
601
  switch (insn) {
600
602
  case BIN(getinstancevariable):
601
603
  return BIN(zjit_getinstancevariable);
604
+ case BIN(setinstancevariable):
605
+ return BIN(zjit_setinstancevariable);
606
+ case BIN(definedivar):
607
+ return BIN(zjit_definedivar);
602
608
  case BIN(send):
603
609
  return BIN(zjit_send);
604
610
  case BIN(opt_send_without_block):
@@ -665,6 +671,10 @@ vm_zjit_insn_to_bare_insn(int insn)
665
671
  switch (insn) {
666
672
  case BIN(zjit_getinstancevariable):
667
673
  return BIN(getinstancevariable);
674
+ case BIN(zjit_setinstancevariable):
675
+ return BIN(setinstancevariable);
676
+ case BIN(zjit_definedivar):
677
+ return BIN(definedivar);
668
678
  case BIN(zjit_send):
669
679
  return BIN(send);
670
680
  case BIN(zjit_opt_send_without_block):
@@ -2433,7 +2443,7 @@ attr_leaf_getspecial(
2433
2443
  return
2434
2444
  #line 192 "insns.def"
2435
2445
  (type == 0) ? true : false;
2436
- #line 2437 "insns_info.inc"
2446
+ #line 2447 "insns_info.inc"
2437
2447
  }
2438
2448
 
2439
2449
  /* attr const char* name @ getspecial(key, type)()(val) */
@@ -2606,7 +2616,7 @@ attr_leaf_getinstancevariable(
2606
2616
  return
2607
2617
  #line 214 "insns.def"
2608
2618
  false;
2609
- #line 2610 "insns_info.inc"
2619
+ #line 2620 "insns_info.inc"
2610
2620
  }
2611
2621
 
2612
2622
  /* attr const char* name @ getinstancevariable(id, ic)()(val) */
@@ -2679,7 +2689,7 @@ attr_zjit_profile_getinstancevariable(
2679
2689
  return
2680
2690
  #line 215 "insns.def"
2681
2691
  true;
2682
- #line 2683 "insns_info.inc"
2692
+ #line 2693 "insns_info.inc"
2683
2693
  }
2684
2694
 
2685
2695
  /* attr enum ruby_vminsn_type bin @ setinstancevariable(id, ic)(val)() */
@@ -2712,7 +2722,7 @@ attr_leaf_setinstancevariable(
2712
2722
  return
2713
2723
  #line 226 "insns.def"
2714
2724
  false;
2715
- #line 2716 "insns_info.inc"
2725
+ #line 2726 "insns_info.inc"
2716
2726
  }
2717
2727
 
2718
2728
  /* attr const char* name @ setinstancevariable(id, ic)(val)() */
@@ -2782,7 +2792,10 @@ attr_zjit_profile_setinstancevariable(
2782
2792
  MAYBE_UNUSED(IVC ic)
2783
2793
  )
2784
2794
  {
2785
- return false;
2795
+ return
2796
+ #line 227 "insns.def"
2797
+ true;
2798
+ #line 2799 "insns_info.inc"
2786
2799
  }
2787
2800
 
2788
2801
  /* attr enum ruby_vminsn_type bin @ getclassvariable(id, ic)()(val) */
@@ -2813,9 +2826,9 @@ attr_leaf_getclassvariable(
2813
2826
  )
2814
2827
  {
2815
2828
  return
2816
- #line 238 "insns.def"
2829
+ #line 239 "insns.def"
2817
2830
  false;
2818
- #line 2819 "insns_info.inc"
2831
+ #line 2832 "insns_info.inc"
2819
2832
  }
2820
2833
 
2821
2834
  /* attr const char* name @ getclassvariable(id, ic)()(val) */
@@ -2916,9 +2929,9 @@ attr_leaf_setclassvariable(
2916
2929
  )
2917
2930
  {
2918
2931
  return
2919
- #line 251 "insns.def"
2932
+ #line 252 "insns.def"
2920
2933
  false;
2921
- #line 2922 "insns_info.inc"
2934
+ #line 2935 "insns_info.inc"
2922
2935
  }
2923
2936
 
2924
2937
  /* attr const char* name @ setclassvariable(id, ic)(val)() */
@@ -3010,9 +3023,9 @@ bool
3010
3023
  attr_leaf_opt_getconstant_path(MAYBE_UNUSED(IC ic))
3011
3024
  {
3012
3025
  return
3013
- #line 262 "insns.def"
3026
+ #line 263 "insns.def"
3014
3027
  false;
3015
- #line 3016 "insns_info.inc"
3028
+ #line 3029 "insns_info.inc"
3016
3029
  }
3017
3030
 
3018
3031
  /* attr const char* name @ opt_getconstant_path(ic)()(val) */
@@ -3083,9 +3096,9 @@ bool
3083
3096
  attr_leaf_getconstant(MAYBE_UNUSED(ID id))
3084
3097
  {
3085
3098
  return
3086
- #line 277 "insns.def"
3099
+ #line 278 "insns.def"
3087
3100
  false;
3088
- #line 3089 "insns_info.inc"
3101
+ #line 3102 "insns_info.inc"
3089
3102
  }
3090
3103
 
3091
3104
  /* attr const char* name @ getconstant(id)(klass, allow_nil)(val) */
@@ -3156,9 +3169,9 @@ bool
3156
3169
  attr_leaf_setconstant(MAYBE_UNUSED(ID id))
3157
3170
  {
3158
3171
  return
3159
- #line 293 "insns.def"
3172
+ #line 294 "insns.def"
3160
3173
  false;
3161
- #line 3162 "insns_info.inc"
3174
+ #line 3175 "insns_info.inc"
3162
3175
  }
3163
3176
 
3164
3177
  /* attr const char* name @ setconstant(id)(val, cbase)() */
@@ -3229,9 +3242,9 @@ bool
3229
3242
  attr_leaf_getglobal(MAYBE_UNUSED(ID gid))
3230
3243
  {
3231
3244
  return
3232
- #line 306 "insns.def"
3245
+ #line 307 "insns.def"
3233
3246
  false;
3234
- #line 3235 "insns_info.inc"
3247
+ #line 3248 "insns_info.inc"
3235
3248
  }
3236
3249
 
3237
3250
  /* attr const char* name @ getglobal(gid)()(val) */
@@ -3302,9 +3315,9 @@ bool
3302
3315
  attr_leaf_setglobal(MAYBE_UNUSED(ID gid))
3303
3316
  {
3304
3317
  return
3305
- #line 317 "insns.def"
3318
+ #line 318 "insns.def"
3306
3319
  false;
3307
- #line 3308 "insns_info.inc"
3320
+ #line 3321 "insns_info.inc"
3308
3321
  }
3309
3322
 
3310
3323
  /* attr const char* name @ setglobal(gid)(val)() */
@@ -3585,9 +3598,9 @@ bool
3585
3598
  attr_leaf_putspecialobject(MAYBE_UNUSED(rb_num_t value_type))
3586
3599
  {
3587
3600
  return
3588
- #line 364 "insns.def"
3601
+ #line 365 "insns.def"
3589
3602
  (value_type == VM_SPECIAL_OBJECT_VMCORE);
3590
- #line 3591 "insns_info.inc"
3603
+ #line 3604 "insns_info.inc"
3591
3604
  }
3592
3605
 
3593
3606
  /* attr const char* name @ putspecialobject(value_type)()(val) */
@@ -3798,9 +3811,9 @@ bool
3798
3811
  attr_leaf_concatstrings(MAYBE_UNUSED(rb_num_t num))
3799
3812
  {
3800
3813
  return
3801
- #line 400 "insns.def"
3814
+ #line 401 "insns.def"
3802
3815
  false;
3803
- #line 3804 "insns_info.inc"
3816
+ #line 3817 "insns_info.inc"
3804
3817
  }
3805
3818
 
3806
3819
  /* attr const char* name @ concatstrings(num)(...)(val) */
@@ -3836,9 +3849,9 @@ rb_snum_t
3836
3849
  attr_sp_inc_concatstrings(MAYBE_UNUSED(rb_num_t num))
3837
3850
  {
3838
3851
  return
3839
- #line 401 "insns.def"
3852
+ #line 402 "insns.def"
3840
3853
  1 - (rb_snum_t)num;
3841
- #line 3842 "insns_info.inc"
3854
+ #line 3855 "insns_info.inc"
3842
3855
  }
3843
3856
 
3844
3857
  /* attr rb_num_t width @ concatstrings(num)(...)(val) */
@@ -3953,9 +3966,9 @@ attr_leaf_toregexp(
3953
3966
  )
3954
3967
  {
3955
3968
  return
3956
- #line 427 "insns.def"
3969
+ #line 428 "insns.def"
3957
3970
  false;
3958
- #line 3959 "insns_info.inc"
3971
+ #line 3972 "insns_info.inc"
3959
3972
  }
3960
3973
 
3961
3974
  /* attr const char* name @ toregexp(opt, cnt)(...)(val) */
@@ -4006,9 +4019,9 @@ attr_sp_inc_toregexp(
4006
4019
  )
4007
4020
  {
4008
4021
  return
4009
- #line 428 "insns.def"
4022
+ #line 429 "insns.def"
4010
4023
  1 - (rb_snum_t)cnt;
4011
- #line 4012 "insns_info.inc"
4024
+ #line 4025 "insns_info.inc"
4012
4025
  }
4013
4026
 
4014
4027
  /* attr rb_num_t width @ toregexp(opt, cnt)(...)(val) */
@@ -4155,9 +4168,9 @@ rb_snum_t
4155
4168
  attr_sp_inc_newarray(MAYBE_UNUSED(rb_num_t num))
4156
4169
  {
4157
4170
  return
4158
- #line 451 "insns.def"
4171
+ #line 452 "insns.def"
4159
4172
  1 - (rb_snum_t)num;
4160
- #line 4161 "insns_info.inc"
4173
+ #line 4174 "insns_info.inc"
4161
4174
  }
4162
4175
 
4163
4176
  /* attr rb_num_t width @ newarray(num)(...)(val) */
@@ -4402,9 +4415,9 @@ attr_handles_sp_expandarray(
4402
4415
  )
4403
4416
  {
4404
4417
  return
4405
- #line 506 "insns.def"
4418
+ #line 507 "insns.def"
4406
4419
  true;
4407
- #line 4408 "insns_info.inc"
4420
+ #line 4421 "insns_info.inc"
4408
4421
  }
4409
4422
 
4410
4423
  /* attr bool leaf @ expandarray(num, flag)(..., ary)(...) */
@@ -4415,9 +4428,9 @@ attr_leaf_expandarray(
4415
4428
  )
4416
4429
  {
4417
4430
  return
4418
- #line 507 "insns.def"
4431
+ #line 508 "insns.def"
4419
4432
  false;
4420
- #line 4421 "insns_info.inc"
4433
+ #line 4434 "insns_info.inc"
4421
4434
  }
4422
4435
 
4423
4436
  /* attr const char* name @ expandarray(num, flag)(..., ary)(...) */
@@ -4468,9 +4481,9 @@ attr_sp_inc_expandarray(
4468
4481
  )
4469
4482
  {
4470
4483
  return
4471
- #line 508 "insns.def"
4484
+ #line 509 "insns.def"
4472
4485
  (rb_snum_t)num - 1 + (flag & 1 ? 1 : 0);
4473
- #line 4474 "insns_info.inc"
4486
+ #line 4487 "insns_info.inc"
4474
4487
  }
4475
4488
 
4476
4489
  /* attr rb_num_t width @ expandarray(num, flag)(..., ary)(...) */
@@ -4512,9 +4525,9 @@ bool
4512
4525
  attr_leaf_concatarray(void)
4513
4526
  {
4514
4527
  return
4515
- #line 521 "insns.def"
4528
+ #line 522 "insns.def"
4516
4529
  false;
4517
- #line 4518 "insns_info.inc"
4530
+ #line 4531 "insns_info.inc"
4518
4531
  }
4519
4532
 
4520
4533
  /* attr const char* name @ concatarray()(ary1, ary2)(ary) */
@@ -4585,9 +4598,9 @@ bool
4585
4598
  attr_leaf_concattoarray(void)
4586
4599
  {
4587
4600
  return
4588
- #line 535 "insns.def"
4601
+ #line 536 "insns.def"
4589
4602
  false;
4590
- #line 4591 "insns_info.inc"
4603
+ #line 4604 "insns_info.inc"
4591
4604
  }
4592
4605
 
4593
4606
  /* attr const char* name @ concattoarray()(ary1, ary2)(ary) */
@@ -4693,9 +4706,9 @@ rb_snum_t
4693
4706
  attr_sp_inc_pushtoarray(MAYBE_UNUSED(rb_num_t num))
4694
4707
  {
4695
4708
  return
4696
- #line 546 "insns.def"
4709
+ #line 547 "insns.def"
4697
4710
  -(rb_snum_t)num;
4698
- #line 4699 "insns_info.inc"
4711
+ #line 4712 "insns_info.inc"
4699
4712
  }
4700
4713
 
4701
4714
  /* attr rb_num_t width @ pushtoarray(num)(...)(val) */
@@ -4731,9 +4744,9 @@ bool
4731
4744
  attr_leaf_splatarray(MAYBE_UNUSED(VALUE flag))
4732
4745
  {
4733
4746
  return
4734
- #line 558 "insns.def"
4747
+ #line 559 "insns.def"
4735
4748
  false;
4736
- #line 4737 "insns_info.inc"
4749
+ #line 4750 "insns_info.inc"
4737
4750
  }
4738
4751
 
4739
4752
  /* attr const char* name @ splatarray(flag)(ary)(obj) */
@@ -4804,9 +4817,9 @@ bool
4804
4817
  attr_leaf_splatkw(void)
4805
4818
  {
4806
4819
  return
4807
- #line 569 "insns.def"
4820
+ #line 570 "insns.def"
4808
4821
  false;
4809
- #line 4810 "insns_info.inc"
4822
+ #line 4823 "insns_info.inc"
4810
4823
  }
4811
4824
 
4812
4825
  /* attr const char* name @ splatkw()(hash, block)(obj, block) */
@@ -4877,9 +4890,9 @@ bool
4877
4890
  attr_leaf_newhash(MAYBE_UNUSED(rb_num_t num))
4878
4891
  {
4879
4892
  return
4880
- #line 585 "insns.def"
4893
+ #line 586 "insns.def"
4881
4894
  false;
4882
- #line 4883 "insns_info.inc"
4895
+ #line 4896 "insns_info.inc"
4883
4896
  }
4884
4897
 
4885
4898
  /* attr const char* name @ newhash(num)(...)(val) */
@@ -4915,9 +4928,9 @@ rb_snum_t
4915
4928
  attr_sp_inc_newhash(MAYBE_UNUSED(rb_num_t num))
4916
4929
  {
4917
4930
  return
4918
- #line 586 "insns.def"
4931
+ #line 587 "insns.def"
4919
4932
  1 - (rb_snum_t)num;
4920
- #line 4921 "insns_info.inc"
4933
+ #line 4934 "insns_info.inc"
4921
4934
  }
4922
4935
 
4923
4936
  /* attr rb_num_t width @ newhash(num)(...)(val) */
@@ -4953,9 +4966,9 @@ bool
4953
4966
  attr_leaf_newrange(MAYBE_UNUSED(rb_num_t flag))
4954
4967
  {
4955
4968
  return
4956
- #line 606 "insns.def"
4969
+ #line 607 "insns.def"
4957
4970
  false;
4958
- #line 4959 "insns_info.inc"
4971
+ #line 4972 "insns_info.inc"
4959
4972
  }
4960
4973
 
4961
4974
  /* attr const char* name @ newrange(flag)(low, high)(val) */
@@ -5201,9 +5214,9 @@ rb_snum_t
5201
5214
  attr_sp_inc_dupn(MAYBE_UNUSED(rb_num_t n))
5202
5215
  {
5203
5216
  return
5204
- #line 642 "insns.def"
5217
+ #line 643 "insns.def"
5205
5218
  n;
5206
- #line 5207 "insns_info.inc"
5219
+ #line 5220 "insns_info.inc"
5207
5220
  }
5208
5221
 
5209
5222
  /* attr rb_num_t width @ dupn(n)(...)(...) */
@@ -5344,9 +5357,9 @@ rb_snum_t
5344
5357
  attr_sp_inc_opt_reverse(MAYBE_UNUSED(rb_num_t n))
5345
5358
  {
5346
5359
  return
5347
- #line 666 "insns.def"
5360
+ #line 667 "insns.def"
5348
5361
  0;
5349
- #line 5350 "insns_info.inc"
5362
+ #line 5363 "insns_info.inc"
5350
5363
  }
5351
5364
 
5352
5365
  /* attr rb_num_t width @ opt_reverse(n)(...)(...) */
@@ -5417,9 +5430,9 @@ rb_snum_t
5417
5430
  attr_sp_inc_topn(MAYBE_UNUSED(rb_num_t n))
5418
5431
  {
5419
5432
  return
5420
- #line 696 "insns.def"
5433
+ #line 697 "insns.def"
5421
5434
  1;
5422
- #line 5423 "insns_info.inc"
5435
+ #line 5436 "insns_info.inc"
5423
5436
  }
5424
5437
 
5425
5438
  /* attr rb_num_t width @ topn(n)(...)(val) */
@@ -5490,9 +5503,9 @@ rb_snum_t
5490
5503
  attr_sp_inc_setn(MAYBE_UNUSED(rb_num_t n))
5491
5504
  {
5492
5505
  return
5493
- #line 707 "insns.def"
5506
+ #line 708 "insns.def"
5494
5507
  0;
5495
- #line 5496 "insns_info.inc"
5508
+ #line 5509 "insns_info.inc"
5496
5509
  }
5497
5510
 
5498
5511
  /* attr rb_num_t width @ setn(n)(..., val)(val) */
@@ -5563,9 +5576,9 @@ rb_snum_t
5563
5576
  attr_sp_inc_adjuststack(MAYBE_UNUSED(rb_num_t n))
5564
5577
  {
5565
5578
  return
5566
- #line 718 "insns.def"
5579
+ #line 719 "insns.def"
5567
5580
  -(rb_snum_t)n;
5568
- #line 5569 "insns_info.inc"
5581
+ #line 5582 "insns_info.inc"
5569
5582
  }
5570
5583
 
5571
5584
  /* attr rb_num_t width @ adjuststack(n)(...)(...) */
@@ -5613,9 +5626,9 @@ attr_leaf_defined(
5613
5626
  )
5614
5627
  {
5615
5628
  return
5616
- #line 733 "insns.def"
5629
+ #line 734 "insns.def"
5617
5630
  leafness_of_defined(op_type);
5618
- #line 5619 "insns_info.inc"
5631
+ #line 5632 "insns_info.inc"
5619
5632
  }
5620
5633
 
5621
5634
  /* attr const char* name @ defined(op_type, obj, pushval)(v)(val) */
@@ -5726,9 +5739,9 @@ attr_leaf_definedivar(
5726
5739
  )
5727
5740
  {
5728
5741
  return
5729
- #line 747 "insns.def"
5742
+ #line 748 "insns.def"
5730
5743
  false;
5731
- #line 5732 "insns_info.inc"
5744
+ #line 5745 "insns_info.inc"
5732
5745
  }
5733
5746
 
5734
5747
  /* attr const char* name @ definedivar(id, ic, pushval)()(val) */
@@ -5805,7 +5818,10 @@ attr_zjit_profile_definedivar(
5805
5818
  MAYBE_UNUSED(VALUE pushval)
5806
5819
  )
5807
5820
  {
5808
- return false;
5821
+ return
5822
+ #line 749 "insns.def"
5823
+ true;
5824
+ #line 5825 "insns_info.inc"
5809
5825
  }
5810
5826
 
5811
5827
  /* attr enum ruby_vminsn_type bin @ checkmatch(flag)(target, pattern)(result) */
@@ -5827,9 +5843,9 @@ bool
5827
5843
  attr_leaf_checkmatch(MAYBE_UNUSED(rb_num_t flag))
5828
5844
  {
5829
5845
  return
5830
- #line 767 "insns.def"
5846
+ #line 769 "insns.def"
5831
5847
  leafness_of_checkmatch(flag);
5832
- #line 5833 "insns_info.inc"
5848
+ #line 5849 "insns_info.inc"
5833
5849
  }
5834
5850
 
5835
5851
  /* attr const char* name @ checkmatch(flag)(target, pattern)(result) */
@@ -6379,9 +6395,9 @@ attr_comptime_sp_inc_send(
6379
6395
  )
6380
6396
  {
6381
6397
  return
6382
- #line 851 "insns.def"
6398
+ #line 853 "insns.def"
6383
6399
  sp_inc_of_sendish(ci);
6384
- #line 6385 "insns_info.inc"
6400
+ #line 6401 "insns_info.inc"
6385
6401
  }
6386
6402
 
6387
6403
  /* attr bool handles_sp @ send(cd, blockiseq)(...)(val) */
@@ -6452,9 +6468,9 @@ attr_sp_inc_send(
6452
6468
  )
6453
6469
  {
6454
6470
  return
6455
- #line 850 "insns.def"
6471
+ #line 852 "insns.def"
6456
6472
  sp_inc_of_sendish(cd->ci);
6457
- #line 6458 "insns_info.inc"
6473
+ #line 6474 "insns_info.inc"
6458
6474
  }
6459
6475
 
6460
6476
  /* attr rb_num_t width @ send(cd, blockiseq)(...)(val) */
@@ -6475,9 +6491,9 @@ attr_zjit_profile_send(
6475
6491
  )
6476
6492
  {
6477
6493
  return
6478
- #line 849 "insns.def"
6494
+ #line 851 "insns.def"
6479
6495
  true;
6480
- #line 6481 "insns_info.inc"
6496
+ #line 6497 "insns_info.inc"
6481
6497
  }
6482
6498
 
6483
6499
  /* attr enum ruby_vminsn_type bin @ sendforward(cd, blockiseq)(...)(val) */
@@ -6498,9 +6514,9 @@ attr_comptime_sp_inc_sendforward(
6498
6514
  )
6499
6515
  {
6500
6516
  return
6501
- #line 870 "insns.def"
6517
+ #line 872 "insns.def"
6502
6518
  sp_inc_of_sendish(ci);
6503
- #line 6504 "insns_info.inc"
6519
+ #line 6520 "insns_info.inc"
6504
6520
  }
6505
6521
 
6506
6522
  /* attr bool handles_sp @ sendforward(cd, blockiseq)(...)(val) */
@@ -6571,9 +6587,9 @@ attr_sp_inc_sendforward(
6571
6587
  )
6572
6588
  {
6573
6589
  return
6574
- #line 869 "insns.def"
6590
+ #line 871 "insns.def"
6575
6591
  sp_inc_of_sendish(cd->ci);
6576
- #line 6577 "insns_info.inc"
6592
+ #line 6593 "insns_info.inc"
6577
6593
  }
6578
6594
 
6579
6595
  /* attr rb_num_t width @ sendforward(cd, blockiseq)(...)(val) */
@@ -6608,9 +6624,9 @@ rb_snum_t
6608
6624
  attr_comptime_sp_inc_opt_send_without_block(MAYBE_UNUSED(CALL_INFO ci))
6609
6625
  {
6610
6626
  return
6611
- #line 899 "insns.def"
6627
+ #line 901 "insns.def"
6612
6628
  sp_inc_of_sendish(ci);
6613
- #line 6614 "insns_info.inc"
6629
+ #line 6630 "insns_info.inc"
6614
6630
  }
6615
6631
 
6616
6632
  /* attr bool handles_sp @ opt_send_without_block(cd)(...)(val) */
@@ -6618,9 +6634,9 @@ bool
6618
6634
  attr_handles_sp_opt_send_without_block(MAYBE_UNUSED(CALL_DATA cd))
6619
6635
  {
6620
6636
  return
6621
- #line 897 "insns.def"
6637
+ #line 899 "insns.def"
6622
6638
  true;
6623
- #line 6624 "insns_info.inc"
6639
+ #line 6640 "insns_info.inc"
6624
6640
  }
6625
6641
 
6626
6642
  /* attr bool leaf @ opt_send_without_block(cd)(...)(val) */
@@ -6663,9 +6679,9 @@ rb_snum_t
6663
6679
  attr_sp_inc_opt_send_without_block(MAYBE_UNUSED(CALL_DATA cd))
6664
6680
  {
6665
6681
  return
6666
- #line 898 "insns.def"
6682
+ #line 900 "insns.def"
6667
6683
  sp_inc_of_sendish(cd->ci);
6668
- #line 6669 "insns_info.inc"
6684
+ #line 6685 "insns_info.inc"
6669
6685
  }
6670
6686
 
6671
6687
  /* attr rb_num_t width @ opt_send_without_block(cd)(...)(val) */
@@ -6680,9 +6696,9 @@ bool
6680
6696
  attr_zjit_profile_opt_send_without_block(MAYBE_UNUSED(CALL_DATA cd))
6681
6697
  {
6682
6698
  return
6683
- #line 896 "insns.def"
6699
+ #line 898 "insns.def"
6684
6700
  true;
6685
- #line 6686 "insns_info.inc"
6701
+ #line 6702 "insns_info.inc"
6686
6702
  }
6687
6703
 
6688
6704
  /* attr enum ruby_vminsn_type bin @ opt_new(cd, dst)()() */
@@ -6713,9 +6729,9 @@ attr_leaf_opt_new(
6713
6729
  )
6714
6730
  {
6715
6731
  return
6716
- #line 917 "insns.def"
6732
+ #line 919 "insns.def"
6717
6733
  false;
6718
- #line 6719 "insns_info.inc"
6734
+ #line 6735 "insns_info.inc"
6719
6735
  }
6720
6736
 
6721
6737
  /* attr const char* name @ opt_new(cd, dst)()() */
@@ -6807,9 +6823,9 @@ bool
6807
6823
  attr_leaf_objtostring(MAYBE_UNUSED(CALL_DATA cd))
6808
6824
  {
6809
6825
  return
6810
- #line 943 "insns.def"
6826
+ #line 945 "insns.def"
6811
6827
  false;
6812
- #line 6813 "insns_info.inc"
6828
+ #line 6829 "insns_info.inc"
6813
6829
  }
6814
6830
 
6815
6831
  /* attr const char* name @ objtostring(cd)(recv)(val) */
@@ -6859,9 +6875,9 @@ bool
6859
6875
  attr_zjit_profile_objtostring(MAYBE_UNUSED(CALL_DATA cd))
6860
6876
  {
6861
6877
  return
6862
- #line 944 "insns.def"
6878
+ #line 946 "insns.def"
6863
6879
  true;
6864
- #line 6865 "insns_info.inc"
6880
+ #line 6881 "insns_info.inc"
6865
6881
  }
6866
6882
 
6867
6883
  /* attr enum ruby_vminsn_type bin @ opt_ary_freeze(ary, cd)()(val) */
@@ -7232,9 +7248,9 @@ bool
7232
7248
  attr_zjit_profile_opt_nil_p(MAYBE_UNUSED(CALL_DATA cd))
7233
7249
  {
7234
7250
  return
7235
- #line 1003 "insns.def"
7251
+ #line 1005 "insns.def"
7236
7252
  true;
7237
- #line 7238 "insns_info.inc"
7253
+ #line 7254 "insns_info.inc"
7238
7254
  }
7239
7255
 
7240
7256
  /* attr enum ruby_vminsn_type bin @ opt_str_uminus(str, cd)()(val) */
@@ -7357,9 +7373,9 @@ attr_comptime_sp_inc_opt_duparray_send(
7357
7373
  )
7358
7374
  {
7359
7375
  return
7360
- #line 1037 "insns.def"
7376
+ #line 1039 "insns.def"
7361
7377
  1 - (rb_snum_t)argc;
7362
- #line 7363 "insns_info.inc"
7378
+ #line 7379 "insns_info.inc"
7363
7379
  }
7364
7380
 
7365
7381
  /* attr bool handles_sp @ opt_duparray_send(ary, method, argc)(...)(val) */
@@ -7382,9 +7398,9 @@ attr_leaf_opt_duparray_send(
7382
7398
  )
7383
7399
  {
7384
7400
  return
7385
- #line 1035 "insns.def"
7401
+ #line 1037 "insns.def"
7386
7402
  false;
7387
- #line 7388 "insns_info.inc"
7403
+ #line 7404 "insns_info.inc"
7388
7404
  }
7389
7405
 
7390
7406
  /* attr const char* name @ opt_duparray_send(ary, method, argc)(...)(val) */
@@ -7440,9 +7456,9 @@ attr_sp_inc_opt_duparray_send(
7440
7456
  )
7441
7457
  {
7442
7458
  return
7443
- #line 1036 "insns.def"
7459
+ #line 1038 "insns.def"
7444
7460
  1 - (rb_snum_t)argc;
7445
- #line 7446 "insns_info.inc"
7461
+ #line 7462 "insns_info.inc"
7446
7462
  }
7447
7463
 
7448
7464
  /* attr rb_num_t width @ opt_duparray_send(ary, method, argc)(...)(val) */
@@ -7485,9 +7501,9 @@ attr_comptime_sp_inc_opt_newarray_send(
7485
7501
  )
7486
7502
  {
7487
7503
  return
7488
- #line 1059 "insns.def"
7504
+ #line 1061 "insns.def"
7489
7505
  1 - (rb_snum_t)num;
7490
- #line 7491 "insns_info.inc"
7506
+ #line 7507 "insns_info.inc"
7491
7507
  }
7492
7508
 
7493
7509
  /* attr bool handles_sp @ opt_newarray_send(num, method)(...)(val) */
@@ -7508,9 +7524,9 @@ attr_leaf_opt_newarray_send(
7508
7524
  )
7509
7525
  {
7510
7526
  return
7511
- #line 1057 "insns.def"
7527
+ #line 1059 "insns.def"
7512
7528
  false;
7513
- #line 7514 "insns_info.inc"
7529
+ #line 7530 "insns_info.inc"
7514
7530
  }
7515
7531
 
7516
7532
  /* attr const char* name @ opt_newarray_send(num, method)(...)(val) */
@@ -7561,9 +7577,9 @@ attr_sp_inc_opt_newarray_send(
7561
7577
  )
7562
7578
  {
7563
7579
  return
7564
- #line 1058 "insns.def"
7580
+ #line 1060 "insns.def"
7565
7581
  1 - (rb_snum_t)num;
7566
- #line 7567 "insns_info.inc"
7582
+ #line 7583 "insns_info.inc"
7567
7583
  }
7568
7584
 
7569
7585
  /* attr rb_num_t width @ opt_newarray_send(num, method)(...)(val) */
@@ -7604,9 +7620,9 @@ attr_comptime_sp_inc_invokesuper(
7604
7620
  )
7605
7621
  {
7606
7622
  return
7607
- #line 1092 "insns.def"
7623
+ #line 1094 "insns.def"
7608
7624
  sp_inc_of_sendish(ci);
7609
- #line 7610 "insns_info.inc"
7625
+ #line 7626 "insns_info.inc"
7610
7626
  }
7611
7627
 
7612
7628
  /* attr bool handles_sp @ invokesuper(cd, blockiseq)(...)(val) */
@@ -7677,9 +7693,9 @@ attr_sp_inc_invokesuper(
7677
7693
  )
7678
7694
  {
7679
7695
  return
7680
- #line 1091 "insns.def"
7696
+ #line 1093 "insns.def"
7681
7697
  sp_inc_of_sendish(cd->ci);
7682
- #line 7683 "insns_info.inc"
7698
+ #line 7699 "insns_info.inc"
7683
7699
  }
7684
7700
 
7685
7701
  /* attr rb_num_t width @ invokesuper(cd, blockiseq)(...)(val) */
@@ -7720,9 +7736,9 @@ attr_comptime_sp_inc_invokesuperforward(
7720
7736
  )
7721
7737
  {
7722
7738
  return
7723
- #line 1111 "insns.def"
7739
+ #line 1113 "insns.def"
7724
7740
  sp_inc_of_sendish(ci);
7725
- #line 7726 "insns_info.inc"
7741
+ #line 7742 "insns_info.inc"
7726
7742
  }
7727
7743
 
7728
7744
  /* attr bool handles_sp @ invokesuperforward(cd, blockiseq)(...)(val) */
@@ -7793,9 +7809,9 @@ attr_sp_inc_invokesuperforward(
7793
7809
  )
7794
7810
  {
7795
7811
  return
7796
- #line 1110 "insns.def"
7812
+ #line 1112 "insns.def"
7797
7813
  sp_inc_of_sendish(cd->ci);
7798
- #line 7799 "insns_info.inc"
7814
+ #line 7815 "insns_info.inc"
7799
7815
  }
7800
7816
 
7801
7817
  /* attr rb_num_t width @ invokesuperforward(cd, blockiseq)(...)(val) */
@@ -7830,9 +7846,9 @@ rb_snum_t
7830
7846
  attr_comptime_sp_inc_invokeblock(MAYBE_UNUSED(CALL_INFO ci))
7831
7847
  {
7832
7848
  return
7833
- #line 1139 "insns.def"
7849
+ #line 1141 "insns.def"
7834
7850
  sp_inc_of_invokeblock(ci);
7835
- #line 7836 "insns_info.inc"
7851
+ #line 7852 "insns_info.inc"
7836
7852
  }
7837
7853
 
7838
7854
  /* attr bool handles_sp @ invokeblock(cd)(...)(val) */
@@ -7840,9 +7856,9 @@ bool
7840
7856
  attr_handles_sp_invokeblock(MAYBE_UNUSED(CALL_DATA cd))
7841
7857
  {
7842
7858
  return
7843
- #line 1137 "insns.def"
7859
+ #line 1139 "insns.def"
7844
7860
  true;
7845
- #line 7846 "insns_info.inc"
7861
+ #line 7862 "insns_info.inc"
7846
7862
  }
7847
7863
 
7848
7864
  /* attr bool leaf @ invokeblock(cd)(...)(val) */
@@ -7885,9 +7901,9 @@ rb_snum_t
7885
7901
  attr_sp_inc_invokeblock(MAYBE_UNUSED(CALL_DATA cd))
7886
7902
  {
7887
7903
  return
7888
- #line 1138 "insns.def"
7904
+ #line 1140 "insns.def"
7889
7905
  sp_inc_of_invokeblock(cd->ci);
7890
- #line 7891 "insns_info.inc"
7906
+ #line 7907 "insns_info.inc"
7891
7907
  }
7892
7908
 
7893
7909
  /* attr rb_num_t width @ invokeblock(cd)(...)(val) */
@@ -7902,9 +7918,9 @@ bool
7902
7918
  attr_zjit_profile_invokeblock(MAYBE_UNUSED(CALL_DATA cd))
7903
7919
  {
7904
7920
  return
7905
- #line 1140 "insns.def"
7921
+ #line 1142 "insns.def"
7906
7922
  true;
7907
- #line 7908 "insns_info.inc"
7923
+ #line 7924 "insns_info.inc"
7908
7924
  }
7909
7925
 
7910
7926
  /* attr enum ruby_vminsn_type bin @ leave()(val)(val) */
@@ -7919,9 +7935,9 @@ bool
7919
7935
  attr_handles_sp_leave(void)
7920
7936
  {
7921
7937
  return
7922
- #line 1162 "insns.def"
7938
+ #line 1164 "insns.def"
7923
7939
  true;
7924
- #line 7925 "insns_info.inc"
7940
+ #line 7941 "insns_info.inc"
7925
7941
  }
7926
7942
 
7927
7943
  /* attr bool leaf @ leave()(val)(val) */
@@ -7929,9 +7945,9 @@ bool
7929
7945
  attr_leaf_leave(void)
7930
7946
  {
7931
7947
  return
7932
- #line 1161 "insns.def"
7948
+ #line 1163 "insns.def"
7933
7949
  false;
7934
- #line 7935 "insns_info.inc"
7950
+ #line 7951 "insns_info.inc"
7935
7951
  }
7936
7952
 
7937
7953
  /* attr const char* name @ leave()(val)(val) */
@@ -8002,9 +8018,9 @@ bool
8002
8018
  attr_leaf_throw(MAYBE_UNUSED(rb_num_t throw_state))
8003
8019
  {
8004
8020
  return
8005
- #line 1195 "insns.def"
8021
+ #line 1197 "insns.def"
8006
8022
  false;
8007
- #line 8008 "insns_info.inc"
8023
+ #line 8024 "insns_info.inc"
8008
8024
  }
8009
8025
 
8010
8026
  /* attr const char* name @ throw(throw_state)(throwobj)(val) */
@@ -8075,9 +8091,9 @@ bool
8075
8091
  attr_leaf_jump(MAYBE_UNUSED(OFFSET dst))
8076
8092
  {
8077
8093
  return
8078
- #line 1213 "insns.def"
8094
+ #line 1215 "insns.def"
8079
8095
  false;
8080
- #line 8081 "insns_info.inc"
8096
+ #line 8097 "insns_info.inc"
8081
8097
  }
8082
8098
 
8083
8099
  /* attr const char* name @ jump(dst)()() */
@@ -8148,9 +8164,9 @@ bool
8148
8164
  attr_leaf_branchif(MAYBE_UNUSED(OFFSET dst))
8149
8165
  {
8150
8166
  return
8151
- #line 1226 "insns.def"
8167
+ #line 1228 "insns.def"
8152
8168
  false;
8153
- #line 8154 "insns_info.inc"
8169
+ #line 8170 "insns_info.inc"
8154
8170
  }
8155
8171
 
8156
8172
  /* attr const char* name @ branchif(dst)(val)() */
@@ -8221,9 +8237,9 @@ bool
8221
8237
  attr_leaf_branchunless(MAYBE_UNUSED(OFFSET dst))
8222
8238
  {
8223
8239
  return
8224
- #line 1241 "insns.def"
8240
+ #line 1243 "insns.def"
8225
8241
  false;
8226
- #line 8227 "insns_info.inc"
8242
+ #line 8243 "insns_info.inc"
8227
8243
  }
8228
8244
 
8229
8245
  /* attr const char* name @ branchunless(dst)(val)() */
@@ -8294,9 +8310,9 @@ bool
8294
8310
  attr_leaf_branchnil(MAYBE_UNUSED(OFFSET dst))
8295
8311
  {
8296
8312
  return
8297
- #line 1256 "insns.def"
8313
+ #line 1258 "insns.def"
8298
8314
  false;
8299
- #line 8300 "insns_info.inc"
8315
+ #line 8316 "insns_info.inc"
8300
8316
  }
8301
8317
 
8302
8318
  /* attr const char* name @ branchnil(dst)(val)() */
@@ -8526,9 +8542,9 @@ attr_sp_inc_opt_case_dispatch(
8526
8542
  )
8527
8543
  {
8528
8544
  return
8529
- #line 1284 "insns.def"
8545
+ #line 1286 "insns.def"
8530
8546
  -1;
8531
- #line 8532 "insns_info.inc"
8547
+ #line 8548 "insns_info.inc"
8532
8548
  }
8533
8549
 
8534
8550
  /* attr rb_num_t width @ opt_case_dispatch(hash, else_offset)(..., key)() */
@@ -8619,9 +8635,9 @@ bool
8619
8635
  attr_zjit_profile_opt_plus(MAYBE_UNUSED(CALL_DATA cd))
8620
8636
  {
8621
8637
  return
8622
- #line 1301 "insns.def"
8638
+ #line 1303 "insns.def"
8623
8639
  true;
8624
- #line 8625 "insns_info.inc"
8640
+ #line 8641 "insns_info.inc"
8625
8641
  }
8626
8642
 
8627
8643
  /* attr enum ruby_vminsn_type bin @ opt_minus(cd)(recv, obj)(val) */
@@ -8692,9 +8708,9 @@ bool
8692
8708
  attr_zjit_profile_opt_minus(MAYBE_UNUSED(CALL_DATA cd))
8693
8709
  {
8694
8710
  return
8695
- #line 1316 "insns.def"
8711
+ #line 1318 "insns.def"
8696
8712
  true;
8697
- #line 8698 "insns_info.inc"
8713
+ #line 8714 "insns_info.inc"
8698
8714
  }
8699
8715
 
8700
8716
  /* attr enum ruby_vminsn_type bin @ opt_mult(cd)(recv, obj)(val) */
@@ -8765,9 +8781,9 @@ bool
8765
8781
  attr_zjit_profile_opt_mult(MAYBE_UNUSED(CALL_DATA cd))
8766
8782
  {
8767
8783
  return
8768
- #line 1331 "insns.def"
8784
+ #line 1333 "insns.def"
8769
8785
  true;
8770
- #line 8771 "insns_info.inc"
8786
+ #line 8787 "insns_info.inc"
8771
8787
  }
8772
8788
 
8773
8789
  /* attr enum ruby_vminsn_type bin @ opt_div(cd)(recv, obj)(val) */
@@ -8789,9 +8805,9 @@ bool
8789
8805
  attr_leaf_opt_div(MAYBE_UNUSED(CALL_DATA cd))
8790
8806
  {
8791
8807
  return
8792
- #line 1348 "insns.def"
8808
+ #line 1350 "insns.def"
8793
8809
  false;
8794
- #line 8795 "insns_info.inc"
8810
+ #line 8811 "insns_info.inc"
8795
8811
  }
8796
8812
 
8797
8813
  /* attr const char* name @ opt_div(cd)(recv, obj)(val) */
@@ -8841,9 +8857,9 @@ bool
8841
8857
  attr_zjit_profile_opt_div(MAYBE_UNUSED(CALL_DATA cd))
8842
8858
  {
8843
8859
  return
8844
- #line 1349 "insns.def"
8860
+ #line 1351 "insns.def"
8845
8861
  true;
8846
- #line 8847 "insns_info.inc"
8862
+ #line 8863 "insns_info.inc"
8847
8863
  }
8848
8864
 
8849
8865
  /* attr enum ruby_vminsn_type bin @ opt_mod(cd)(recv, obj)(val) */
@@ -8865,9 +8881,9 @@ bool
8865
8881
  attr_leaf_opt_mod(MAYBE_UNUSED(CALL_DATA cd))
8866
8882
  {
8867
8883
  return
8868
- #line 1365 "insns.def"
8884
+ #line 1367 "insns.def"
8869
8885
  false;
8870
- #line 8871 "insns_info.inc"
8886
+ #line 8887 "insns_info.inc"
8871
8887
  }
8872
8888
 
8873
8889
  /* attr const char* name @ opt_mod(cd)(recv, obj)(val) */
@@ -8917,9 +8933,9 @@ bool
8917
8933
  attr_zjit_profile_opt_mod(MAYBE_UNUSED(CALL_DATA cd))
8918
8934
  {
8919
8935
  return
8920
- #line 1366 "insns.def"
8936
+ #line 1368 "insns.def"
8921
8937
  true;
8922
- #line 8923 "insns_info.inc"
8938
+ #line 8939 "insns_info.inc"
8923
8939
  }
8924
8940
 
8925
8941
  /* attr enum ruby_vminsn_type bin @ opt_eq(cd)(recv, obj)(val) */
@@ -8990,9 +9006,9 @@ bool
8990
9006
  attr_zjit_profile_opt_eq(MAYBE_UNUSED(CALL_DATA cd))
8991
9007
  {
8992
9008
  return
8993
- #line 1381 "insns.def"
9009
+ #line 1383 "insns.def"
8994
9010
  true;
8995
- #line 8996 "insns_info.inc"
9011
+ #line 9012 "insns_info.inc"
8996
9012
  }
8997
9013
 
8998
9014
  /* attr enum ruby_vminsn_type bin @ opt_neq(cd_eq, cd)(recv, obj)(val) */
@@ -9093,9 +9109,9 @@ attr_zjit_profile_opt_neq(
9093
9109
  )
9094
9110
  {
9095
9111
  return
9096
- #line 1396 "insns.def"
9112
+ #line 1398 "insns.def"
9097
9113
  true;
9098
- #line 9099 "insns_info.inc"
9114
+ #line 9115 "insns_info.inc"
9099
9115
  }
9100
9116
 
9101
9117
  /* attr enum ruby_vminsn_type bin @ opt_lt(cd)(recv, obj)(val) */
@@ -9166,9 +9182,9 @@ bool
9166
9182
  attr_zjit_profile_opt_lt(MAYBE_UNUSED(CALL_DATA cd))
9167
9183
  {
9168
9184
  return
9169
- #line 1411 "insns.def"
9185
+ #line 1413 "insns.def"
9170
9186
  true;
9171
- #line 9172 "insns_info.inc"
9187
+ #line 9188 "insns_info.inc"
9172
9188
  }
9173
9189
 
9174
9190
  /* attr enum ruby_vminsn_type bin @ opt_le(cd)(recv, obj)(val) */
@@ -9239,9 +9255,9 @@ bool
9239
9255
  attr_zjit_profile_opt_le(MAYBE_UNUSED(CALL_DATA cd))
9240
9256
  {
9241
9257
  return
9242
- #line 1426 "insns.def"
9258
+ #line 1428 "insns.def"
9243
9259
  true;
9244
- #line 9245 "insns_info.inc"
9260
+ #line 9261 "insns_info.inc"
9245
9261
  }
9246
9262
 
9247
9263
  /* attr enum ruby_vminsn_type bin @ opt_gt(cd)(recv, obj)(val) */
@@ -9312,9 +9328,9 @@ bool
9312
9328
  attr_zjit_profile_opt_gt(MAYBE_UNUSED(CALL_DATA cd))
9313
9329
  {
9314
9330
  return
9315
- #line 1441 "insns.def"
9331
+ #line 1443 "insns.def"
9316
9332
  true;
9317
- #line 9318 "insns_info.inc"
9333
+ #line 9334 "insns_info.inc"
9318
9334
  }
9319
9335
 
9320
9336
  /* attr enum ruby_vminsn_type bin @ opt_ge(cd)(recv, obj)(val) */
@@ -9385,9 +9401,9 @@ bool
9385
9401
  attr_zjit_profile_opt_ge(MAYBE_UNUSED(CALL_DATA cd))
9386
9402
  {
9387
9403
  return
9388
- #line 1456 "insns.def"
9404
+ #line 1458 "insns.def"
9389
9405
  true;
9390
- #line 9391 "insns_info.inc"
9406
+ #line 9407 "insns_info.inc"
9391
9407
  }
9392
9408
 
9393
9409
  /* attr enum ruby_vminsn_type bin @ opt_ltlt(cd)(recv, obj)(val) */
@@ -9409,9 +9425,9 @@ bool
9409
9425
  attr_leaf_opt_ltlt(MAYBE_UNUSED(CALL_DATA cd))
9410
9426
  {
9411
9427
  return
9412
- #line 1474 "insns.def"
9428
+ #line 1476 "insns.def"
9413
9429
  false;
9414
- #line 9415 "insns_info.inc"
9430
+ #line 9431 "insns_info.inc"
9415
9431
  }
9416
9432
 
9417
9433
  /* attr const char* name @ opt_ltlt(cd)(recv, obj)(val) */
@@ -9461,9 +9477,9 @@ bool
9461
9477
  attr_zjit_profile_opt_ltlt(MAYBE_UNUSED(CALL_DATA cd))
9462
9478
  {
9463
9479
  return
9464
- #line 1475 "insns.def"
9480
+ #line 1477 "insns.def"
9465
9481
  true;
9466
- #line 9467 "insns_info.inc"
9482
+ #line 9483 "insns_info.inc"
9467
9483
  }
9468
9484
 
9469
9485
  /* attr enum ruby_vminsn_type bin @ opt_and(cd)(recv, obj)(val) */
@@ -9534,9 +9550,9 @@ bool
9534
9550
  attr_zjit_profile_opt_and(MAYBE_UNUSED(CALL_DATA cd))
9535
9551
  {
9536
9552
  return
9537
- #line 1490 "insns.def"
9553
+ #line 1492 "insns.def"
9538
9554
  true;
9539
- #line 9540 "insns_info.inc"
9555
+ #line 9556 "insns_info.inc"
9540
9556
  }
9541
9557
 
9542
9558
  /* attr enum ruby_vminsn_type bin @ opt_or(cd)(recv, obj)(val) */
@@ -9607,9 +9623,9 @@ bool
9607
9623
  attr_zjit_profile_opt_or(MAYBE_UNUSED(CALL_DATA cd))
9608
9624
  {
9609
9625
  return
9610
- #line 1505 "insns.def"
9626
+ #line 1507 "insns.def"
9611
9627
  true;
9612
- #line 9613 "insns_info.inc"
9628
+ #line 9629 "insns_info.inc"
9613
9629
  }
9614
9630
 
9615
9631
  /* attr enum ruby_vminsn_type bin @ opt_aref(cd)(recv, obj)(val) */
@@ -9631,9 +9647,9 @@ bool
9631
9647
  attr_leaf_opt_aref(MAYBE_UNUSED(CALL_DATA cd))
9632
9648
  {
9633
9649
  return
9634
- #line 1524 "insns.def"
9650
+ #line 1526 "insns.def"
9635
9651
  false;
9636
- #line 9637 "insns_info.inc"
9652
+ #line 9653 "insns_info.inc"
9637
9653
  }
9638
9654
 
9639
9655
  /* attr const char* name @ opt_aref(cd)(recv, obj)(val) */
@@ -9683,9 +9699,9 @@ bool
9683
9699
  attr_zjit_profile_opt_aref(MAYBE_UNUSED(CALL_DATA cd))
9684
9700
  {
9685
9701
  return
9686
- #line 1525 "insns.def"
9702
+ #line 1527 "insns.def"
9687
9703
  true;
9688
- #line 9689 "insns_info.inc"
9704
+ #line 9705 "insns_info.inc"
9689
9705
  }
9690
9706
 
9691
9707
  /* attr enum ruby_vminsn_type bin @ opt_aset(cd)(recv, obj, set)(val) */
@@ -9707,9 +9723,9 @@ bool
9707
9723
  attr_leaf_opt_aset(MAYBE_UNUSED(CALL_DATA cd))
9708
9724
  {
9709
9725
  return
9710
- #line 1542 "insns.def"
9726
+ #line 1544 "insns.def"
9711
9727
  false;
9712
- #line 9713 "insns_info.inc"
9728
+ #line 9729 "insns_info.inc"
9713
9729
  }
9714
9730
 
9715
9731
  /* attr const char* name @ opt_aset(cd)(recv, obj, set)(val) */
@@ -9759,9 +9775,9 @@ bool
9759
9775
  attr_zjit_profile_opt_aset(MAYBE_UNUSED(CALL_DATA cd))
9760
9776
  {
9761
9777
  return
9762
- #line 1543 "insns.def"
9778
+ #line 1545 "insns.def"
9763
9779
  true;
9764
- #line 9765 "insns_info.inc"
9780
+ #line 9781 "insns_info.inc"
9765
9781
  }
9766
9782
 
9767
9783
  /* attr enum ruby_vminsn_type bin @ opt_length(cd)(recv)(val) */
@@ -9832,9 +9848,9 @@ bool
9832
9848
  attr_zjit_profile_opt_length(MAYBE_UNUSED(CALL_DATA cd))
9833
9849
  {
9834
9850
  return
9835
- #line 1558 "insns.def"
9851
+ #line 1560 "insns.def"
9836
9852
  true;
9837
- #line 9838 "insns_info.inc"
9853
+ #line 9854 "insns_info.inc"
9838
9854
  }
9839
9855
 
9840
9856
  /* attr enum ruby_vminsn_type bin @ opt_size(cd)(recv)(val) */
@@ -9905,9 +9921,9 @@ bool
9905
9921
  attr_zjit_profile_opt_size(MAYBE_UNUSED(CALL_DATA cd))
9906
9922
  {
9907
9923
  return
9908
- #line 1573 "insns.def"
9924
+ #line 1575 "insns.def"
9909
9925
  true;
9910
- #line 9911 "insns_info.inc"
9926
+ #line 9927 "insns_info.inc"
9911
9927
  }
9912
9928
 
9913
9929
  /* attr enum ruby_vminsn_type bin @ opt_empty_p(cd)(recv)(val) */
@@ -9978,9 +9994,9 @@ bool
9978
9994
  attr_zjit_profile_opt_empty_p(MAYBE_UNUSED(CALL_DATA cd))
9979
9995
  {
9980
9996
  return
9981
- #line 1588 "insns.def"
9997
+ #line 1590 "insns.def"
9982
9998
  true;
9983
- #line 9984 "insns_info.inc"
9999
+ #line 10000 "insns_info.inc"
9984
10000
  }
9985
10001
 
9986
10002
  /* attr enum ruby_vminsn_type bin @ opt_succ(cd)(recv)(val) */
@@ -10051,9 +10067,9 @@ bool
10051
10067
  attr_zjit_profile_opt_succ(MAYBE_UNUSED(CALL_DATA cd))
10052
10068
  {
10053
10069
  return
10054
- #line 1603 "insns.def"
10070
+ #line 1605 "insns.def"
10055
10071
  true;
10056
- #line 10057 "insns_info.inc"
10072
+ #line 10073 "insns_info.inc"
10057
10073
  }
10058
10074
 
10059
10075
  /* attr enum ruby_vminsn_type bin @ opt_not(cd)(recv)(val) */
@@ -10124,9 +10140,9 @@ bool
10124
10140
  attr_zjit_profile_opt_not(MAYBE_UNUSED(CALL_DATA cd))
10125
10141
  {
10126
10142
  return
10127
- #line 1618 "insns.def"
10143
+ #line 1620 "insns.def"
10128
10144
  true;
10129
- #line 10130 "insns_info.inc"
10145
+ #line 10146 "insns_info.inc"
10130
10146
  }
10131
10147
 
10132
10148
  /* attr enum ruby_vminsn_type bin @ opt_regexpmatch2(cd)(obj2, obj1)(val) */
@@ -10148,9 +10164,9 @@ bool
10148
10164
  attr_leaf_opt_regexpmatch2(MAYBE_UNUSED(CALL_DATA cd))
10149
10165
  {
10150
10166
  return
10151
- #line 1633 "insns.def"
10167
+ #line 1635 "insns.def"
10152
10168
  false;
10153
- #line 10154 "insns_info.inc"
10169
+ #line 10170 "insns_info.inc"
10154
10170
  }
10155
10171
 
10156
10172
  /* attr const char* name @ opt_regexpmatch2(cd)(obj2, obj1)(val) */
@@ -10200,9 +10216,9 @@ bool
10200
10216
  attr_zjit_profile_opt_regexpmatch2(MAYBE_UNUSED(CALL_DATA cd))
10201
10217
  {
10202
10218
  return
10203
- #line 1634 "insns.def"
10219
+ #line 1636 "insns.def"
10204
10220
  true;
10205
- #line 10206 "insns_info.inc"
10221
+ #line 10222 "insns_info.inc"
10206
10222
  }
10207
10223
 
10208
10224
  /* attr enum ruby_vminsn_type bin @ invokebuiltin(bf)(...)(val) */
@@ -10224,9 +10240,9 @@ bool
10224
10240
  attr_leaf_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
10225
10241
  {
10226
10242
  return
10227
- #line 1649 "insns.def"
10243
+ #line 1651 "insns.def"
10228
10244
  false;
10229
- #line 10230 "insns_info.inc"
10245
+ #line 10246 "insns_info.inc"
10230
10246
  }
10231
10247
 
10232
10248
  /* attr const char* name @ invokebuiltin(bf)(...)(val) */
@@ -10262,9 +10278,9 @@ rb_snum_t
10262
10278
  attr_sp_inc_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
10263
10279
  {
10264
10280
  return
10265
- #line 1650 "insns.def"
10281
+ #line 1652 "insns.def"
10266
10282
  1 - bf->argc;
10267
- #line 10268 "insns_info.inc"
10283
+ #line 10284 "insns_info.inc"
10268
10284
  }
10269
10285
 
10270
10286
  /* attr rb_num_t width @ invokebuiltin(bf)(...)(val) */
@@ -10309,9 +10325,9 @@ attr_leaf_opt_invokebuiltin_delegate(
10309
10325
  )
10310
10326
  {
10311
10327
  return
10312
- #line 1661 "insns.def"
10328
+ #line 1663 "insns.def"
10313
10329
  false;
10314
- #line 10315 "insns_info.inc"
10330
+ #line 10331 "insns_info.inc"
10315
10331
  }
10316
10332
 
10317
10333
  /* attr const char* name @ opt_invokebuiltin_delegate(bf, index)()(val) */
@@ -10412,9 +10428,9 @@ attr_leaf_opt_invokebuiltin_delegate_leave(
10412
10428
  )
10413
10429
  {
10414
10430
  return
10415
- #line 1672 "insns.def"
10431
+ #line 1674 "insns.def"
10416
10432
  false;
10417
- #line 10418 "insns_info.inc"
10433
+ #line 10434 "insns_info.inc"
10418
10434
  }
10419
10435
 
10420
10436
  /* attr const char* name @ opt_invokebuiltin_delegate_leave(bf, index)()(val) */
@@ -11174,7 +11190,7 @@ comptime_insn_stack_increase_dispatch(enum ruby_vminsn_type insn, const VALUE *o
11174
11190
  0, 0, 0, 0, 0, 0, 0, 0,
11175
11191
  0, 0, 0, 0, 0, 0, 0, 0,
11176
11192
  0, 0, 0, 0, 0, 0, 0, 0,
11177
- 0, 0, 0, 0,
11193
+ 0, 0, 0, 0, 0, 0,
11178
11194
  #endif
11179
11195
  };
11180
11196
  signed char c = t[insn];