debase-ruby_core_source 3.3.6 → 4.0.0.preview2

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 (306) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/CHANGELOG.md +10 -0
  4. data/Rakefile +3 -1
  5. data/debase-ruby_core_source.gemspec +1 -0
  6. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/builtin.h +7 -1
  7. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/darray.h +1 -3
  8. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/id.h +5 -0
  9. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/insns.inc +2 -0
  10. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/insns_info.inc +310 -175
  11. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/basic_operators.h +1 -0
  12. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/bits.h +82 -0
  13. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/encoding.h +2 -0
  14. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/error.h +26 -0
  15. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/fixnum.h +1 -0
  16. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/gc.h +14 -6
  17. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/imemo.h +6 -1
  18. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/io.h +1 -1
  19. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/parse.h +2 -1
  20. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/proc.h +1 -0
  21. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/ractor.h +4 -0
  22. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/sanitizers.h +31 -39
  23. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/string.h +22 -10
  24. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/thread.h +23 -0
  25. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/vm.h +1 -1
  26. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/method.h +1 -0
  27. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/optunifs.inc +1 -1
  28. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/parse.h +2 -2
  29. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/ast.h +427 -3
  30. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/defines.h +8 -7
  31. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/diagnostic.h +1 -0
  32. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/extension.h +1 -1
  33. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/prism.h +47 -11
  34. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/version.h +2 -2
  35. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism_compile.h +5 -5
  36. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/ractor_core.h +6 -6
  37. data/lib/debase/ruby_core_source/ruby-3.4.0-p-1/revision.h +5 -0
  38. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/rubyparser.h +3 -2
  39. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/thread_pthread.h +0 -1
  40. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/version.h +1 -1
  41. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm.inc +151 -88
  42. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_core.h +40 -12
  43. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_sync.h +3 -3
  44. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vmtc.inc +2 -0
  45. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/yjit.h +1 -0
  46. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/builtin.h +7 -1
  47. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/darray.h +101 -14
  48. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/debug_counter.h +6 -4
  49. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/dln.h +1 -2
  50. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/eval_intern.h +7 -0
  51. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/id.h +16 -5
  52. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/id_table.h +15 -0
  53. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/insns.inc +49 -6
  54. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/insns_info.inc +2432 -721
  55. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/array.h +3 -0
  56. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/basic_operators.h +2 -0
  57. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/bignum.h +1 -0
  58. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/bits.h +82 -0
  59. data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/internal/box.h +81 -0
  60. data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/internal/class.h +805 -0
  61. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/cmdlineopt.h +3 -4
  62. data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/internal/concurrent_set.h +21 -0
  63. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/encoding.h +4 -1
  64. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/error.h +35 -0
  65. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/eval.h +8 -0
  66. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/fixnum.h +1 -0
  67. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/gc.h +54 -30
  68. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/hash.h +3 -0
  69. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/imemo.h +94 -32
  70. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/inits.h +4 -0
  71. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/io.h +30 -7
  72. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/load.h +2 -0
  73. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/numeric.h +1 -0
  74. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/object.h +1 -1
  75. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/parse.h +18 -4
  76. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/proc.h +1 -1
  77. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/ractor.h +4 -0
  78. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/re.h +7 -2
  79. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/sanitizers.h +88 -39
  80. data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/internal/set_table.h +70 -0
  81. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/signal.h +1 -0
  82. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/st.h +1 -1
  83. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/string.h +39 -18
  84. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/struct.h +38 -5
  85. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/symbol.h +4 -3
  86. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/thread.h +42 -9
  87. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/time.h +4 -1
  88. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/variable.h +13 -11
  89. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/vm.h +6 -7
  90. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal.h +0 -3
  91. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/iseq.h +19 -2
  92. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/known_errors.inc +103 -103
  93. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/method.h +18 -2
  94. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/node.h +14 -3
  95. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/optunifs.inc +1 -3
  96. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/parse.h +37 -36
  97. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/ast.h +2495 -507
  98. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/defines.h +61 -7
  99. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/diagnostic.h +31 -6
  100. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/extension.h +5 -5
  101. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/node.h +0 -21
  102. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/options.h +186 -6
  103. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/parser.h +85 -40
  104. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/prism.h +88 -16
  105. data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/prism/regexp.h +43 -0
  106. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/static_literals.h +3 -2
  107. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_buffer.h +18 -0
  108. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_char.h +1 -2
  109. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_constant_pool.h +0 -8
  110. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_integer.h +26 -15
  111. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_list.h +6 -0
  112. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_newline_list.h +11 -0
  113. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_string.h +39 -13
  114. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/version.h +3 -3
  115. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism_compile.h +30 -12
  116. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/ractor_core.h +47 -134
  117. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/regenc.h +9 -4
  118. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/regint.h +0 -5
  119. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/regparse.h +2 -2
  120. data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/revision.h +5 -0
  121. data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/ruby_atomic.h +66 -0
  122. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/rubyparser.h +214 -250
  123. data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/shape.h +444 -0
  124. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/symbol.h +8 -10
  125. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/thread_pthread.h +36 -27
  126. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/variable.h +8 -20
  127. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm.inc +884 -344
  128. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm_callinfo.h +110 -75
  129. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm_core.h +220 -106
  130. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/vm_exec.h +15 -4
  131. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm_insnhelper.h +11 -6
  132. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm_sync.h +23 -4
  133. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vmtc.inc +42 -6
  134. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/yjit.h +5 -3
  135. data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/zjit.h +47 -0
  136. data/lib/debase/ruby_core_source/version.rb +1 -1
  137. data/lib/debase/ruby_core_source.rb +4 -2
  138. data/test/deduce_source_dir_test.rb +31 -0
  139. metadata +307 -293
  140. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +0 -283
  141. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  142. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  143. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  144. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/shape.h +0 -233
  145. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  146. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  147. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  148. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_atomic.h +0 -23
  149. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/addr2line.h +0 -0
  150. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/build_assert/build_assert.h +0 -0
  151. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/check_type/check_type.h +0 -0
  152. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/container_of/container_of.h +0 -0
  153. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/list/list.h +0 -0
  154. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/str/str.h +0 -0
  155. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/constant.h +0 -0
  156. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/debug_counter.h +0 -0
  157. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/dln.h +0 -0
  158. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/encindex.h +0 -0
  159. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/eval_intern.h +0 -0
  160. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/hrtime.h +0 -0
  161. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/id_table.h +0 -0
  162. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/array.h +0 -0
  163. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/bignum.h +0 -0
  164. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/class.h +0 -0
  165. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/cmdlineopt.h +0 -0
  166. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compar.h +0 -0
  167. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compile.h +0 -0
  168. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compilers.h +0 -0
  169. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/complex.h +0 -0
  170. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/cont.h +0 -0
  171. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/dir.h +0 -0
  172. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enc.h +0 -0
  173. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enum.h +0 -0
  174. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enumerator.h +0 -0
  175. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/eval.h +0 -0
  176. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/file.h +0 -0
  177. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/hash.h +0 -0
  178. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/inits.h +0 -0
  179. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/load.h +0 -0
  180. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/loadpath.h +0 -0
  181. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/math.h +0 -0
  182. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/missing.h +0 -0
  183. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/numeric.h +0 -0
  184. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/object.h +0 -0
  185. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/process.h +0 -0
  186. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/random.h +0 -0
  187. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/range.h +0 -0
  188. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/rational.h +0 -0
  189. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/re.h +0 -0
  190. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/ruby_parser.h +0 -0
  191. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/serial.h +0 -0
  192. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/signal.h +0 -0
  193. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/st.h +0 -0
  194. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/static_assert.h +0 -0
  195. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/struct.h +0 -0
  196. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/symbol.h +0 -0
  197. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/time.h +0 -0
  198. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/transcode.h +0 -0
  199. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/util.h +0 -0
  200. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/variable.h +0 -0
  201. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/warnings.h +0 -0
  202. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal.h +0 -0
  203. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/iseq.h +0 -0
  204. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/known_errors.inc +0 -0
  205. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/node.h +0 -0
  206. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/node_name.inc +0 -0
  207. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/optinsn.inc +0 -0
  208. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_bits.h +0 -0
  209. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_node.h +0 -0
  210. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_st.h +0 -0
  211. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_value.h +0 -0
  212. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/encoding.h +0 -0
  213. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/node.h +0 -0
  214. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/options.h +0 -0
  215. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/pack.h +0 -0
  216. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/parser.h +0 -0
  217. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/prettyprint.h +0 -0
  218. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/regexp.h +0 -0
  219. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/static_literals.h +0 -0
  220. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_buffer.h +0 -0
  221. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_char.h +0 -0
  222. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_constant_pool.h +0 -0
  223. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_integer.h +0 -0
  224. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_list.h +0 -0
  225. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_memchr.h +0 -0
  226. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_newline_list.h +0 -0
  227. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_string.h +0 -0
  228. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_strncasecmp.h +0 -0
  229. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_strpbrk.h +0 -0
  230. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/probes_helper.h +0 -0
  231. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/regenc.h +0 -0
  232. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/regint.h +0 -0
  233. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/regparse.h +0 -0
  234. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/rjit.h +0 -0
  235. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/rjit_c.h +0 -0
  236. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ruby_assert.h +0 -0
  237. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ruby_atomic.h +0 -0
  238. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/shape.h +0 -0
  239. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/siphash.h +0 -0
  240. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/symbol.h +0 -0
  241. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/thread_none.h +0 -0
  242. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/thread_win32.h +0 -0
  243. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/timev.h +0 -0
  244. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/transcode_data.h +0 -0
  245. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/variable.h +0 -0
  246. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_call_iseq_optimized.inc +0 -0
  247. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_callinfo.h +0 -0
  248. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_debug.h +0 -0
  249. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_exec.h +0 -0
  250. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_insnhelper.h +0 -0
  251. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_opts.h +0 -0
  252. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/addr2line.h +0 -0
  253. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/build_assert/build_assert.h +0 -0
  254. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/check_type/check_type.h +0 -0
  255. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/container_of/container_of.h +0 -0
  256. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/list/list.h +0 -0
  257. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/str/str.h +0 -0
  258. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/constant.h +0 -0
  259. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/encindex.h +0 -0
  260. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/hrtime.h +0 -0
  261. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/compar.h +0 -0
  262. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/compile.h +0 -0
  263. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/compilers.h +0 -0
  264. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/complex.h +0 -0
  265. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/cont.h +0 -0
  266. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/dir.h +0 -0
  267. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/enc.h +0 -0
  268. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/enum.h +0 -0
  269. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/enumerator.h +0 -0
  270. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/file.h +0 -0
  271. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/loadpath.h +0 -0
  272. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/math.h +0 -0
  273. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/missing.h +0 -0
  274. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/process.h +0 -0
  275. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/random.h +0 -0
  276. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/range.h +0 -0
  277. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/rational.h +0 -0
  278. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/ruby_parser.h +0 -0
  279. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/serial.h +0 -0
  280. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/static_assert.h +0 -0
  281. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/transcode.h +0 -0
  282. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/util.h +0 -0
  283. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/warnings.h +0 -0
  284. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/node_name.inc +0 -0
  285. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/optinsn.inc +0 -0
  286. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/parser_bits.h +0 -0
  287. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/parser_node.h +0 -0
  288. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/parser_st.h +0 -0
  289. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/parser_value.h +0 -0
  290. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/encoding.h +0 -0
  291. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/pack.h +0 -0
  292. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/prettyprint.h +0 -0
  293. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_memchr.h +0 -0
  294. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_strncasecmp.h +0 -0
  295. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_strpbrk.h +0 -0
  296. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/probes_helper.h +0 -0
  297. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ruby_assert.h +0 -0
  298. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/siphash.h +0 -0
  299. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/thread_none.h +0 -0
  300. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/thread_win32.h +0 -0
  301. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/timev.h +0 -0
  302. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/transcode_data.h +0 -0
  303. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/version.h +0 -0
  304. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/vm_call_iseq_optimized.inc +0 -0
  305. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/vm_debug.h +0 -0
  306. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/vm_opts.h +0 -0
