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.
- checksums.yaml +4 -4
- data/.ruby-version +1 -0
- data/CHANGELOG.md +10 -0
- data/Rakefile +3 -1
- data/debase-ruby_core_source.gemspec +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/builtin.h +7 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/darray.h +1 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/id.h +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/insns.inc +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/insns_info.inc +310 -175
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/basic_operators.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/bits.h +82 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/encoding.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/error.h +26 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/fixnum.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/gc.h +14 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/imemo.h +6 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/io.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/parse.h +2 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/proc.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/ractor.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/sanitizers.h +31 -39
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/string.h +22 -10
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/thread.h +23 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/vm.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/method.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/optunifs.inc +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/parse.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/ast.h +427 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/defines.h +8 -7
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/diagnostic.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/extension.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/prism.h +47 -11
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/version.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism_compile.h +5 -5
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/ractor_core.h +6 -6
- data/lib/debase/ruby_core_source/ruby-3.4.0-p-1/revision.h +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/rubyparser.h +3 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/thread_pthread.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/version.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm.inc +151 -88
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_core.h +40 -12
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_sync.h +3 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vmtc.inc +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/yjit.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/builtin.h +7 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/darray.h +101 -14
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/debug_counter.h +6 -4
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/dln.h +1 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/eval_intern.h +7 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/id.h +16 -5
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/id_table.h +15 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/insns.inc +49 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/insns_info.inc +2432 -721
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/array.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/basic_operators.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/bignum.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/bits.h +82 -0
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/internal/box.h +81 -0
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/internal/class.h +805 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/cmdlineopt.h +3 -4
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/internal/concurrent_set.h +21 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/encoding.h +4 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/error.h +35 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/eval.h +8 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/fixnum.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/gc.h +54 -30
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/hash.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/imemo.h +94 -32
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/inits.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/io.h +30 -7
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/load.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/numeric.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/object.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/parse.h +18 -4
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/proc.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/ractor.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/re.h +7 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/sanitizers.h +88 -39
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/internal/set_table.h +70 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/signal.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/st.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/string.h +39 -18
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/struct.h +38 -5
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/symbol.h +4 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/thread.h +42 -9
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/time.h +4 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/variable.h +13 -11
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/vm.h +6 -7
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal.h +0 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/iseq.h +19 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/known_errors.inc +103 -103
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/method.h +18 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/node.h +14 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/optunifs.inc +1 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/parse.h +37 -36
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/ast.h +2495 -507
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/defines.h +61 -7
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/diagnostic.h +31 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/extension.h +5 -5
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/node.h +0 -21
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/options.h +186 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/parser.h +85 -40
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/prism.h +88 -16
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/prism/regexp.h +43 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/static_literals.h +3 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_buffer.h +18 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_char.h +1 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_constant_pool.h +0 -8
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_integer.h +26 -15
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_list.h +6 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_newline_list.h +11 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_string.h +39 -13
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/version.h +3 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism_compile.h +30 -12
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/ractor_core.h +47 -134
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/regenc.h +9 -4
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/regint.h +0 -5
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/regparse.h +2 -2
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/revision.h +5 -0
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/ruby_atomic.h +66 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/rubyparser.h +214 -250
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/shape.h +444 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/symbol.h +8 -10
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/thread_pthread.h +36 -27
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/variable.h +8 -20
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm.inc +884 -344
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm_callinfo.h +110 -75
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm_core.h +220 -106
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/vm_exec.h +15 -4
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm_insnhelper.h +11 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm_sync.h +23 -4
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vmtc.inc +42 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/yjit.h +5 -3
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/zjit.h +47 -0
- data/lib/debase/ruby_core_source/version.rb +1 -1
- data/lib/debase/ruby_core_source.rb +4 -2
- data/test/deduce_source_dir_test.rb +31 -0
- metadata +307 -293
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +0 -283
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/shape.h +0 -233
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_atomic.h +0 -23
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/addr2line.h +0 -0
- /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
- /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
- /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
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/list/list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/str/str.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/constant.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/debug_counter.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/dln.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/encindex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/eval_intern.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/hrtime.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/id_table.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/array.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/bignum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/class.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/cmdlineopt.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compar.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compile.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compilers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/complex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/cont.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/dir.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enumerator.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/eval.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/file.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/hash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/inits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/load.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/loadpath.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/math.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/missing.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/numeric.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/object.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/process.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/random.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/range.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/rational.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/re.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/ruby_parser.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/serial.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/signal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/static_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/struct.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/symbol.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/time.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/transcode.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/util.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/variable.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/warnings.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/iseq.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/known_errors.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/node_name.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/optinsn.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_bits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_value.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/encoding.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/options.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/pack.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/parser.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/prettyprint.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/regexp.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/static_literals.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_buffer.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_char.h +0 -0
- /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
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_integer.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_memchr.h +0 -0
- /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
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_string.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_strncasecmp.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_strpbrk.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/probes_helper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/regenc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/regint.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/regparse.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/rjit.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/rjit_c.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ruby_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ruby_atomic.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/shape.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/siphash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/symbol.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/thread_none.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/thread_win32.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/timev.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/transcode_data.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/variable.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_call_iseq_optimized.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_callinfo.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_debug.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_exec.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_insnhelper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_opts.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/addr2line.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/build_assert/build_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/check_type/check_type.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/container_of/container_of.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/list/list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/str/str.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/constant.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/encindex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/hrtime.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/compar.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/compile.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/compilers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/complex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/cont.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/dir.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/enc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/enum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/enumerator.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/file.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/loadpath.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/math.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/missing.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/process.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/random.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/range.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/rational.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/ruby_parser.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/serial.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/static_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/transcode.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/util.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/warnings.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/node_name.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/optinsn.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/parser_bits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/parser_node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/parser_st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/parser_value.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/encoding.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/pack.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/prettyprint.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_memchr.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_strncasecmp.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_strpbrk.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/probes_helper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ruby_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/siphash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/thread_none.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/thread_win32.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/timev.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/transcode_data.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/version.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/vm_call_iseq_optimized.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/vm_debug.h +0 -0
- /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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
3176
|
+
# line 1181 "insns.def"
|
|
3123
3177
|
{
|
|
3124
3178
|
RUBY_VM_CHECK_INTS(ec);
|
|
3125
3179
|
JUMP(dst);
|
|
3126
3180
|
}
|
|
3127
|
-
# line
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
3341
|
+
# line 1241 "insns.def"
|
|
3288
3342
|
{
|
|
3289
3343
|
val = vm_once_dispatch(ec, iseq, ise);
|
|
3290
3344
|
}
|
|
3291
|
-
# line
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
{
|