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