@@ -2790,6 +2790,57 @@ INSN_ENTRY(opt_str_uminus)
2790
2790
  END_INSN(opt_str_uminus);
2791
2791
  }
2792
2792
 
2793
+ /* insn opt_duparray_send(ary, method, argc)(...)(val) */
2794
+ INSN_ENTRY(opt_duparray_send)
2795
+ {
2796
+ /* ### Declare that we have just entered into an instruction. ### */
2797
+ START_OF_ORIGINAL_INSN(opt_duparray_send);
2798
+ DEBUG_ENTER_INSN("opt_duparray_send");
2799
+
2800
+ /* ### Declare and assign variables. ### */
2801
+ VALUE ary = (VALUE)GET_OPERAND(1);
2802
+ ID method = (ID)GET_OPERAND(2);
2803
+ rb_num_t argc = (rb_num_t)GET_OPERAND(3);
2804
+ # define INSN_ATTR(x) attr_ ## x ## _opt_duparray_send(ary, method, argc)
2805
+ const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
2806
+ VALUE val;
2807
+
2808
+ /* ### Instruction preambles. ### */
2809
+ ADD_PC(INSN_ATTR(width));
2810
+ SETUP_CANARY(leaf);
2811
+ COLLECT_USAGE_INSN(INSN_ATTR(bin));
2812
+ COLLECT_USAGE_OPERAND(INSN_ATTR(bin), 0, ary);
2813
+ COLLECT_USAGE_OPERAND(INSN_ATTR(bin), 1, method);
2814
+ COLLECT_USAGE_OPERAND(INSN_ATTR(bin), 2, argc);
2815
+
2816
+ /* ### Here we do the instruction body. ### */
2817
+ # define NAME_OF_CURRENT_INSN opt_duparray_send
2818
+ # line 1006 "insns.def"
2819
+ {
2820
+ switch(method) {
2821
+ case idIncludeP:
2822
+ val = vm_opt_duparray_include_p(ec, ary, TOPN(0));
2823
+ break;
2824
+ default:
2825
+ rb_bug("unreachable");
2826
+ }
2827
+ }
2828
+ # line 2829 "vm.inc"
2829
+ # undef NAME_OF_CURRENT_INSN
2830
+
2831
+ /* ### Instruction trailers. ### */
2832
+ CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, INSN_ATTR(retn));
2833
+ CHECK_CANARY(leaf, INSN_ATTR(bin));
2834
+ INC_SP(INSN_ATTR(sp_inc));
2835
+ TOPN(0) = val;
2836
+ VM_ASSERT(!RB_TYPE_P(TOPN(0), T_NONE));
2837
+ VM_ASSERT(!RB_TYPE_P(TOPN(0), T_MOVED));
2838
+ # undef INSN_ATTR
2839
+
2840
+ /* ### Leave the instruction. ### */
2841
+ END_INSN(opt_duparray_send);
2842
+ }
2843
+
2793
2844
  /* insn opt_newarray_send(num, method)(...)(val) */
2794
2845
  INSN_ENTRY(opt_newarray_send)
2795
2846
  {
@@ -2813,7 +2864,7 @@ INSN_ENTRY(opt_newarray_send)
2813
2864
 
2814
2865
  /* ### Here we do the instruction body. ### */
2815
2866
  # define NAME_OF_CURRENT_INSN opt_newarray_send
2816
- # line 1006 "insns.def"
2867
+ # line 1028 "insns.def"
2817
2868
  {
2818
2869
  switch(method) {
2819
2870
  case VM_OPT_NEWARRAY_SEND_HASH:
@@ -2825,6 +2876,9 @@ INSN_ENTRY(opt_newarray_send)
2825
2876
  case VM_OPT_NEWARRAY_SEND_MAX:
2826
2877
  val = vm_opt_newarray_max(ec, num, STACK_ADDR_FROM_TOP(num));
2827
2878
  break;
2879
+ case VM_OPT_NEWARRAY_SEND_INCLUDE_P:
2880
+ val = vm_opt_newarray_include_p(ec, (long)num-1, STACK_ADDR_FROM_TOP(num), TOPN(0));
2881
+ break;
2828
2882
  case VM_OPT_NEWARRAY_SEND_PACK:
2829
2883
  val = vm_opt_newarray_pack_buffer(ec, (long)num-1, STACK_ADDR_FROM_TOP(num), TOPN(0), Qundef);
2830
2884
  break;
@@ -2835,7 +2889,7 @@ INSN_ENTRY(opt_newarray_send)
2835
2889
  rb_bug("unreachable");
2836
2890
  }
2837
2891
  }
2838
- # line 2839 "vm.inc"
2892
+ # line 2893 "vm.inc"
2839
2893
  # undef NAME_OF_CURRENT_INSN
2840
2894
 
2841
2895
  /* ### Instruction trailers. ### */
@@ -2875,7 +2929,7 @@ INSN_ENTRY(invokesuper)
2875
2929
 
2876
2930
  /* ### Here we do the instruction body. ### */
2877
2931
  # define NAME_OF_CURRENT_INSN invokesuper
2878
- # line 1036 "insns.def"
2932
+ # line 1061 "insns.def"
2879
2933
  {
2880
2934
  VALUE bh = vm_caller_setup_arg_block(ec, GET_CFP(), cd->ci, blockiseq, true);
2881
2935
  val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_super);
@@ -2886,7 +2940,7 @@ INSN_ENTRY(invokesuper)
2886
2940
  NEXT_INSN();
2887
2941
  }
2888
2942
  }
2889
- # line 2890 "vm.inc"
2943
+ # line 2944 "vm.inc"
2890
2944
  # undef NAME_OF_CURRENT_INSN
2891
2945
 
2892
2946
  /* ### Instruction trailers. ### */
@@ -2923,7 +2977,7 @@ INSN_ENTRY(invokesuperforward)
2923
2977
 
2924
2978
  /* ### Here we do the instruction body. ### */
2925
2979
  # define NAME_OF_CURRENT_INSN invokesuperforward
2926
- # line 1055 "insns.def"
2980
+ # line 1080 "insns.def"
2927
2981
  {
2928
2982
  struct rb_forwarding_call_data adjusted_cd;
2929
2983
  struct rb_callinfo adjusted_ci;
@@ -2942,7 +2996,7 @@ INSN_ENTRY(invokesuperforward)
2942
2996
  NEXT_INSN();
2943
2997
  }
2944
2998
  }
2945
- # line 2946 "vm.inc"
2999
+ # line 3000 "vm.inc"
2946
3000
  # undef NAME_OF_CURRENT_INSN
2947
3001
 
2948
3002
  /* ### Instruction trailers. ### */
@@ -2977,7 +3031,7 @@ INSN_ENTRY(invokeblock)
2977
3031
 
2978
3032
  /* ### Here we do the instruction body. ### */
2979
3033
  # define NAME_OF_CURRENT_INSN invokeblock
2980
- # line 1083 "insns.def"
3034
+ # line 1108 "insns.def"
2981
3035
  {
2982
3036
  VALUE bh = VM_BLOCK_HANDLER_NONE;
2983
3037
  val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_invokeblock);
@@ -2988,7 +3042,7 @@ INSN_ENTRY(invokeblock)
2988
3042
  NEXT_INSN();
2989
3043
  }
2990
3044
  }
2991
- # line 2992 "vm.inc"
3045
+ # line 3046 "vm.inc"
2992
3046
  # undef NAME_OF_CURRENT_INSN
2993
3047
 
2994
3048
  /* ### Instruction trailers. ### */
@@ -3021,7 +3075,7 @@ INSN_ENTRY(leave)
3021
3075
 
3022
3076
  /* ### Here we do the instruction body. ### */
3023
3077
  # define NAME_OF_CURRENT_INSN leave
3024
- # line 1105 "insns.def"
3078
+ # line 1130 "insns.def"
3025
3079
  {
3026
3080
  if (OPT_CHECKED_RUN) {
3027
3081
  const VALUE *const bp = vm_base_ptr(GET_CFP());
@@ -3042,7 +3096,7 @@ INSN_ENTRY(leave)
3042
3096
  RESTORE_REGS();
3043
3097
  }
3044
3098
  }
3045
- # line 3046 "vm.inc"
3099
+ # line 3100 "vm.inc"
3046
3100
  # undef NAME_OF_CURRENT_INSN
3047
3101
 
3048
3102
  /* ### Instruction trailers. ### */
@@ -3077,13 +3131,13 @@ INSN_ENTRY(throw)
3077
3131
 
3078
3132
  /* ### Here we do the instruction body. ### */
3079
3133
  # define NAME_OF_CURRENT_INSN throw
3080
- # line 1138 "insns.def"
3134
+ # line 1163 "insns.def"
3081
3135
  {
3082
3136
  val = vm_throw(ec, GET_CFP(), throw_state, throwobj);
3083
3137
  THROW_EXCEPTION(val);
3084
3138
  /* unreachable */
3085
3139
  }
3086
- # line 3087 "vm.inc"
3140
+ # line 3141 "vm.inc"
3087
3141
  # undef NAME_OF_CURRENT_INSN
3088
3142
 
3089
3143
  /* ### Instruction trailers. ### */
@@ -3119,12 +3173,12 @@ INSN_ENTRY(jump)
3119
3173
 
3120
3174
  /* ### Here we do the instruction body. ### */
3121
3175
  # define NAME_OF_CURRENT_INSN jump
3122
- # line 1156 "insns.def"
3176
+ # line 1181 "insns.def"
3123
3177
  {
3124
3178
  RUBY_VM_CHECK_INTS(ec);
3125
3179
  JUMP(dst);
3126
3180
  }
3127
- # line 3128 "vm.inc"
3181
+ # line 3182 "vm.inc"
3128
3182
  # undef NAME_OF_CURRENT_INSN
3129
3183
 
3130
3184
  /* ### Instruction trailers. ### */
@@ -3158,14 +3212,14 @@ INSN_ENTRY(branchif)
3158
3212
 
3159
3213
  /* ### Here we do the instruction body. ### */
3160
3214
  # define NAME_OF_CURRENT_INSN branchif
3161
- # line 1169 "insns.def"
3215
+ # line 1194 "insns.def"
3162
3216
  {
3163
3217
  if (RTEST(val)) {
3164
3218
  RUBY_VM_CHECK_INTS(ec);
3165
3219
  JUMP(dst);
3166
3220
  }
3167
3221
  }
3168
- # line 3169 "vm.inc"
3222
+ # line 3223 "vm.inc"
3169
3223
  # undef NAME_OF_CURRENT_INSN
3170
3224
 
3171
3225
  /* ### Instruction trailers. ### */
@@ -3199,14 +3253,14 @@ INSN_ENTRY(branchunless)
3199
3253
 
3200
3254
  /* ### Here we do the instruction body. ### */
3201
3255
  # define NAME_OF_CURRENT_INSN branchunless
3202
- # line 1184 "insns.def"
3256
+ # line 1209 "insns.def"
3203
3257
  {
3204
3258
  if (!RTEST(val)) {
3205
3259
  RUBY_VM_CHECK_INTS(ec);
3206
3260
  JUMP(dst);
3207
3261
  }
3208
3262
  }
3209
- # line 3210 "vm.inc"
3263
+ # line 3264 "vm.inc"
3210
3264
  # undef NAME_OF_CURRENT_INSN
3211
3265
 
3212
3266
  /* ### Instruction trailers. ### */
@@ -3240,14 +3294,14 @@ INSN_ENTRY(branchnil)
3240
3294
 
3241
3295
  /* ### Here we do the instruction body. ### */
3242
3296
  # define NAME_OF_CURRENT_INSN branchnil
3243
- # line 1199 "insns.def"
3297
+ # line 1224 "insns.def"
3244
3298
  {
3245
3299
  if (NIL_P(val)) {
3246
3300
  RUBY_VM_CHECK_INTS(ec);
3247
3301
  JUMP(dst);
3248
3302
  }
3249
3303
  }
3250
- # line 3251 "vm.inc"
3304
+ # line 3305 "vm.inc"
3251
3305
  # undef NAME_OF_CURRENT_INSN
3252
3306
 
3253
3307
  /* ### Instruction trailers. ### */
@@ -3284,11 +3338,11 @@ INSN_ENTRY(once)
3284
3338
 
3285
3339
  /* ### Here we do the instruction body. ### */
3286
3340
  # define NAME_OF_CURRENT_INSN once
3287
- # line 1216 "insns.def"
3341
+ # line 1241 "insns.def"
3288
3342
  {
3289
3343
  val = vm_once_dispatch(ec, iseq, ise);
3290
3344
  }
3291
- # line 3292 "vm.inc"
3345
+ # line 3346 "vm.inc"
3292
3346
  # undef NAME_OF_CURRENT_INSN
3293
3347
 
3294
3348
  /* ### Instruction trailers. ### */
@@ -3324,7 +3378,7 @@ INSN_ENTRY(opt_case_dispatch)
3324
3378
 
3325
3379
  /* ### Here we do the instruction body. ### */
3326
3380
  # define NAME_OF_CURRENT_INSN opt_case_dispatch
3327
- # line 1227 "insns.def"
3381
+ # line 1252 "insns.def"
3328
3382
  {
3329
3383
  OFFSET dst = vm_case_dispatch(hash, else_offset, key);
3330
3384
 
@@ -3332,7 +3386,7 @@ INSN_ENTRY(opt_case_dispatch)
3332
3386
  JUMP(dst);
3333
3387
  }
3334
3388
  }
3335
- # line 3336 "vm.inc"
3389
+ # line 3390 "vm.inc"
3336
3390
  # undef NAME_OF_CURRENT_INSN
3337
3391
 
3338
3392
  /* ### Instruction trailers. ### */
@@ -3368,7 +3422,7 @@ INSN_ENTRY(opt_plus)
3368
3422
 
3369
3423
  /* ### Here we do the instruction body. ### */
3370
3424
  # define NAME_OF_CURRENT_INSN opt_plus
3371
- # line 1243 "insns.def"
3425
+ # line 1268 "insns.def"
3372
3426
  {
3373
3427
  val = vm_opt_plus(recv, obj);
3374
3428
 
@@ -3376,7 +3430,7 @@ INSN_ENTRY(opt_plus)
3376
3430
  CALL_SIMPLE_METHOD();
3377
3431
  }
3378
3432
  }
3379
- # line 3380 "vm.inc"
3433
+ # line 3434 "vm.inc"
3380
3434
  # undef NAME_OF_CURRENT_INSN
3381
3435
 
3382
3436
  /* ### Instruction trailers. ### */
@@ -3415,7 +3469,7 @@ INSN_ENTRY(opt_minus)
3415
3469
 
3416
3470
  /* ### Here we do the instruction body. ### */
3417
3471
  # define NAME_OF_CURRENT_INSN opt_minus
3418
- # line 1257 "insns.def"
3472
+ # line 1282 "insns.def"
3419
3473
  {
3420
3474
  val = vm_opt_minus(recv, obj);
3421
3475
 
@@ -3423,7 +3477,7 @@ INSN_ENTRY(opt_minus)
3423
3477
  CALL_SIMPLE_METHOD();
3424
3478
  }
3425
3479
  }
3426
- # line 3427 "vm.inc"
3480
+ # line 3481 "vm.inc"
3427
3481
  # undef NAME_OF_CURRENT_INSN
3428
3482
 
3429
3483
  /* ### Instruction trailers. ### */
@@ -3462,7 +3516,7 @@ INSN_ENTRY(opt_mult)
3462
3516
 
3463
3517
  /* ### Here we do the instruction body. ### */
3464
3518
  # define NAME_OF_CURRENT_INSN opt_mult
3465
- # line 1271 "insns.def"
3519
+ # line 1296 "insns.def"
3466
3520
  {
3467
3521
  val = vm_opt_mult(recv, obj);
3468
3522
 
@@ -3470,7 +3524,7 @@ INSN_ENTRY(opt_mult)
3470
3524
  CALL_SIMPLE_METHOD();
3471
3525
  }
3472
3526
  }
3473
- # line 3474 "vm.inc"
3527
+ # line 3528 "vm.inc"
3474
3528
  # undef NAME_OF_CURRENT_INSN
3475
3529
 
3476
3530
  /* ### Instruction trailers. ### */
@@ -3509,7 +3563,7 @@ INSN_ENTRY(opt_div)
3509
3563
 
3510
3564
  /* ### Here we do the instruction body. ### */
3511
3565
  # define NAME_OF_CURRENT_INSN opt_div
3512
- # line 1288 "insns.def"
3566
+ # line 1313 "insns.def"
3513
3567
  {
3514
3568
  val = vm_opt_div(recv, obj);
3515
3569
 
@@ -3517,7 +3571,7 @@ INSN_ENTRY(opt_div)
3517
3571
  CALL_SIMPLE_METHOD();
3518
3572
  }
3519
3573
  }
3520
- # line 3521 "vm.inc"
3574
+ # line 3575 "vm.inc"
3521
3575
  # undef NAME_OF_CURRENT_INSN
3522
3576
 
3523
3577
  /* ### Instruction trailers. ### */
@@ -3556,7 +3610,7 @@ INSN_ENTRY(opt_mod)
3556
3610
 
3557
3611
  /* ### Here we do the instruction body. ### */
3558
3612
  # define NAME_OF_CURRENT_INSN opt_mod
3559
- # line 1304 "insns.def"
3613
+ # line 1329 "insns.def"
3560
3614
  {
3561
3615
  val = vm_opt_mod(recv, obj);
3562
3616
 
@@ -3564,7 +3618,7 @@ INSN_ENTRY(opt_mod)
3564
3618
  CALL_SIMPLE_METHOD();
3565
3619
  }
3566
3620
  }
3567
- # line 3568 "vm.inc"
3621
+ # line 3622 "vm.inc"
3568
3622
  # undef NAME_OF_CURRENT_INSN
3569
3623
 
3570
3624
  /* ### Instruction trailers. ### */
@@ -3603,7 +3657,7 @@ INSN_ENTRY(opt_eq)
3603
3657
 
3604
3658
  /* ### Here we do the instruction body. ### */
3605
3659
  # define NAME_OF_CURRENT_INSN opt_eq
3606
- # line 1318 "insns.def"
3660
+ # line 1343 "insns.def"
3607
3661
  {
3608
3662
  val = opt_equality(GET_ISEQ(), recv, obj, cd);
3609
3663
 
@@ -3611,7 +3665,7 @@ INSN_ENTRY(opt_eq)
3611
3665
  CALL_SIMPLE_METHOD();
3612
3666
  }
3613
3667
  }
3614
- # line 3615 "vm.inc"
3668
+ # line 3669 "vm.inc"
3615
3669
  # undef NAME_OF_CURRENT_INSN
3616
3670
 
3617
3671
  /* ### Instruction trailers. ### */
@@ -3652,7 +3706,7 @@ INSN_ENTRY(opt_neq)
3652
3706
 
3653
3707
  /* ### Here we do the instruction body. ### */
3654
3708
  # define NAME_OF_CURRENT_INSN opt_neq
3655
- # line 1332 "insns.def"
3709
+ # line 1357 "insns.def"
3656
3710
  {
3657
3711
  val = vm_opt_neq(GET_ISEQ(), cd, cd_eq, recv, obj);
3658
3712
 
@@ -3660,7 +3714,7 @@ INSN_ENTRY(opt_neq)
3660
3714
  CALL_SIMPLE_METHOD();
3661
3715
  }
3662
3716
  }
3663
- # line 3664 "vm.inc"
3717
+ # line 3718 "vm.inc"
3664
3718
  # undef NAME_OF_CURRENT_INSN
3665
3719
 
3666
3720
  /* ### Instruction trailers. ### */
@@ -3699,7 +3753,7 @@ INSN_ENTRY(opt_lt)
3699
3753
 
3700
3754
  /* ### Here we do the instruction body. ### */
3701
3755
  # define NAME_OF_CURRENT_INSN opt_lt
3702
- # line 1346 "insns.def"
3756
+ # line 1371 "insns.def"
3703
3757
  {
3704
3758
  val = vm_opt_lt(recv, obj);
3705
3759
 
@@ -3707,7 +3761,7 @@ INSN_ENTRY(opt_lt)
3707
3761
  CALL_SIMPLE_METHOD();
3708
3762
  }
3709
3763
  }
3710
- # line 3711 "vm.inc"
3764
+ # line 3765 "vm.inc"
3711
3765
  # undef NAME_OF_CURRENT_INSN
3712
3766
 
3713
3767
  /* ### Instruction trailers. ### */
@@ -3746,7 +3800,7 @@ INSN_ENTRY(opt_le)
3746
3800
 
3747
3801
  /* ### Here we do the instruction body. ### */
3748
3802
  # define NAME_OF_CURRENT_INSN opt_le
3749
- # line 1360 "insns.def"
3803
+ # line 1385 "insns.def"
3750
3804
  {
3751
3805
  val = vm_opt_le(recv, obj);
3752
3806
 
@@ -3754,7 +3808,7 @@ INSN_ENTRY(opt_le)
3754
3808
  CALL_SIMPLE_METHOD();
3755
3809
  }
3756
3810
  }
3757
- # line 3758 "vm.inc"
3811
+ # line 3812 "vm.inc"
3758
3812
  # undef NAME_OF_CURRENT_INSN
3759
3813
 
3760
3814
  /* ### Instruction trailers. ### */
@@ -3793,7 +3847,7 @@ INSN_ENTRY(opt_gt)
3793
3847
 
3794
3848
  /* ### Here we do the instruction body. ### */
3795
3849
  # define NAME_OF_CURRENT_INSN opt_gt
3796
- # line 1374 "insns.def"
3850
+ # line 1399 "insns.def"
3797
3851
  {
3798
3852
  val = vm_opt_gt(recv, obj);
3799
3853
 
@@ -3801,7 +3855,7 @@ INSN_ENTRY(opt_gt)
3801
3855
  CALL_SIMPLE_METHOD();
3802
3856
  }
3803
3857
  }
3804
- # line 3805 "vm.inc"
3858
+ # line 3859 "vm.inc"
3805
3859
  # undef NAME_OF_CURRENT_INSN
3806
3860
 
3807
3861
  /* ### Instruction trailers. ### */
@@ -3840,7 +3894,7 @@ INSN_ENTRY(opt_ge)
3840
3894
 
3841
3895
  /* ### Here we do the instruction body. ### */
3842
3896
  # define NAME_OF_CURRENT_INSN opt_ge
3843
- # line 1388 "insns.def"
3897
+ # line 1413 "insns.def"
3844
3898
  {
3845
3899
  val = vm_opt_ge(recv, obj);
3846
3900
 
@@ -3848,7 +3902,7 @@ INSN_ENTRY(opt_ge)
3848
3902
  CALL_SIMPLE_METHOD();
3849
3903
  }
3850
3904
  }
3851
- # line 3852 "vm.inc"
3905
+ # line 3906 "vm.inc"
3852
3906
  # undef NAME_OF_CURRENT_INSN
3853
3907
 
3854
3908
  /* ### Instruction trailers. ### */
@@ -3887,7 +3941,7 @@ INSN_ENTRY(opt_ltlt)
3887
3941
 
3888
3942
  /* ### Here we do the instruction body. ### */
3889
3943
  # define NAME_OF_CURRENT_INSN opt_ltlt
3890
- # line 1406 "insns.def"
3944
+ # line 1431 "insns.def"
3891
3945
  {
3892
3946
  val = vm_opt_ltlt(recv, obj);
3893
3947
 
@@ -3895,7 +3949,7 @@ INSN_ENTRY(opt_ltlt)
3895
3949
  CALL_SIMPLE_METHOD();
3896
3950
  }
3897
3951
  }
3898
- # line 3899 "vm.inc"
3952
+ # line 3953 "vm.inc"
3899
3953
  # undef NAME_OF_CURRENT_INSN
3900
3954
 
3901
3955
  /* ### Instruction trailers. ### */
@@ -3934,7 +3988,7 @@ INSN_ENTRY(opt_and)
3934
3988
 
3935
3989
  /* ### Here we do the instruction body. ### */
3936
3990
  # define NAME_OF_CURRENT_INSN opt_and
3937
- # line 1420 "insns.def"
3991
+ # line 1445 "insns.def"
3938
3992
  {
3939
3993
  val = vm_opt_and(recv, obj);
3940
3994
 
@@ -3942,7 +3996,7 @@ INSN_ENTRY(opt_and)
3942
3996
  CALL_SIMPLE_METHOD();
3943
3997
  }
3944
3998
  }
3945
- # line 3946 "vm.inc"
3999
+ # line 4000 "vm.inc"
3946
4000
  # undef NAME_OF_CURRENT_INSN
3947
4001
 
3948
4002
  /* ### Instruction trailers. ### */
@@ -3981,7 +4035,7 @@ INSN_ENTRY(opt_or)
3981
4035
 
3982
4036
  /* ### Here we do the instruction body. ### */
3983
4037
  # define NAME_OF_CURRENT_INSN opt_or
3984
- # line 1434 "insns.def"
4038
+ # line 1459 "insns.def"
3985
4039
  {
3986
4040
  val = vm_opt_or(recv, obj);
3987
4041
 
@@ -3989,7 +4043,7 @@ INSN_ENTRY(opt_or)
3989
4043
  CALL_SIMPLE_METHOD();
3990
4044
  }
3991
4045
  }
3992
- # line 3993 "vm.inc"
4046
+ # line 4047 "vm.inc"
3993
4047
  # undef NAME_OF_CURRENT_INSN
3994
4048
 
3995
4049
  /* ### Instruction trailers. ### */
@@ -4028,7 +4082,7 @@ INSN_ENTRY(opt_aref)
4028
4082
 
4029
4083
  /* ### Here we do the instruction body. ### */
4030
4084
  # define NAME_OF_CURRENT_INSN opt_aref
4031
- # line 1453 "insns.def"
4085
+ # line 1478 "insns.def"
4032
4086
  {
4033
4087
  val = vm_opt_aref(recv, obj);
4034
4088
 
@@ -4036,7 +4090,7 @@ INSN_ENTRY(opt_aref)
4036
4090
  CALL_SIMPLE_METHOD();
4037
4091
  }
4038
4092
  }
4039
- # line 4040 "vm.inc"
4093
+ # line 4094 "vm.inc"
4040
4094
  # undef NAME_OF_CURRENT_INSN
4041
4095
 
4042
4096
  /* ### Instruction trailers. ### */
@@ -4076,7 +4130,7 @@ INSN_ENTRY(opt_aset)
4076
4130
 
4077
4131
  /* ### Here we do the instruction body. ### */
4078
4132
  # define NAME_OF_CURRENT_INSN opt_aset
4079
- # line 1470 "insns.def"
4133
+ # line 1495 "insns.def"
4080
4134
  {
4081
4135
  val = vm_opt_aset(recv, obj, set);
4082
4136
 
@@ -4084,7 +4138,7 @@ INSN_ENTRY(opt_aset)
4084
4138
  CALL_SIMPLE_METHOD();
4085
4139
  }
4086
4140
  }
4087
- # line 4088 "vm.inc"
4141
+ # line 4142 "vm.inc"
4088
4142
  # undef NAME_OF_CURRENT_INSN
4089
4143
 
4090
4144
  /* ### Instruction trailers. ### */
@@ -4124,7 +4178,7 @@ INSN_ENTRY(opt_aset_with)
4124
4178
 
4125
4179
  /* ### Here we do the instruction body. ### */
4126
4180
  # define NAME_OF_CURRENT_INSN opt_aset_with
4127
- # line 1486 "insns.def"
4181
+ # line 1511 "insns.def"
4128
4182
  {
4129
4183
  VALUE tmp = vm_opt_aset_with(recv, key, val);
4130
4184
 
@@ -4137,7 +4191,7 @@ INSN_ENTRY(opt_aset_with)
4137
4191
  CALL_SIMPLE_METHOD();
4138
4192
  }
4139
4193
  }
4140
- # line 4141 "vm.inc"
4194
+ # line 4195 "vm.inc"
4141
4195
  # undef NAME_OF_CURRENT_INSN
4142
4196
 
4143
4197
  /* ### Instruction trailers. ### */
@@ -4177,7 +4231,7 @@ INSN_ENTRY(opt_aref_with)
4177
4231
 
4178
4232
  /* ### Here we do the instruction body. ### */
4179
4233
  # define NAME_OF_CURRENT_INSN opt_aref_with
4180
- # line 1507 "insns.def"
4234
+ # line 1532 "insns.def"
4181
4235
  {
4182
4236
  val = vm_opt_aref_with(recv, key);
4183
4237
 
@@ -4186,7 +4240,7 @@ INSN_ENTRY(opt_aref_with)
4186
4240
  CALL_SIMPLE_METHOD();
4187
4241
  }
4188
4242
  }
4189
- # line 4190 "vm.inc"
4243
+ # line 4244 "vm.inc"
4190
4244
  # undef NAME_OF_CURRENT_INSN
4191
4245
 
4192
4246
  /* ### Instruction trailers. ### */
@@ -4224,7 +4278,7 @@ INSN_ENTRY(opt_length)
4224
4278
 
4225
4279
  /* ### Here we do the instruction body. ### */
4226
4280
  # define NAME_OF_CURRENT_INSN opt_length
4227
- # line 1522 "insns.def"
4281
+ # line 1547 "insns.def"
4228
4282
  {
4229
4283
  val = vm_opt_length(recv, BOP_LENGTH);
4230
4284
 
@@ -4232,7 +4286,7 @@ INSN_ENTRY(opt_length)
4232
4286
  CALL_SIMPLE_METHOD();
4233
4287
  }
4234
4288
  }
4235
- # line 4236 "vm.inc"
4289
+ # line 4290 "vm.inc"
4236
4290
  # undef NAME_OF_CURRENT_INSN
4237
4291
 
4238
4292
  /* ### Instruction trailers. ### */
@@ -4270,7 +4324,7 @@ INSN_ENTRY(opt_size)
4270
4324
 
4271
4325
  /* ### Here we do the instruction body. ### */
4272
4326
  # define NAME_OF_CURRENT_INSN opt_size
4273
- # line 1536 "insns.def"
4327
+ # line 1561 "insns.def"
4274
4328
  {
4275
4329
  val = vm_opt_length(recv, BOP_SIZE);
4276
4330
 
@@ -4278,7 +4332,7 @@ INSN_ENTRY(opt_size)
4278
4332
  CALL_SIMPLE_METHOD();
4279
4333
  }
4280
4334
  }
4281
- # line 4282 "vm.inc"
4335
+ # line 4336 "vm.inc"
4282
4336
  # undef NAME_OF_CURRENT_INSN
4283
4337
 
4284
4338
  /* ### Instruction trailers. ### */
@@ -4316,7 +4370,7 @@ INSN_ENTRY(opt_empty_p)
4316
4370
 
4317
4371
  /* ### Here we do the instruction body. ### */
4318
4372
  # define NAME_OF_CURRENT_INSN opt_empty_p
4319
- # line 1550 "insns.def"
4373
+ # line 1575 "insns.def"
4320
4374
  {
4321
4375
  val = vm_opt_empty_p(recv);
4322
4376
 
@@ -4324,7 +4378,7 @@ INSN_ENTRY(opt_empty_p)
4324
4378
  CALL_SIMPLE_METHOD();
4325
4379
  }
4326
4380
  }
4327
- # line 4328 "vm.inc"
4381
+ # line 4382 "vm.inc"
4328
4382
  # undef NAME_OF_CURRENT_INSN
4329
4383
 
4330
4384
  /* ### Instruction trailers. ### */
@@ -4362,7 +4416,7 @@ INSN_ENTRY(opt_succ)
4362
4416
 
4363
4417
  /* ### Here we do the instruction body. ### */
4364
4418
  # define NAME_OF_CURRENT_INSN opt_succ
4365
- # line 1564 "insns.def"
4419
+ # line 1589 "insns.def"
4366
4420
  {
4367
4421
  val = vm_opt_succ(recv);
4368
4422
 
@@ -4370,7 +4424,7 @@ INSN_ENTRY(opt_succ)
4370
4424
  CALL_SIMPLE_METHOD();
4371
4425
  }
4372
4426
  }
4373
- # line 4374 "vm.inc"
4427
+ # line 4428 "vm.inc"
4374
4428
  # undef NAME_OF_CURRENT_INSN
4375
4429
 
4376
4430
  /* ### Instruction trailers. ### */
@@ -4408,7 +4462,7 @@ INSN_ENTRY(opt_not)
4408
4462
 
4409
4463
  /* ### Here we do the instruction body. ### */
4410
4464
  # define NAME_OF_CURRENT_INSN opt_not
4411
- # line 1578 "insns.def"
4465
+ # line 1603 "insns.def"
4412
4466
  {
4413
4467
  val = vm_opt_not(GET_ISEQ(), cd, recv);
4414
4468
 
@@ -4416,7 +4470,7 @@ INSN_ENTRY(opt_not)
4416
4470
  CALL_SIMPLE_METHOD();
4417
4471
  }
4418
4472
  }
4419
- # line 4420 "vm.inc"
4473
+ # line 4474 "vm.inc"
4420
4474
  # undef NAME_OF_CURRENT_INSN
4421
4475
 
4422
4476
  /* ### Instruction trailers. ### */
@@ -4455,7 +4509,7 @@ INSN_ENTRY(opt_regexpmatch2)
4455
4509
 
4456
4510
  /* ### Here we do the instruction body. ### */
4457
4511
  # define NAME_OF_CURRENT_INSN opt_regexpmatch2
4458
- # line 1593 "insns.def"
4512
+ # line 1618 "insns.def"
4459
4513
  {
4460
4514
  val = vm_opt_regexpmatch2(obj2, obj1);
4461
4515
 
@@ -4463,7 +4517,7 @@ INSN_ENTRY(opt_regexpmatch2)
4463
4517
  CALL_SIMPLE_METHOD();
4464
4518
  }
4465
4519
  }
4466
- # line 4467 "vm.inc"
4520
+ # line 4521 "vm.inc"
4467
4521
  # undef NAME_OF_CURRENT_INSN
4468
4522
 
4469
4523
  /* ### Instruction trailers. ### */
@@ -4500,11 +4554,11 @@ INSN_ENTRY(invokebuiltin)
4500
4554
 
4501
4555
  /* ### Here we do the instruction body. ### */
4502
4556
  # define NAME_OF_CURRENT_INSN invokebuiltin
4503
- # line 1609 "insns.def"
4557
+ # line 1634 "insns.def"
4504
4558
  {
4505
4559
  val = vm_invoke_builtin(ec, reg_cfp, bf, STACK_ADDR_FROM_TOP(bf->argc));
4506
4560
  }
4507
- # line 4508 "vm.inc"
4561
+ # line 4562 "vm.inc"
4508
4562
  # undef NAME_OF_CURRENT_INSN
4509
4563
 
4510
4564
  /* ### Instruction trailers. ### */
@@ -4543,11 +4597,11 @@ INSN_ENTRY(opt_invokebuiltin_delegate)
4543
4597
 
4544
4598
  /* ### Here we do the instruction body. ### */
4545
4599
  # define NAME_OF_CURRENT_INSN opt_invokebuiltin_delegate
4546
- # line 1620 "insns.def"
4600
+ # line 1645 "insns.def"
4547
4601
  {
4548
4602
  val = vm_invoke_builtin_delegate(ec, reg_cfp, bf, (unsigned int)index);
4549
4603
  }
4550
- # line 4551 "vm.inc"
4604
+ # line 4605 "vm.inc"
4551
4605
  # undef NAME_OF_CURRENT_INSN
4552
4606
 
4553
4607
  /* ### Instruction trailers. ### */
@@ -4586,7 +4640,7 @@ INSN_ENTRY(opt_invokebuiltin_delegate_leave)
4586
4640
 
4587
4641
  /* ### Here we do the instruction body. ### */
4588
4642
  # define NAME_OF_CURRENT_INSN opt_invokebuiltin_delegate_leave
4589
- # line 1631 "insns.def"
4643
+ # line 1656 "insns.def"
4590
4644
  {
4591
4645
  val = vm_invoke_builtin_delegate(ec, reg_cfp, bf, (unsigned int)index);
4592
4646
 
@@ -4604,7 +4658,7 @@ INSN_ENTRY(opt_invokebuiltin_delegate_leave)
4604
4658
  RESTORE_REGS();
4605
4659
  }
4606
4660
  }
4607
- # line 4608 "vm.inc"
4661
+ # line 4662 "vm.inc"
4608
4662
  # undef NAME_OF_CURRENT_INSN
4609
4663
 
4610
4664
  /* ### Instruction trailers. ### */
@@ -4630,7 +4684,7 @@ INSN_ENTRY(getlocal_WC_0)
4630
4684
  /* ### Declare and assign variables. ### */
4631
4685
  #line 10 "defs/opt_operand.def"
4632
4686
  const rb_num_t level = 0;
4633
- #line 4634 "vm.inc"
4687
+ #line 4688 "vm.inc"
4634
4688
  lindex_t idx = (lindex_t)GET_OPERAND(1);
4635
4689
  # define INSN_ATTR(x) attr_ ## x ## _getlocal_WC_0(idx)
4636
4690
  const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
@@ -4650,7 +4704,7 @@ INSN_ENTRY(getlocal_WC_0)
4650
4704
  RB_DEBUG_COUNTER_INC(lvar_get);
4651
4705
  (void)RB_DEBUG_COUNTER_INC_IF(lvar_get_dynamic, level > 0);
4652
4706
  }
4653
- # line 4654 "vm.inc"
4707
+ # line 4708 "vm.inc"
4654
4708
  # undef NAME_OF_CURRENT_INSN
4655
4709
 
4656
4710
  /* ### Instruction trailers. ### */
@@ -4676,7 +4730,7 @@ INSN_ENTRY(getlocal_WC_1)
4676
4730
  /* ### Declare and assign variables. ### */
4677
4731
  #line 11 "defs/opt_operand.def"
4678
4732
  const rb_num_t level = 1;
4679
- #line 4680 "vm.inc"
4733
+ #line 4734 "vm.inc"
4680
4734
  lindex_t idx = (lindex_t)GET_OPERAND(1);
4681
4735
  # define INSN_ATTR(x) attr_ ## x ## _getlocal_WC_1(idx)
4682
4736
  const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
@@ -4696,7 +4750,7 @@ INSN_ENTRY(getlocal_WC_1)
4696
4750
  RB_DEBUG_COUNTER_INC(lvar_get);
4697
4751
  (void)RB_DEBUG_COUNTER_INC_IF(lvar_get_dynamic, level > 0);
4698
4752
  }
4699
- # line 4700 "vm.inc"
4753
+ # line 4754 "vm.inc"
4700
4754
  # undef NAME_OF_CURRENT_INSN
4701
4755
 
4702
4756
  /* ### Instruction trailers. ### */
@@ -4722,7 +4776,7 @@ INSN_ENTRY(setlocal_WC_0)
4722
4776
  /* ### Declare and assign variables. ### */
4723
4777
  #line 12 "defs/opt_operand.def"
4724
4778
  const rb_num_t level = 0;
4725
- #line 4726 "vm.inc"
4779
+ #line 4780 "vm.inc"
4726
4780
  lindex_t idx = (lindex_t)GET_OPERAND(1);
4727
4781
  # define INSN_ATTR(x) attr_ ## x ## _setlocal_WC_0(idx)
4728
4782
  const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
@@ -4742,7 +4796,7 @@ INSN_ENTRY(setlocal_WC_0)
4742
4796
  RB_DEBUG_COUNTER_INC(lvar_set);
4743
4797
  (void)RB_DEBUG_COUNTER_INC_IF(lvar_set_dynamic, level > 0);
4744
4798
  }
4745
- # line 4746 "vm.inc"
4799
+ # line 4800 "vm.inc"
4746
4800
  # undef NAME_OF_CURRENT_INSN
4747
4801
 
4748
4802
  /* ### Instruction trailers. ### */
@@ -4765,7 +4819,7 @@ INSN_ENTRY(setlocal_WC_1)
4765
4819
  /* ### Declare and assign variables. ### */
4766
4820
  #line 13 "defs/opt_operand.def"
4767
4821
  const rb_num_t level = 1;
4768
- #line 4769 "vm.inc"
4822
+ #line 4823 "vm.inc"
4769
4823
  lindex_t idx = (lindex_t)GET_OPERAND(1);
4770
4824
  # define INSN_ATTR(x) attr_ ## x ## _setlocal_WC_1(idx)
4771
4825
  const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
@@ -4785,7 +4839,7 @@ INSN_ENTRY(setlocal_WC_1)
4785
4839
  RB_DEBUG_COUNTER_INC(lvar_set);
4786
4840
  (void)RB_DEBUG_COUNTER_INC_IF(lvar_set_dynamic, level > 0);
4787
4841
  }
4788
- # line 4789 "vm.inc"
4842
+ # line 4843 "vm.inc"
4789
4843
  # undef NAME_OF_CURRENT_INSN
4790
4844
 
4791
4845
  /* ### Instruction trailers. ### */
@@ -4808,7 +4862,7 @@ INSN_ENTRY(putobject_INT2FIX_0_)
4808
4862
  /* ### Declare and assign variables. ### */
4809
4863
  #line 15 "defs/opt_operand.def"
4810
4864
  const VALUE val = INT2FIX(0);
4811
- #line 4812 "vm.inc"
4865
+ #line 4866 "vm.inc"
4812
4866
  # define INSN_ATTR(x) attr_ ## x ## _putobject_INT2FIX_0_()
4813
4867
  const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
4814
4868
 
@@ -4838,7 +4892,7 @@ INSN_ENTRY(putobject_INT2FIX_1_)
4838
4892
  /* ### Declare and assign variables. ### */
4839
4893
  #line 16 "defs/opt_operand.def"
4840
4894
  const VALUE val = INT2FIX(1);
4841
- #line 4842 "vm.inc"
4895
+ #line 4896 "vm.inc"
4842
4896
  # define INSN_ATTR(x) attr_ ## x ## _putobject_INT2FIX_1_()
4843
4897
  const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
4844
4898
 
@@ -5434,6 +5488,15 @@ INSN_ENTRY(trace_opt_str_uminus)
5434
5488
  END_INSN(trace_opt_str_uminus);
5435
5489
  }
5436
5490
 
5491
+ /* insn trace_opt_duparray_send(...)(...)(...) */
5492
+ INSN_ENTRY(trace_opt_duparray_send)
5493
+ {
5494
+ vm_trace(ec, GET_CFP());
5495
+
5496
+ DISPATCH_ORIGINAL_INSN(opt_duparray_send);
5497
+ END_INSN(trace_opt_duparray_send);
5498
+ }
5499
+
5437
5500
  /* insn trace_opt_newarray_send(...)(...)(...) */
5438
5501
  INSN_ENTRY(trace_opt_newarray_send)
5439
5502
  {