debase-ruby_core_source 3.3.5 → 3.4.1
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/.gitignore +2 -1
- data/.idea/vcs.xml +28 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +14 -0
- data/Rakefile +3 -1
- data/debase-ruby_core_source.gemspec +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/builtin.h +7 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/darray.h +22 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/debug_counter.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/dln.h +0 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/id.h +9 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/insns.inc +10 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/insns_info.inc +819 -312
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/array.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/basic_operators.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/bits.h +82 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/class.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/encoding.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/error.h +28 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/fixnum.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/gc.h +24 -28
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/hash.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/imemo.h +7 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/io.h +4 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/parse.h +16 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/proc.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/ractor.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/sanitizers.h +60 -39
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/string.h +34 -18
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/thread.h +29 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/vm.h +3 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/known_errors.inc +103 -103
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/method.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/optunifs.inc +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parse.h +5 -4
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/ast.h +2156 -453
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/defines.h +44 -7
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/diagnostic.h +24 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/extension.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/node.h +0 -21
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/options.h +94 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/parser.h +82 -40
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/prism.h +47 -11
- data/lib/debase/ruby_core_source/ruby-3.4.0-p-1/prism/regexp.h +43 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/static_literals.h +3 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_char.h +1 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_constant_pool.h +0 -8
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_integer.h +22 -15
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_newline_list.h +11 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_string.h +28 -12
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/version.h +3 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism_compile.h +23 -12
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ractor_core.h +9 -20
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/regint.h +0 -4
- data/lib/debase/ruby_core_source/ruby-3.4.0-p-1/revision.h +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/rubyparser.h +171 -250
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/shape.h +2 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/symbol.h +6 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/thread_pthread.h +26 -25
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/version.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm.inc +467 -207
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_callinfo.h +24 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_core.h +62 -48
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_insnhelper.h +7 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_sync.h +3 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vmtc.inc +10 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/yjit.h +1 -0
- data/lib/debase/ruby_core_source/version.rb +1 -1
- data/lib/debase/ruby_core_source.rb +4 -2
- data/test/deduce_source_dir_test.rb +31 -0
- metadata +163 -150
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/addr2line.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/build_assert/build_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/check_type/check_type.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/container_of/container_of.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/list/list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/str/str.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/constant.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/encindex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/eval_intern.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/hrtime.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/id_table.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/bignum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/cmdlineopt.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compar.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compile.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compilers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/complex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/cont.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/dir.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enumerator.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/eval.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/file.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/inits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/load.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/loadpath.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/math.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/missing.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/numeric.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/object.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/process.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/random.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/range.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/rational.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/re.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/ruby_parser.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/serial.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/signal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/static_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/struct.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/symbol.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/time.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/transcode.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/util.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/variable.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/warnings.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/iseq.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/node_name.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/optinsn.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_bits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_value.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/encoding.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/pack.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/prettyprint.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_buffer.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_memchr.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_strncasecmp.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_strpbrk.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/probes_helper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/regenc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/regparse.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/rjit.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/rjit_c.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ruby_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ruby_atomic.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/siphash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/thread_none.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/thread_win32.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/timev.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/transcode_data.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/variable.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_call_iseq_optimized.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_debug.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_exec.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_opts.h +0 -0
|
@@ -113,7 +113,6 @@ const char rb_vm_insn_name_base[] =
|
|
|
113
113
|
"toregexp" "\0"
|
|
114
114
|
"intern" "\0"
|
|
115
115
|
"newarray" "\0"
|
|
116
|
-
"newarraykwsplat" "\0"
|
|
117
116
|
"pushtoarraykwsplat" "\0"
|
|
118
117
|
"duparray" "\0"
|
|
119
118
|
"duphash" "\0"
|
|
@@ -142,13 +141,18 @@ const char rb_vm_insn_name_base[] =
|
|
|
142
141
|
"definemethod" "\0"
|
|
143
142
|
"definesmethod" "\0"
|
|
144
143
|
"send" "\0"
|
|
144
|
+
"sendforward" "\0"
|
|
145
145
|
"opt_send_without_block" "\0"
|
|
146
146
|
"objtostring" "\0"
|
|
147
|
+
"opt_ary_freeze" "\0"
|
|
148
|
+
"opt_hash_freeze" "\0"
|
|
147
149
|
"opt_str_freeze" "\0"
|
|
148
150
|
"opt_nil_p" "\0"
|
|
149
151
|
"opt_str_uminus" "\0"
|
|
152
|
+
"opt_duparray_send" "\0"
|
|
150
153
|
"opt_newarray_send" "\0"
|
|
151
154
|
"invokesuper" "\0"
|
|
155
|
+
"invokesuperforward" "\0"
|
|
152
156
|
"invokeblock" "\0"
|
|
153
157
|
"leave" "\0"
|
|
154
158
|
"throw" "\0"
|
|
@@ -219,7 +223,6 @@ const char rb_vm_insn_name_base[] =
|
|
|
219
223
|
"trace_toregexp" "\0"
|
|
220
224
|
"trace_intern" "\0"
|
|
221
225
|
"trace_newarray" "\0"
|
|
222
|
-
"trace_newarraykwsplat" "\0"
|
|
223
226
|
"trace_pushtoarraykwsplat" "\0"
|
|
224
227
|
"trace_duparray" "\0"
|
|
225
228
|
"trace_duphash" "\0"
|
|
@@ -248,13 +251,18 @@ const char rb_vm_insn_name_base[] =
|
|
|
248
251
|
"trace_definemethod" "\0"
|
|
249
252
|
"trace_definesmethod" "\0"
|
|
250
253
|
"trace_send" "\0"
|
|
254
|
+
"trace_sendforward" "\0"
|
|
251
255
|
"trace_opt_send_without_block" "\0"
|
|
252
256
|
"trace_objtostring" "\0"
|
|
257
|
+
"trace_opt_ary_freeze" "\0"
|
|
258
|
+
"trace_opt_hash_freeze" "\0"
|
|
253
259
|
"trace_opt_str_freeze" "\0"
|
|
254
260
|
"trace_opt_nil_p" "\0"
|
|
255
261
|
"trace_opt_str_uminus" "\0"
|
|
262
|
+
"trace_opt_duparray_send" "\0"
|
|
256
263
|
"trace_opt_newarray_send" "\0"
|
|
257
264
|
"trace_invokesuper" "\0"
|
|
265
|
+
"trace_invokesuperforward" "\0"
|
|
258
266
|
"trace_invokeblock" "\0"
|
|
259
267
|
"trace_leave" "\0"
|
|
260
268
|
"trace_throw" "\0"
|
|
@@ -302,22 +310,23 @@ const char rb_vm_insn_name_base[] =
|
|
|
302
310
|
const unsigned short rb_vm_insn_name_offset[] = {
|
|
303
311
|
0, 4, 13, 22, 36, 50, 69, 80, 91, 111, 131, 148,
|
|
304
312
|
165, 186, 198, 210, 220, 230, 237, 245, 255, 272, 282, 299,
|
|
305
|
-
313, 325, 334, 341, 350,
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
313
|
+
313, 325, 334, 341, 350, 369, 378, 386, 398, 410, 424, 436,
|
|
314
|
+
447, 455, 463, 472, 476, 480, 485, 490, 502, 507, 512, 524,
|
|
315
|
+
532, 544, 555, 568, 578, 590, 603, 617, 622, 634, 657, 669,
|
|
316
|
+
684, 700, 715, 725, 740, 758, 776, 788, 807, 819, 825, 831,
|
|
317
|
+
836, 845, 858, 868, 873, 891, 900, 910, 919, 927, 935, 942,
|
|
318
|
+
950, 957, 964, 971, 978, 987, 995, 1002, 1011, 1020, 1034, 1048,
|
|
319
|
+
1059, 1068, 1080, 1089, 1097, 1114, 1128, 1155, 1188, 1202, 1216, 1230,
|
|
320
|
+
1244, 1265, 1286, 1296, 1311, 1326, 1346, 1366, 1391, 1408, 1425, 1451,
|
|
321
|
+
1477, 1500, 1523, 1550, 1568, 1586, 1602, 1618, 1631, 1645, 1661, 1684,
|
|
322
|
+
1700, 1723, 1743, 1761, 1776, 1789, 1804, 1829, 1844, 1858, 1876, 1894,
|
|
323
|
+
1914, 1932, 1949, 1963, 1977, 1992, 2002, 2012, 2023, 2034, 2052, 2063,
|
|
324
|
+
2074, 2092, 2106, 2124, 2141, 2160, 2176, 2194, 2213, 2233, 2244, 2262,
|
|
325
|
+
2291, 2309, 2330, 2352, 2373, 2389, 2410, 2434, 2458, 2476, 2501, 2519,
|
|
326
|
+
2531, 2543, 2554, 2569, 2588, 2604, 2615, 2639, 2654, 2670, 2685, 2699,
|
|
327
|
+
2713, 2726, 2740, 2753, 2766, 2779, 2792, 2807, 2821, 2834, 2849, 2864,
|
|
328
|
+
2884, 2904, 2921, 2936, 2954, 2969, 2983, 3006, 3026, 3059, 3098, 3118,
|
|
329
|
+
3138, 3158, 3178, 3205,
|
|
321
330
|
};
|
|
322
331
|
|
|
323
332
|
ASSERT_VM_INSTRUCTION_SIZE(rb_vm_insn_name_offset);
|
|
@@ -338,15 +347,15 @@ RUBY_SYMBOL_EXPORT_END
|
|
|
338
347
|
#ifdef RUBY_VM_INSNS_INFO
|
|
339
348
|
const uint8_t rb_vm_insn_len_info[] = {
|
|
340
349
|
1, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2,
|
|
341
|
-
2, 1, 3, 1, 2,
|
|
342
|
-
2,
|
|
343
|
-
|
|
344
|
-
2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 1, 1, 1, 3, 3, 3, 3,
|
|
345
|
-
3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 1, 3, 1, 2,
|
|
346
|
-
3, 1, 1, 2, 2, 1, 2, 2, 1, 1, 2, 1, 2, 2, 2, 2, 4, 4, 2, 3,
|
|
347
|
-
|
|
348
|
-
2, 3,
|
|
349
|
-
2, 2, 2, 1, 1,
|
|
350
|
+
2, 1, 3, 1, 2, 1, 2, 2, 3, 1, 1, 2, 2, 1, 2, 2, 1, 1, 2, 1, 2, 2, 2,
|
|
351
|
+
2, 4, 4, 2, 3, 2, 4, 3, 3, 3, 3, 2, 2, 3, 3, 3, 2, 3, 4, 3, 3, 3, 2,
|
|
352
|
+
1, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
353
|
+
2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 1, 1, 1, 3, 3, 3, 3,
|
|
354
|
+
3, 3, 2, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 1, 3, 1, 2,
|
|
355
|
+
1, 2, 2, 3, 1, 1, 2, 2, 1, 2, 2, 1, 1, 2, 1, 2, 2, 2, 2, 4, 4, 2, 3,
|
|
356
|
+
2, 4, 3, 3, 3, 3, 2, 2, 3, 3, 3, 2, 3, 4, 3, 3, 3, 2, 1, 2, 2, 2, 2,
|
|
357
|
+
2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2,
|
|
358
|
+
2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 1, 1,
|
|
350
359
|
};
|
|
351
360
|
|
|
352
361
|
ASSERT_VM_INSTRUCTION_SIZE(rb_vm_insn_len_info);
|
|
@@ -373,65 +382,67 @@ const char rb_vm_insn_op_base[] =
|
|
|
373
382
|
"IJ" "\0" "IJ" "\0" "K" "\0" "I" "\0" "I" "\0"
|
|
374
383
|
"I" "\0" "I" "\0" "" "\0" "" "\0" "V" "\0"
|
|
375
384
|
"N" "\0" "V" "\0" "V" "\0" "N" "\0" "" "\0"
|
|
376
|
-
"NN" "\0" "" "\0" "N" "\0" "
|
|
377
|
-
"V" "\0" "
|
|
378
|
-
"
|
|
379
|
-
"" "\0" ""
|
|
380
|
-
"N" "\0" "N" "\0" "
|
|
381
|
-
"
|
|
382
|
-
"
|
|
383
|
-
"
|
|
384
|
-
""
|
|
385
|
-
"
|
|
386
|
-
"
|
|
385
|
+
"NN" "\0" "" "\0" "N" "\0" "" "\0" "V" "\0"
|
|
386
|
+
"V" "\0" "NN" "\0" "" "\0" "" "\0" "N" "\0"
|
|
387
|
+
"V" "\0" "" "\0" "N" "\0" "N" "\0" "" "\0"
|
|
388
|
+
"" "\0" "N" "\0" "" "\0" "N" "\0" "N" "\0"
|
|
389
|
+
"N" "\0" "N" "\0" "NVV" "\0" "IAV" "\0" "N" "\0"
|
|
390
|
+
"LL" "\0" "N" "\0" "ISN" "\0" "IS" "\0" "IS" "\0"
|
|
391
|
+
"CS" "\0" "CS" "\0" "C" "\0" "C" "\0" "VC" "\0"
|
|
392
|
+
"VC" "\0" "VC" "\0" "C" "\0" "VC" "\0" "VIN" "\0"
|
|
393
|
+
"NN" "\0" "CS" "\0" "CS" "\0" "C" "\0" "" "\0"
|
|
394
|
+
"N" "\0" "O" "\0" "O" "\0" "O" "\0" "O" "\0"
|
|
395
|
+
"ST" "\0" "HO" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
396
|
+
"C" "\0" "C" "\0" "C" "\0" "CC" "\0" "C" "\0"
|
|
387
397
|
"C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
388
|
-
"C" "\0" "C" "\0" "C" "\0" "
|
|
389
|
-
"VC" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
390
|
-
"C" "\0" "C" "\0" "R" "\0" "RN" "\0" "RN" "\0"
|
|
391
|
-
"L" "\0" "L" "\0" "L" "\0" "L" "\0" "" "\0"
|
|
392
|
-
"" "\0" "" "\0" "LN" "\0" "LN" "\0" "LN" "\0"
|
|
393
|
-
"LN" "\0" "LN" "\0" "NN" "\0" "N" "\0" "IA" "\0"
|
|
394
|
-
"IA" "\0" "IJ" "\0" "IJ" "\0" "K" "\0" "I" "\0"
|
|
395
|
-
"I" "\0" "I" "\0" "I" "\0" "" "\0" "" "\0"
|
|
396
|
-
"V" "\0" "N" "\0" "V" "\0" "V" "\0" "N" "\0"
|
|
397
|
-
"" "\0" "NN" "\0" "" "\0" "N" "\0" "N" "\0"
|
|
398
|
-
"" "\0" "V" "\0" "V" "\0" "NN" "\0" "" "\0"
|
|
399
|
-
"" "\0" "N" "\0" "V" "\0" "" "\0" "N" "\0"
|
|
400
|
-
"N" "\0" "" "\0" "" "\0" "N" "\0" "" "\0"
|
|
401
|
-
"N" "\0" "N" "\0" "N" "\0" "N" "\0" "NVV" "\0"
|
|
402
|
-
"IAV" "\0" "N" "\0" "LL" "\0" "N" "\0" "ISN" "\0"
|
|
403
|
-
"IS" "\0" "IS" "\0" "CS" "\0" "C" "\0" "C" "\0"
|
|
404
|
-
"VC" "\0" "C" "\0" "VC" "\0" "NI" "\0" "CS" "\0"
|
|
405
|
-
"C" "\0" "" "\0" "N" "\0" "O" "\0" "O" "\0"
|
|
406
|
-
"O" "\0" "O" "\0" "ST" "\0" "HO" "\0" "C" "\0"
|
|
398
|
+
"C" "\0" "C" "\0" "C" "\0" "VC" "\0" "VC" "\0"
|
|
407
399
|
"C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
408
|
-
"
|
|
400
|
+
"C" "\0" "R" "\0" "RN" "\0" "RN" "\0" "L" "\0"
|
|
401
|
+
"L" "\0" "L" "\0" "L" "\0" "" "\0" "" "\0"
|
|
402
|
+
"" "\0" "LN" "\0" "LN" "\0" "LN" "\0" "LN" "\0"
|
|
403
|
+
"LN" "\0" "NN" "\0" "N" "\0" "IA" "\0" "IA" "\0"
|
|
404
|
+
"IJ" "\0" "IJ" "\0" "K" "\0" "I" "\0" "I" "\0"
|
|
405
|
+
"I" "\0" "I" "\0" "" "\0" "" "\0" "V" "\0"
|
|
406
|
+
"N" "\0" "V" "\0" "V" "\0" "N" "\0" "" "\0"
|
|
407
|
+
"NN" "\0" "" "\0" "N" "\0" "" "\0" "V" "\0"
|
|
408
|
+
"V" "\0" "NN" "\0" "" "\0" "" "\0" "N" "\0"
|
|
409
|
+
"V" "\0" "" "\0" "N" "\0" "N" "\0" "" "\0"
|
|
410
|
+
"" "\0" "N" "\0" "" "\0" "N" "\0" "N" "\0"
|
|
411
|
+
"N" "\0" "N" "\0" "NVV" "\0" "IAV" "\0" "N" "\0"
|
|
412
|
+
"LL" "\0" "N" "\0" "ISN" "\0" "IS" "\0" "IS" "\0"
|
|
413
|
+
"CS" "\0" "CS" "\0" "C" "\0" "C" "\0" "VC" "\0"
|
|
414
|
+
"VC" "\0" "VC" "\0" "C" "\0" "VC" "\0" "VIN" "\0"
|
|
415
|
+
"NN" "\0" "CS" "\0" "CS" "\0" "C" "\0" "" "\0"
|
|
416
|
+
"N" "\0" "O" "\0" "O" "\0" "O" "\0" "O" "\0"
|
|
417
|
+
"ST" "\0" "HO" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
418
|
+
"C" "\0" "C" "\0" "C" "\0" "CC" "\0" "C" "\0"
|
|
419
|
+
"C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
420
|
+
"C" "\0" "C" "\0" "C" "\0" "VC" "\0" "VC" "\0"
|
|
409
421
|
"C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
410
|
-
"
|
|
411
|
-
"
|
|
412
|
-
"RN" "\0" "L" "\0" "L" "\0" "L" "\0" "L" "\0"
|
|
413
|
-
"" "\0" "" "\0"
|
|
422
|
+
"C" "\0" "R" "\0" "RN" "\0" "RN" "\0" "L" "\0"
|
|
423
|
+
"L" "\0" "L" "\0" "L" "\0" "" "\0" "" "\0"
|
|
414
424
|
;
|
|
415
425
|
|
|
416
426
|
const unsigned short rb_vm_insn_op_offset[] = {
|
|
417
427
|
0, 1, 4, 7, 10, 13, 16, 19, 21, 24, 27, 30,
|
|
418
428
|
33, 35, 37, 39, 41, 43, 44, 45, 47, 49, 51, 53,
|
|
419
|
-
55, 56, 59, 60, 62,
|
|
420
|
-
76,
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
429
|
+
55, 56, 59, 60, 62, 63, 65, 67, 70, 71, 72, 74,
|
|
430
|
+
76, 77, 79, 81, 82, 83, 85, 86, 88, 90, 92, 94,
|
|
431
|
+
98, 102, 104, 107, 109, 113, 116, 119, 122, 125, 127, 129,
|
|
432
|
+
132, 135, 138, 140, 143, 147, 150, 153, 156, 158, 159, 161,
|
|
433
|
+
163, 165, 167, 169, 172, 175, 177, 179, 181, 183, 185, 187,
|
|
434
|
+
190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 211, 214,
|
|
435
|
+
216, 218, 220, 222, 224, 226, 228, 231, 234, 236, 238, 240,
|
|
436
|
+
242, 243, 244, 245, 248, 251, 254, 257, 260, 263, 265, 268,
|
|
437
|
+
271, 274, 277, 279, 281, 283, 285, 287, 288, 289, 291, 293,
|
|
438
|
+
295, 297, 299, 300, 303, 304, 306, 307, 309, 311, 314, 315,
|
|
439
|
+
316, 318, 320, 321, 323, 325, 326, 327, 329, 330, 332, 334,
|
|
440
|
+
336, 338, 342, 346, 348, 351, 353, 357, 360, 363, 366, 369,
|
|
441
|
+
371, 373, 376, 379, 382, 384, 387, 391, 394, 397, 400, 402,
|
|
442
|
+
403, 405, 407, 409, 411, 413, 416, 419, 421, 423, 425, 427,
|
|
443
|
+
429, 431, 434, 436, 438, 440, 442, 444, 446, 448, 450, 452,
|
|
444
|
+
455, 458, 460, 462, 464, 466, 468, 470, 472, 475, 478, 480,
|
|
445
|
+
482, 484, 486, 487,
|
|
435
446
|
};
|
|
436
447
|
|
|
437
448
|
ASSERT_VM_INSTRUCTION_SIZE(rb_vm_insn_op_offset);
|
|
@@ -499,7 +510,7 @@ leafness_of_checkmatch(rb_num_t flag)
|
|
|
499
510
|
return false;
|
|
500
511
|
}
|
|
501
512
|
}
|
|
502
|
-
#line
|
|
513
|
+
#line 514 "insns_info.inc"
|
|
503
514
|
|
|
504
515
|
#line 10 "tool/ruby_vm/views/_sp_inc_helpers.erb"
|
|
505
516
|
|
|
@@ -513,7 +524,7 @@ sp_inc_of_sendish(const struct rb_callinfo *ci)
|
|
|
513
524
|
* 3. Pop receiver.
|
|
514
525
|
* 4. Push return value.
|
|
515
526
|
*/
|
|
516
|
-
const int argb = (vm_ci_flag(ci) & VM_CALL_ARGS_BLOCKARG) ? 1 : 0;
|
|
527
|
+
const int argb = (vm_ci_flag(ci) & (VM_CALL_ARGS_BLOCKARG | VM_CALL_FORWARDING)) ? 1 : 0;
|
|
517
528
|
const int argc = vm_ci_argc(ci);
|
|
518
529
|
const int recv = 1;
|
|
519
530
|
const int retn = 1;
|
|
@@ -529,7 +540,7 @@ sp_inc_of_invokeblock(const struct rb_callinfo *ci)
|
|
|
529
540
|
* instructions, except that it does not pop receiver. */
|
|
530
541
|
return sp_inc_of_sendish(ci) + 1;
|
|
531
542
|
}
|
|
532
|
-
#line
|
|
543
|
+
#line 544 "insns_info.inc"
|
|
533
544
|
|
|
534
545
|
#ifndef RUBY_VM_EXEC_H
|
|
535
546
|
/* can't #include "vm_exec.h" here... */
|
|
@@ -791,15 +802,6 @@ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_newarray(rb_num_t num)));
|
|
|
791
802
|
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_newarray(rb_num_t num)));
|
|
792
803
|
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_newarray(rb_num_t num)));
|
|
793
804
|
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_newarray(rb_num_t num)));
|
|
794
|
-
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_newarraykwsplat(rb_num_t num)));
|
|
795
|
-
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_newarraykwsplat(rb_num_t num)));
|
|
796
|
-
PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_newarraykwsplat(rb_num_t num)));
|
|
797
|
-
PUREFUNC(MAYBE_UNUSED(static const char* attr_name_newarraykwsplat(rb_num_t num)));
|
|
798
|
-
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_newarraykwsplat(rb_num_t num)));
|
|
799
|
-
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_newarraykwsplat(rb_num_t num)));
|
|
800
|
-
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_newarraykwsplat(rb_num_t num)));
|
|
801
|
-
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_newarraykwsplat(rb_num_t num)));
|
|
802
|
-
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_newarraykwsplat(rb_num_t num)));
|
|
803
805
|
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_pushtoarraykwsplat(void)));
|
|
804
806
|
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_pushtoarraykwsplat(void)));
|
|
805
807
|
PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_pushtoarraykwsplat(void)));
|
|
@@ -1053,6 +1055,16 @@ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_send(CALL_DATA cd, ISEQ blockise
|
|
|
1053
1055
|
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_send(CALL_DATA cd, ISEQ blockiseq)));
|
|
1054
1056
|
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_send(CALL_DATA cd, ISEQ blockiseq)));
|
|
1055
1057
|
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_send(CALL_DATA cd, ISEQ blockiseq)));
|
|
1058
|
+
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_sendforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1059
|
+
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_comptime_sp_inc_sendforward(CALL_INFO ci, ISEQ blockiseq)));
|
|
1060
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_sendforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1061
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_sendforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1062
|
+
PUREFUNC(MAYBE_UNUSED(static const char* attr_name_sendforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1063
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_sendforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1064
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_sendforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1065
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_sendforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1066
|
+
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_sendforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1067
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_sendforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1056
1068
|
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_opt_send_without_block(CALL_DATA cd)));
|
|
1057
1069
|
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_comptime_sp_inc_opt_send_without_block(CALL_INFO ci)));
|
|
1058
1070
|
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_opt_send_without_block(CALL_DATA cd)));
|
|
@@ -1072,6 +1084,24 @@ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_objtostring(CALL_DATA cd)));
|
|
|
1072
1084
|
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_objtostring(CALL_DATA cd)));
|
|
1073
1085
|
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_objtostring(CALL_DATA cd)));
|
|
1074
1086
|
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_objtostring(CALL_DATA cd)));
|
|
1087
|
+
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_opt_ary_freeze(VALUE ary, CALL_DATA cd)));
|
|
1088
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_opt_ary_freeze(VALUE ary, CALL_DATA cd)));
|
|
1089
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_opt_ary_freeze(VALUE ary, CALL_DATA cd)));
|
|
1090
|
+
PUREFUNC(MAYBE_UNUSED(static const char* attr_name_opt_ary_freeze(VALUE ary, CALL_DATA cd)));
|
|
1091
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_opt_ary_freeze(VALUE ary, CALL_DATA cd)));
|
|
1092
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_opt_ary_freeze(VALUE ary, CALL_DATA cd)));
|
|
1093
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_opt_ary_freeze(VALUE ary, CALL_DATA cd)));
|
|
1094
|
+
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_opt_ary_freeze(VALUE ary, CALL_DATA cd)));
|
|
1095
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_opt_ary_freeze(VALUE ary, CALL_DATA cd)));
|
|
1096
|
+
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_opt_hash_freeze(VALUE hash, CALL_DATA cd)));
|
|
1097
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_opt_hash_freeze(VALUE hash, CALL_DATA cd)));
|
|
1098
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_opt_hash_freeze(VALUE hash, CALL_DATA cd)));
|
|
1099
|
+
PUREFUNC(MAYBE_UNUSED(static const char* attr_name_opt_hash_freeze(VALUE hash, CALL_DATA cd)));
|
|
1100
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_opt_hash_freeze(VALUE hash, CALL_DATA cd)));
|
|
1101
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_opt_hash_freeze(VALUE hash, CALL_DATA cd)));
|
|
1102
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_opt_hash_freeze(VALUE hash, CALL_DATA cd)));
|
|
1103
|
+
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_opt_hash_freeze(VALUE hash, CALL_DATA cd)));
|
|
1104
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_opt_hash_freeze(VALUE hash, CALL_DATA cd)));
|
|
1075
1105
|
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_opt_str_freeze(VALUE str, CALL_DATA cd)));
|
|
1076
1106
|
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_opt_str_freeze(VALUE str, CALL_DATA cd)));
|
|
1077
1107
|
PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_opt_str_freeze(VALUE str, CALL_DATA cd)));
|
|
@@ -1099,16 +1129,26 @@ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_opt_str_uminus(VALUE str, CALL_D
|
|
|
1099
1129
|
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_opt_str_uminus(VALUE str, CALL_DATA cd)));
|
|
1100
1130
|
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_opt_str_uminus(VALUE str, CALL_DATA cd)));
|
|
1101
1131
|
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_opt_str_uminus(VALUE str, CALL_DATA cd)));
|
|
1102
|
-
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type
|
|
1103
|
-
PUREFUNC(MAYBE_UNUSED(static rb_snum_t
|
|
1104
|
-
PUREFUNC(MAYBE_UNUSED(static bool
|
|
1105
|
-
PUREFUNC(MAYBE_UNUSED(static bool
|
|
1106
|
-
PUREFUNC(MAYBE_UNUSED(static const char*
|
|
1107
|
-
PUREFUNC(MAYBE_UNUSED(static rb_num_t
|
|
1108
|
-
PUREFUNC(MAYBE_UNUSED(static rb_num_t
|
|
1109
|
-
PUREFUNC(MAYBE_UNUSED(static rb_num_t
|
|
1110
|
-
PUREFUNC(MAYBE_UNUSED(static rb_snum_t
|
|
1111
|
-
PUREFUNC(MAYBE_UNUSED(static rb_num_t
|
|
1132
|
+
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_opt_duparray_send(VALUE ary, ID method, rb_num_t argc)));
|
|
1133
|
+
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_comptime_sp_inc_opt_duparray_send(VALUE ary, ID method, rb_num_t argc)));
|
|
1134
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_opt_duparray_send(VALUE ary, ID method, rb_num_t argc)));
|
|
1135
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_opt_duparray_send(VALUE ary, ID method, rb_num_t argc)));
|
|
1136
|
+
PUREFUNC(MAYBE_UNUSED(static const char* attr_name_opt_duparray_send(VALUE ary, ID method, rb_num_t argc)));
|
|
1137
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_opt_duparray_send(VALUE ary, ID method, rb_num_t argc)));
|
|
1138
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_opt_duparray_send(VALUE ary, ID method, rb_num_t argc)));
|
|
1139
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_opt_duparray_send(VALUE ary, ID method, rb_num_t argc)));
|
|
1140
|
+
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_opt_duparray_send(VALUE ary, ID method, rb_num_t argc)));
|
|
1141
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_opt_duparray_send(VALUE ary, ID method, rb_num_t argc)));
|
|
1142
|
+
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_opt_newarray_send(rb_num_t num, rb_num_t method)));
|
|
1143
|
+
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_comptime_sp_inc_opt_newarray_send(rb_num_t num, rb_num_t method)));
|
|
1144
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_opt_newarray_send(rb_num_t num, rb_num_t method)));
|
|
1145
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_opt_newarray_send(rb_num_t num, rb_num_t method)));
|
|
1146
|
+
PUREFUNC(MAYBE_UNUSED(static const char* attr_name_opt_newarray_send(rb_num_t num, rb_num_t method)));
|
|
1147
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_opt_newarray_send(rb_num_t num, rb_num_t method)));
|
|
1148
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_opt_newarray_send(rb_num_t num, rb_num_t method)));
|
|
1149
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_opt_newarray_send(rb_num_t num, rb_num_t method)));
|
|
1150
|
+
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_opt_newarray_send(rb_num_t num, rb_num_t method)));
|
|
1151
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_opt_newarray_send(rb_num_t num, rb_num_t method)));
|
|
1112
1152
|
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_invokesuper(CALL_DATA cd, ISEQ blockiseq)));
|
|
1113
1153
|
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_comptime_sp_inc_invokesuper(CALL_INFO ci, ISEQ blockiseq)));
|
|
1114
1154
|
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_invokesuper(CALL_DATA cd, ISEQ blockiseq)));
|
|
@@ -1119,6 +1159,16 @@ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_invokesuper(CALL_DATA cd, ISEQ b
|
|
|
1119
1159
|
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_invokesuper(CALL_DATA cd, ISEQ blockiseq)));
|
|
1120
1160
|
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_invokesuper(CALL_DATA cd, ISEQ blockiseq)));
|
|
1121
1161
|
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_invokesuper(CALL_DATA cd, ISEQ blockiseq)));
|
|
1162
|
+
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_invokesuperforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1163
|
+
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_comptime_sp_inc_invokesuperforward(CALL_INFO ci, ISEQ blockiseq)));
|
|
1164
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_invokesuperforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1165
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_invokesuperforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1166
|
+
PUREFUNC(MAYBE_UNUSED(static const char* attr_name_invokesuperforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1167
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_invokesuperforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1168
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_invokesuperforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1169
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_invokesuperforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1170
|
+
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_invokesuperforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1171
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_invokesuperforward(CALL_DATA cd, ISEQ blockiseq)));
|
|
1122
1172
|
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_invokeblock(CALL_DATA cd)));
|
|
1123
1173
|
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_comptime_sp_inc_invokeblock(CALL_INFO ci)));
|
|
1124
1174
|
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_invokeblock(CALL_DATA cd)));
|
|
@@ -2042,7 +2092,7 @@ attr_leaf_getspecial(
|
|
|
2042
2092
|
return
|
|
2043
2093
|
#line 192 "insns.def"
|
|
2044
2094
|
(type == 0) ? true : false;
|
|
2045
|
-
#line
|
|
2095
|
+
#line 2096 "insns_info.inc"
|
|
2046
2096
|
}
|
|
2047
2097
|
|
|
2048
2098
|
/* attr const char* name @ getspecial(key, type)()(val) */
|
|
@@ -2198,7 +2248,7 @@ attr_leaf_getinstancevariable(
|
|
|
2198
2248
|
return
|
|
2199
2249
|
#line 214 "insns.def"
|
|
2200
2250
|
false;
|
|
2201
|
-
#line
|
|
2251
|
+
#line 2252 "insns_info.inc"
|
|
2202
2252
|
}
|
|
2203
2253
|
|
|
2204
2254
|
/* attr const char* name @ getinstancevariable(id, ic)()(val) */
|
|
@@ -2291,7 +2341,7 @@ attr_leaf_setinstancevariable(
|
|
|
2291
2341
|
return
|
|
2292
2342
|
#line 225 "insns.def"
|
|
2293
2343
|
false;
|
|
2294
|
-
#line
|
|
2344
|
+
#line 2345 "insns_info.inc"
|
|
2295
2345
|
}
|
|
2296
2346
|
|
|
2297
2347
|
/* attr const char* name @ setinstancevariable(id, ic)(val)() */
|
|
@@ -2384,7 +2434,7 @@ attr_leaf_getclassvariable(
|
|
|
2384
2434
|
return
|
|
2385
2435
|
#line 237 "insns.def"
|
|
2386
2436
|
false;
|
|
2387
|
-
#line
|
|
2437
|
+
#line 2438 "insns_info.inc"
|
|
2388
2438
|
}
|
|
2389
2439
|
|
|
2390
2440
|
/* attr const char* name @ getclassvariable(id, ic)()(val) */
|
|
@@ -2477,7 +2527,7 @@ attr_leaf_setclassvariable(
|
|
|
2477
2527
|
return
|
|
2478
2528
|
#line 250 "insns.def"
|
|
2479
2529
|
false;
|
|
2480
|
-
#line
|
|
2530
|
+
#line 2531 "insns_info.inc"
|
|
2481
2531
|
}
|
|
2482
2532
|
|
|
2483
2533
|
/* attr const char* name @ setclassvariable(id, ic)(val)() */
|
|
@@ -2561,7 +2611,7 @@ attr_leaf_opt_getconstant_path(MAYBE_UNUSED(IC ic))
|
|
|
2561
2611
|
return
|
|
2562
2612
|
#line 261 "insns.def"
|
|
2563
2613
|
false;
|
|
2564
|
-
#line
|
|
2614
|
+
#line 2615 "insns_info.inc"
|
|
2565
2615
|
}
|
|
2566
2616
|
|
|
2567
2617
|
/* attr const char* name @ opt_getconstant_path(ic)()(val) */
|
|
@@ -2627,7 +2677,7 @@ attr_leaf_getconstant(MAYBE_UNUSED(ID id))
|
|
|
2627
2677
|
return
|
|
2628
2678
|
#line 276 "insns.def"
|
|
2629
2679
|
false;
|
|
2630
|
-
#line
|
|
2680
|
+
#line 2681 "insns_info.inc"
|
|
2631
2681
|
}
|
|
2632
2682
|
|
|
2633
2683
|
/* attr const char* name @ getconstant(id)(klass, allow_nil)(val) */
|
|
@@ -2693,7 +2743,7 @@ attr_leaf_setconstant(MAYBE_UNUSED(ID id))
|
|
|
2693
2743
|
return
|
|
2694
2744
|
#line 292 "insns.def"
|
|
2695
2745
|
false;
|
|
2696
|
-
#line
|
|
2746
|
+
#line 2747 "insns_info.inc"
|
|
2697
2747
|
}
|
|
2698
2748
|
|
|
2699
2749
|
/* attr const char* name @ setconstant(id)(val, cbase)() */
|
|
@@ -2759,7 +2809,7 @@ attr_leaf_getglobal(MAYBE_UNUSED(ID gid))
|
|
|
2759
2809
|
return
|
|
2760
2810
|
#line 305 "insns.def"
|
|
2761
2811
|
false;
|
|
2762
|
-
#line
|
|
2812
|
+
#line 2813 "insns_info.inc"
|
|
2763
2813
|
}
|
|
2764
2814
|
|
|
2765
2815
|
/* attr const char* name @ getglobal(gid)()(val) */
|
|
@@ -2825,7 +2875,7 @@ attr_leaf_setglobal(MAYBE_UNUSED(ID gid))
|
|
|
2825
2875
|
return
|
|
2826
2876
|
#line 316 "insns.def"
|
|
2827
2877
|
false;
|
|
2828
|
-
#line
|
|
2878
|
+
#line 2879 "insns_info.inc"
|
|
2829
2879
|
}
|
|
2830
2880
|
|
|
2831
2881
|
/* attr const char* name @ setglobal(gid)(val)() */
|
|
@@ -3080,7 +3130,7 @@ attr_leaf_putspecialobject(MAYBE_UNUSED(rb_num_t value_type))
|
|
|
3080
3130
|
return
|
|
3081
3131
|
#line 363 "insns.def"
|
|
3082
3132
|
(value_type == VM_SPECIAL_OBJECT_VMCORE);
|
|
3083
|
-
#line
|
|
3133
|
+
#line 3134 "insns_info.inc"
|
|
3084
3134
|
}
|
|
3085
3135
|
|
|
3086
3136
|
/* attr const char* name @ putspecialobject(value_type)()(val) */
|
|
@@ -3272,7 +3322,7 @@ attr_leaf_concatstrings(MAYBE_UNUSED(rb_num_t num))
|
|
|
3272
3322
|
return
|
|
3273
3323
|
#line 399 "insns.def"
|
|
3274
3324
|
false;
|
|
3275
|
-
#line
|
|
3325
|
+
#line 3326 "insns_info.inc"
|
|
3276
3326
|
}
|
|
3277
3327
|
|
|
3278
3328
|
/* attr const char* name @ concatstrings(num)(...)(val) */
|
|
@@ -3310,7 +3360,7 @@ attr_sp_inc_concatstrings(MAYBE_UNUSED(rb_num_t num))
|
|
|
3310
3360
|
return
|
|
3311
3361
|
#line 400 "insns.def"
|
|
3312
3362
|
1 - (rb_snum_t)num;
|
|
3313
|
-
#line
|
|
3363
|
+
#line 3364 "insns_info.inc"
|
|
3314
3364
|
}
|
|
3315
3365
|
|
|
3316
3366
|
/* attr rb_num_t width @ concatstrings(num)(...)(val) */
|
|
@@ -3413,7 +3463,7 @@ attr_leaf_toregexp(
|
|
|
3413
3463
|
return
|
|
3414
3464
|
#line 426 "insns.def"
|
|
3415
3465
|
false;
|
|
3416
|
-
#line
|
|
3466
|
+
#line 3467 "insns_info.inc"
|
|
3417
3467
|
}
|
|
3418
3468
|
|
|
3419
3469
|
/* attr const char* name @ toregexp(opt, cnt)(...)(val) */
|
|
@@ -3466,7 +3516,7 @@ attr_sp_inc_toregexp(
|
|
|
3466
3516
|
return
|
|
3467
3517
|
#line 427 "insns.def"
|
|
3468
3518
|
1 - (rb_snum_t)cnt;
|
|
3469
|
-
#line
|
|
3519
|
+
#line 3520 "insns_info.inc"
|
|
3470
3520
|
}
|
|
3471
3521
|
|
|
3472
3522
|
/* attr rb_num_t width @ toregexp(opt, cnt)(...)(val) */
|
|
@@ -3598,7 +3648,7 @@ attr_sp_inc_newarray(MAYBE_UNUSED(rb_num_t num))
|
|
|
3598
3648
|
return
|
|
3599
3649
|
#line 450 "insns.def"
|
|
3600
3650
|
1 - (rb_snum_t)num;
|
|
3601
|
-
#line
|
|
3651
|
+
#line 3652 "insns_info.inc"
|
|
3602
3652
|
}
|
|
3603
3653
|
|
|
3604
3654
|
/* attr rb_num_t width @ newarray(num)(...)(val) */
|
|
@@ -3608,72 +3658,6 @@ attr_width_newarray(MAYBE_UNUSED(rb_num_t num))
|
|
|
3608
3658
|
return 2;
|
|
3609
3659
|
}
|
|
3610
3660
|
|
|
3611
|
-
/* attr enum ruby_vminsn_type bin @ newarraykwsplat(num)(...)(val) */
|
|
3612
|
-
enum ruby_vminsn_type
|
|
3613
|
-
attr_bin_newarraykwsplat(MAYBE_UNUSED(rb_num_t num))
|
|
3614
|
-
{
|
|
3615
|
-
return BIN(newarraykwsplat);
|
|
3616
|
-
}
|
|
3617
|
-
|
|
3618
|
-
/* attr bool handles_sp @ newarraykwsplat(num)(...)(val) */
|
|
3619
|
-
bool
|
|
3620
|
-
attr_handles_sp_newarraykwsplat(MAYBE_UNUSED(rb_num_t num))
|
|
3621
|
-
{
|
|
3622
|
-
return false;
|
|
3623
|
-
}
|
|
3624
|
-
|
|
3625
|
-
/* attr bool leaf @ newarraykwsplat(num)(...)(val) */
|
|
3626
|
-
bool
|
|
3627
|
-
attr_leaf_newarraykwsplat(MAYBE_UNUSED(rb_num_t num))
|
|
3628
|
-
{
|
|
3629
|
-
return true;
|
|
3630
|
-
}
|
|
3631
|
-
|
|
3632
|
-
/* attr const char* name @ newarraykwsplat(num)(...)(val) */
|
|
3633
|
-
const char*
|
|
3634
|
-
attr_name_newarraykwsplat(MAYBE_UNUSED(rb_num_t num))
|
|
3635
|
-
{
|
|
3636
|
-
return insn_name(BIN(newarraykwsplat));
|
|
3637
|
-
}
|
|
3638
|
-
|
|
3639
|
-
/* attr rb_num_t open @ newarraykwsplat(num)(...)(val) */
|
|
3640
|
-
rb_num_t
|
|
3641
|
-
attr_open_newarraykwsplat(MAYBE_UNUSED(rb_num_t num))
|
|
3642
|
-
{
|
|
3643
|
-
return 1;
|
|
3644
|
-
}
|
|
3645
|
-
|
|
3646
|
-
/* attr rb_num_t popn @ newarraykwsplat(num)(...)(val) */
|
|
3647
|
-
rb_num_t
|
|
3648
|
-
attr_popn_newarraykwsplat(MAYBE_UNUSED(rb_num_t num))
|
|
3649
|
-
{
|
|
3650
|
-
return 0;
|
|
3651
|
-
}
|
|
3652
|
-
|
|
3653
|
-
/* attr rb_num_t retn @ newarraykwsplat(num)(...)(val) */
|
|
3654
|
-
rb_num_t
|
|
3655
|
-
attr_retn_newarraykwsplat(MAYBE_UNUSED(rb_num_t num))
|
|
3656
|
-
{
|
|
3657
|
-
return 1;
|
|
3658
|
-
}
|
|
3659
|
-
|
|
3660
|
-
/* attr rb_snum_t sp_inc @ newarraykwsplat(num)(...)(val) */
|
|
3661
|
-
rb_snum_t
|
|
3662
|
-
attr_sp_inc_newarraykwsplat(MAYBE_UNUSED(rb_num_t num))
|
|
3663
|
-
{
|
|
3664
|
-
return
|
|
3665
|
-
#line 465 "insns.def"
|
|
3666
|
-
1 - (rb_snum_t)num;
|
|
3667
|
-
#line 3668 "insns_info.inc"
|
|
3668
|
-
}
|
|
3669
|
-
|
|
3670
|
-
/* attr rb_num_t width @ newarraykwsplat(num)(...)(val) */
|
|
3671
|
-
rb_num_t
|
|
3672
|
-
attr_width_newarraykwsplat(MAYBE_UNUSED(rb_num_t num))
|
|
3673
|
-
{
|
|
3674
|
-
return 2;
|
|
3675
|
-
}
|
|
3676
|
-
|
|
3677
3661
|
/* attr enum ruby_vminsn_type bin @ pushtoarraykwsplat()(ary, hash)(ary) */
|
|
3678
3662
|
enum ruby_vminsn_type
|
|
3679
3663
|
attr_bin_pushtoarraykwsplat(void)
|
|
@@ -3881,9 +3865,9 @@ attr_handles_sp_expandarray(
|
|
|
3881
3865
|
)
|
|
3882
3866
|
{
|
|
3883
3867
|
return
|
|
3884
|
-
#line
|
|
3868
|
+
#line 505 "insns.def"
|
|
3885
3869
|
true;
|
|
3886
|
-
#line
|
|
3870
|
+
#line 3871 "insns_info.inc"
|
|
3887
3871
|
}
|
|
3888
3872
|
|
|
3889
3873
|
/* attr bool leaf @ expandarray(num, flag)(..., ary)(...) */
|
|
@@ -3894,9 +3878,9 @@ attr_leaf_expandarray(
|
|
|
3894
3878
|
)
|
|
3895
3879
|
{
|
|
3896
3880
|
return
|
|
3897
|
-
#line
|
|
3881
|
+
#line 506 "insns.def"
|
|
3898
3882
|
false;
|
|
3899
|
-
#line
|
|
3883
|
+
#line 3884 "insns_info.inc"
|
|
3900
3884
|
}
|
|
3901
3885
|
|
|
3902
3886
|
/* attr const char* name @ expandarray(num, flag)(..., ary)(...) */
|
|
@@ -3947,9 +3931,9 @@ attr_sp_inc_expandarray(
|
|
|
3947
3931
|
)
|
|
3948
3932
|
{
|
|
3949
3933
|
return
|
|
3950
|
-
#line
|
|
3934
|
+
#line 507 "insns.def"
|
|
3951
3935
|
(rb_snum_t)num - 1 + (flag & 1 ? 1 : 0);
|
|
3952
|
-
#line
|
|
3936
|
+
#line 3937 "insns_info.inc"
|
|
3953
3937
|
}
|
|
3954
3938
|
|
|
3955
3939
|
/* attr rb_num_t width @ expandarray(num, flag)(..., ary)(...) */
|
|
@@ -3981,9 +3965,9 @@ bool
|
|
|
3981
3965
|
attr_leaf_concatarray(void)
|
|
3982
3966
|
{
|
|
3983
3967
|
return
|
|
3984
|
-
#line
|
|
3968
|
+
#line 520 "insns.def"
|
|
3985
3969
|
false;
|
|
3986
|
-
#line
|
|
3970
|
+
#line 3971 "insns_info.inc"
|
|
3987
3971
|
}
|
|
3988
3972
|
|
|
3989
3973
|
/* attr const char* name @ concatarray()(ary1, ary2)(ary) */
|
|
@@ -4047,9 +4031,9 @@ bool
|
|
|
4047
4031
|
attr_leaf_concattoarray(void)
|
|
4048
4032
|
{
|
|
4049
4033
|
return
|
|
4050
|
-
#line
|
|
4034
|
+
#line 534 "insns.def"
|
|
4051
4035
|
false;
|
|
4052
|
-
#line
|
|
4036
|
+
#line 4037 "insns_info.inc"
|
|
4053
4037
|
}
|
|
4054
4038
|
|
|
4055
4039
|
/* attr const char* name @ concattoarray()(ary1, ary2)(ary) */
|
|
@@ -4148,9 +4132,9 @@ rb_snum_t
|
|
|
4148
4132
|
attr_sp_inc_pushtoarray(MAYBE_UNUSED(rb_num_t num))
|
|
4149
4133
|
{
|
|
4150
4134
|
return
|
|
4151
|
-
#line
|
|
4135
|
+
#line 545 "insns.def"
|
|
4152
4136
|
-(rb_snum_t)num;
|
|
4153
|
-
#line
|
|
4137
|
+
#line 4138 "insns_info.inc"
|
|
4154
4138
|
}
|
|
4155
4139
|
|
|
4156
4140
|
/* attr rb_num_t width @ pushtoarray(num)(...)(val) */
|
|
@@ -4179,9 +4163,9 @@ bool
|
|
|
4179
4163
|
attr_leaf_splatarray(MAYBE_UNUSED(VALUE flag))
|
|
4180
4164
|
{
|
|
4181
4165
|
return
|
|
4182
|
-
#line
|
|
4166
|
+
#line 557 "insns.def"
|
|
4183
4167
|
false;
|
|
4184
|
-
#line
|
|
4168
|
+
#line 4169 "insns_info.inc"
|
|
4185
4169
|
}
|
|
4186
4170
|
|
|
4187
4171
|
/* attr const char* name @ splatarray(flag)(ary)(obj) */
|
|
@@ -4245,9 +4229,9 @@ bool
|
|
|
4245
4229
|
attr_leaf_splatkw(void)
|
|
4246
4230
|
{
|
|
4247
4231
|
return
|
|
4248
|
-
#line
|
|
4232
|
+
#line 568 "insns.def"
|
|
4249
4233
|
false;
|
|
4250
|
-
#line
|
|
4234
|
+
#line 4235 "insns_info.inc"
|
|
4251
4235
|
}
|
|
4252
4236
|
|
|
4253
4237
|
/* attr const char* name @ splatkw()(hash, block)(obj, block) */
|
|
@@ -4311,9 +4295,9 @@ bool
|
|
|
4311
4295
|
attr_leaf_newhash(MAYBE_UNUSED(rb_num_t num))
|
|
4312
4296
|
{
|
|
4313
4297
|
return
|
|
4314
|
-
#line
|
|
4298
|
+
#line 584 "insns.def"
|
|
4315
4299
|
false;
|
|
4316
|
-
#line
|
|
4300
|
+
#line 4301 "insns_info.inc"
|
|
4317
4301
|
}
|
|
4318
4302
|
|
|
4319
4303
|
/* attr const char* name @ newhash(num)(...)(val) */
|
|
@@ -4349,9 +4333,9 @@ rb_snum_t
|
|
|
4349
4333
|
attr_sp_inc_newhash(MAYBE_UNUSED(rb_num_t num))
|
|
4350
4334
|
{
|
|
4351
4335
|
return
|
|
4352
|
-
#line
|
|
4336
|
+
#line 585 "insns.def"
|
|
4353
4337
|
1 - (rb_snum_t)num;
|
|
4354
|
-
#line
|
|
4338
|
+
#line 4339 "insns_info.inc"
|
|
4355
4339
|
}
|
|
4356
4340
|
|
|
4357
4341
|
/* attr rb_num_t width @ newhash(num)(...)(val) */
|
|
@@ -4380,9 +4364,9 @@ bool
|
|
|
4380
4364
|
attr_leaf_newrange(MAYBE_UNUSED(rb_num_t flag))
|
|
4381
4365
|
{
|
|
4382
4366
|
return
|
|
4383
|
-
#line
|
|
4367
|
+
#line 605 "insns.def"
|
|
4384
4368
|
false;
|
|
4385
|
-
#line
|
|
4369
|
+
#line 4370 "insns_info.inc"
|
|
4386
4370
|
}
|
|
4387
4371
|
|
|
4388
4372
|
/* attr const char* name @ newrange(flag)(low, high)(val) */
|
|
@@ -4607,9 +4591,9 @@ rb_snum_t
|
|
|
4607
4591
|
attr_sp_inc_dupn(MAYBE_UNUSED(rb_num_t n))
|
|
4608
4592
|
{
|
|
4609
4593
|
return
|
|
4610
|
-
#line
|
|
4594
|
+
#line 641 "insns.def"
|
|
4611
4595
|
n;
|
|
4612
|
-
#line
|
|
4596
|
+
#line 4597 "insns_info.inc"
|
|
4613
4597
|
}
|
|
4614
4598
|
|
|
4615
4599
|
/* attr rb_num_t width @ dupn(n)(...)(...) */
|
|
@@ -4736,9 +4720,9 @@ rb_snum_t
|
|
|
4736
4720
|
attr_sp_inc_opt_reverse(MAYBE_UNUSED(rb_num_t n))
|
|
4737
4721
|
{
|
|
4738
4722
|
return
|
|
4739
|
-
#line
|
|
4723
|
+
#line 665 "insns.def"
|
|
4740
4724
|
0;
|
|
4741
|
-
#line
|
|
4725
|
+
#line 4726 "insns_info.inc"
|
|
4742
4726
|
}
|
|
4743
4727
|
|
|
4744
4728
|
/* attr rb_num_t width @ opt_reverse(n)(...)(...) */
|
|
@@ -4802,9 +4786,9 @@ rb_snum_t
|
|
|
4802
4786
|
attr_sp_inc_topn(MAYBE_UNUSED(rb_num_t n))
|
|
4803
4787
|
{
|
|
4804
4788
|
return
|
|
4805
|
-
#line
|
|
4789
|
+
#line 695 "insns.def"
|
|
4806
4790
|
1;
|
|
4807
|
-
#line
|
|
4791
|
+
#line 4792 "insns_info.inc"
|
|
4808
4792
|
}
|
|
4809
4793
|
|
|
4810
4794
|
/* attr rb_num_t width @ topn(n)(...)(val) */
|
|
@@ -4868,9 +4852,9 @@ rb_snum_t
|
|
|
4868
4852
|
attr_sp_inc_setn(MAYBE_UNUSED(rb_num_t n))
|
|
4869
4853
|
{
|
|
4870
4854
|
return
|
|
4871
|
-
#line
|
|
4855
|
+
#line 706 "insns.def"
|
|
4872
4856
|
0;
|
|
4873
|
-
#line
|
|
4857
|
+
#line 4858 "insns_info.inc"
|
|
4874
4858
|
}
|
|
4875
4859
|
|
|
4876
4860
|
/* attr rb_num_t width @ setn(n)(..., val)(val) */
|
|
@@ -4934,9 +4918,9 @@ rb_snum_t
|
|
|
4934
4918
|
attr_sp_inc_adjuststack(MAYBE_UNUSED(rb_num_t n))
|
|
4935
4919
|
{
|
|
4936
4920
|
return
|
|
4937
|
-
#line
|
|
4921
|
+
#line 717 "insns.def"
|
|
4938
4922
|
-(rb_snum_t)n;
|
|
4939
|
-
#line
|
|
4923
|
+
#line 4924 "insns_info.inc"
|
|
4940
4924
|
}
|
|
4941
4925
|
|
|
4942
4926
|
/* attr rb_num_t width @ adjuststack(n)(...)(...) */
|
|
@@ -4977,9 +4961,9 @@ attr_leaf_defined(
|
|
|
4977
4961
|
)
|
|
4978
4962
|
{
|
|
4979
4963
|
return
|
|
4980
|
-
#line
|
|
4964
|
+
#line 732 "insns.def"
|
|
4981
4965
|
leafness_of_defined(op_type);
|
|
4982
|
-
#line
|
|
4966
|
+
#line 4967 "insns_info.inc"
|
|
4983
4967
|
}
|
|
4984
4968
|
|
|
4985
4969
|
/* attr const char* name @ defined(op_type, obj, pushval)(v)(val) */
|
|
@@ -5079,9 +5063,9 @@ attr_leaf_definedivar(
|
|
|
5079
5063
|
)
|
|
5080
5064
|
{
|
|
5081
5065
|
return
|
|
5082
|
-
#line
|
|
5066
|
+
#line 746 "insns.def"
|
|
5083
5067
|
false;
|
|
5084
|
-
#line
|
|
5068
|
+
#line 5069 "insns_info.inc"
|
|
5085
5069
|
}
|
|
5086
5070
|
|
|
5087
5071
|
/* attr const char* name @ definedivar(id, ic, pushval)()(val) */
|
|
@@ -5169,9 +5153,9 @@ bool
|
|
|
5169
5153
|
attr_leaf_checkmatch(MAYBE_UNUSED(rb_num_t flag))
|
|
5170
5154
|
{
|
|
5171
5155
|
return
|
|
5172
|
-
#line
|
|
5156
|
+
#line 766 "insns.def"
|
|
5173
5157
|
leafness_of_checkmatch(flag);
|
|
5174
|
-
#line
|
|
5158
|
+
#line 5159 "insns_info.inc"
|
|
5175
5159
|
}
|
|
5176
5160
|
|
|
5177
5161
|
/* attr const char* name @ checkmatch(flag)(target, pattern)(result) */
|
|
@@ -5666,9 +5650,9 @@ attr_comptime_sp_inc_send(
|
|
|
5666
5650
|
)
|
|
5667
5651
|
{
|
|
5668
5652
|
return
|
|
5669
|
-
#line
|
|
5653
|
+
#line 848 "insns.def"
|
|
5670
5654
|
sp_inc_of_sendish(ci);
|
|
5671
|
-
#line
|
|
5655
|
+
#line 5656 "insns_info.inc"
|
|
5672
5656
|
}
|
|
5673
5657
|
|
|
5674
5658
|
/* attr bool handles_sp @ send(cd, blockiseq)(...)(val) */
|
|
@@ -5739,9 +5723,9 @@ attr_sp_inc_send(
|
|
|
5739
5723
|
)
|
|
5740
5724
|
{
|
|
5741
5725
|
return
|
|
5742
|
-
#line
|
|
5726
|
+
#line 847 "insns.def"
|
|
5743
5727
|
sp_inc_of_sendish(cd->ci);
|
|
5744
|
-
#line
|
|
5728
|
+
#line 5729 "insns_info.inc"
|
|
5745
5729
|
}
|
|
5746
5730
|
|
|
5747
5731
|
/* attr rb_num_t width @ send(cd, blockiseq)(...)(val) */
|
|
@@ -5754,6 +5738,112 @@ attr_width_send(
|
|
|
5754
5738
|
return 3;
|
|
5755
5739
|
}
|
|
5756
5740
|
|
|
5741
|
+
/* attr enum ruby_vminsn_type bin @ sendforward(cd, blockiseq)(...)(val) */
|
|
5742
|
+
enum ruby_vminsn_type
|
|
5743
|
+
attr_bin_sendforward(
|
|
5744
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
5745
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
5746
|
+
)
|
|
5747
|
+
{
|
|
5748
|
+
return BIN(sendforward);
|
|
5749
|
+
}
|
|
5750
|
+
|
|
5751
|
+
/* attr rb_snum_t comptime_sp_inc @ sendforward(cd, blockiseq)(...)(val) */
|
|
5752
|
+
rb_snum_t
|
|
5753
|
+
attr_comptime_sp_inc_sendforward(
|
|
5754
|
+
MAYBE_UNUSED(CALL_INFO ci),
|
|
5755
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
5756
|
+
)
|
|
5757
|
+
{
|
|
5758
|
+
return
|
|
5759
|
+
#line 867 "insns.def"
|
|
5760
|
+
sp_inc_of_sendish(ci);
|
|
5761
|
+
#line 5762 "insns_info.inc"
|
|
5762
|
+
}
|
|
5763
|
+
|
|
5764
|
+
/* attr bool handles_sp @ sendforward(cd, blockiseq)(...)(val) */
|
|
5765
|
+
bool
|
|
5766
|
+
attr_handles_sp_sendforward(
|
|
5767
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
5768
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
5769
|
+
)
|
|
5770
|
+
{
|
|
5771
|
+
return true;
|
|
5772
|
+
}
|
|
5773
|
+
|
|
5774
|
+
/* attr bool leaf @ sendforward(cd, blockiseq)(...)(val) */
|
|
5775
|
+
bool
|
|
5776
|
+
attr_leaf_sendforward(
|
|
5777
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
5778
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
5779
|
+
)
|
|
5780
|
+
{
|
|
5781
|
+
return false;
|
|
5782
|
+
}
|
|
5783
|
+
|
|
5784
|
+
/* attr const char* name @ sendforward(cd, blockiseq)(...)(val) */
|
|
5785
|
+
const char*
|
|
5786
|
+
attr_name_sendforward(
|
|
5787
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
5788
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
5789
|
+
)
|
|
5790
|
+
{
|
|
5791
|
+
return insn_name(BIN(sendforward));
|
|
5792
|
+
}
|
|
5793
|
+
|
|
5794
|
+
/* attr rb_num_t open @ sendforward(cd, blockiseq)(...)(val) */
|
|
5795
|
+
rb_num_t
|
|
5796
|
+
attr_open_sendforward(
|
|
5797
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
5798
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
5799
|
+
)
|
|
5800
|
+
{
|
|
5801
|
+
return 2;
|
|
5802
|
+
}
|
|
5803
|
+
|
|
5804
|
+
/* attr rb_num_t popn @ sendforward(cd, blockiseq)(...)(val) */
|
|
5805
|
+
rb_num_t
|
|
5806
|
+
attr_popn_sendforward(
|
|
5807
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
5808
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
5809
|
+
)
|
|
5810
|
+
{
|
|
5811
|
+
return 0;
|
|
5812
|
+
}
|
|
5813
|
+
|
|
5814
|
+
/* attr rb_num_t retn @ sendforward(cd, blockiseq)(...)(val) */
|
|
5815
|
+
rb_num_t
|
|
5816
|
+
attr_retn_sendforward(
|
|
5817
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
5818
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
5819
|
+
)
|
|
5820
|
+
{
|
|
5821
|
+
return 1;
|
|
5822
|
+
}
|
|
5823
|
+
|
|
5824
|
+
/* attr rb_snum_t sp_inc @ sendforward(cd, blockiseq)(...)(val) */
|
|
5825
|
+
rb_snum_t
|
|
5826
|
+
attr_sp_inc_sendforward(
|
|
5827
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
5828
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
5829
|
+
)
|
|
5830
|
+
{
|
|
5831
|
+
return
|
|
5832
|
+
#line 866 "insns.def"
|
|
5833
|
+
sp_inc_of_sendish(cd->ci);
|
|
5834
|
+
#line 5835 "insns_info.inc"
|
|
5835
|
+
}
|
|
5836
|
+
|
|
5837
|
+
/* attr rb_num_t width @ sendforward(cd, blockiseq)(...)(val) */
|
|
5838
|
+
rb_num_t
|
|
5839
|
+
attr_width_sendforward(
|
|
5840
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
5841
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
5842
|
+
)
|
|
5843
|
+
{
|
|
5844
|
+
return 3;
|
|
5845
|
+
}
|
|
5846
|
+
|
|
5757
5847
|
/* attr enum ruby_vminsn_type bin @ opt_send_without_block(cd)(...)(val) */
|
|
5758
5848
|
enum ruby_vminsn_type
|
|
5759
5849
|
attr_bin_opt_send_without_block(MAYBE_UNUSED(CALL_DATA cd))
|
|
@@ -5766,9 +5856,9 @@ rb_snum_t
|
|
|
5766
5856
|
attr_comptime_sp_inc_opt_send_without_block(MAYBE_UNUSED(CALL_INFO ci))
|
|
5767
5857
|
{
|
|
5768
5858
|
return
|
|
5769
|
-
#line
|
|
5859
|
+
#line 895 "insns.def"
|
|
5770
5860
|
sp_inc_of_sendish(ci);
|
|
5771
|
-
#line
|
|
5861
|
+
#line 5862 "insns_info.inc"
|
|
5772
5862
|
}
|
|
5773
5863
|
|
|
5774
5864
|
/* attr bool handles_sp @ opt_send_without_block(cd)(...)(val) */
|
|
@@ -5776,9 +5866,9 @@ bool
|
|
|
5776
5866
|
attr_handles_sp_opt_send_without_block(MAYBE_UNUSED(CALL_DATA cd))
|
|
5777
5867
|
{
|
|
5778
5868
|
return
|
|
5779
|
-
#line
|
|
5869
|
+
#line 893 "insns.def"
|
|
5780
5870
|
true;
|
|
5781
|
-
#line
|
|
5871
|
+
#line 5872 "insns_info.inc"
|
|
5782
5872
|
}
|
|
5783
5873
|
|
|
5784
5874
|
/* attr bool leaf @ opt_send_without_block(cd)(...)(val) */
|
|
@@ -5821,9 +5911,9 @@ rb_snum_t
|
|
|
5821
5911
|
attr_sp_inc_opt_send_without_block(MAYBE_UNUSED(CALL_DATA cd))
|
|
5822
5912
|
{
|
|
5823
5913
|
return
|
|
5824
|
-
#line
|
|
5914
|
+
#line 894 "insns.def"
|
|
5825
5915
|
sp_inc_of_sendish(cd->ci);
|
|
5826
|
-
#line
|
|
5916
|
+
#line 5917 "insns_info.inc"
|
|
5827
5917
|
}
|
|
5828
5918
|
|
|
5829
5919
|
/* attr rb_num_t width @ opt_send_without_block(cd)(...)(val) */
|
|
@@ -5852,9 +5942,9 @@ bool
|
|
|
5852
5942
|
attr_leaf_objtostring(MAYBE_UNUSED(CALL_DATA cd))
|
|
5853
5943
|
{
|
|
5854
5944
|
return
|
|
5855
|
-
#line
|
|
5945
|
+
#line 913 "insns.def"
|
|
5856
5946
|
false;
|
|
5857
|
-
#line
|
|
5947
|
+
#line 5948 "insns_info.inc"
|
|
5858
5948
|
}
|
|
5859
5949
|
|
|
5860
5950
|
/* attr const char* name @ objtostring(cd)(recv)(val) */
|
|
@@ -5899,6 +5989,186 @@ attr_width_objtostring(MAYBE_UNUSED(CALL_DATA cd))
|
|
|
5899
5989
|
return 2;
|
|
5900
5990
|
}
|
|
5901
5991
|
|
|
5992
|
+
/* attr enum ruby_vminsn_type bin @ opt_ary_freeze(ary, cd)()(val) */
|
|
5993
|
+
enum ruby_vminsn_type
|
|
5994
|
+
attr_bin_opt_ary_freeze(
|
|
5995
|
+
MAYBE_UNUSED(VALUE ary),
|
|
5996
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
5997
|
+
)
|
|
5998
|
+
{
|
|
5999
|
+
return BIN(opt_ary_freeze);
|
|
6000
|
+
}
|
|
6001
|
+
|
|
6002
|
+
/* attr bool handles_sp @ opt_ary_freeze(ary, cd)()(val) */
|
|
6003
|
+
bool
|
|
6004
|
+
attr_handles_sp_opt_ary_freeze(
|
|
6005
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6006
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6007
|
+
)
|
|
6008
|
+
{
|
|
6009
|
+
return false;
|
|
6010
|
+
}
|
|
6011
|
+
|
|
6012
|
+
/* attr bool leaf @ opt_ary_freeze(ary, cd)()(val) */
|
|
6013
|
+
bool
|
|
6014
|
+
attr_leaf_opt_ary_freeze(
|
|
6015
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6016
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6017
|
+
)
|
|
6018
|
+
{
|
|
6019
|
+
return true;
|
|
6020
|
+
}
|
|
6021
|
+
|
|
6022
|
+
/* attr const char* name @ opt_ary_freeze(ary, cd)()(val) */
|
|
6023
|
+
const char*
|
|
6024
|
+
attr_name_opt_ary_freeze(
|
|
6025
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6026
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6027
|
+
)
|
|
6028
|
+
{
|
|
6029
|
+
return insn_name(BIN(opt_ary_freeze));
|
|
6030
|
+
}
|
|
6031
|
+
|
|
6032
|
+
/* attr rb_num_t open @ opt_ary_freeze(ary, cd)()(val) */
|
|
6033
|
+
rb_num_t
|
|
6034
|
+
attr_open_opt_ary_freeze(
|
|
6035
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6036
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6037
|
+
)
|
|
6038
|
+
{
|
|
6039
|
+
return 2;
|
|
6040
|
+
}
|
|
6041
|
+
|
|
6042
|
+
/* attr rb_num_t popn @ opt_ary_freeze(ary, cd)()(val) */
|
|
6043
|
+
rb_num_t
|
|
6044
|
+
attr_popn_opt_ary_freeze(
|
|
6045
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6046
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6047
|
+
)
|
|
6048
|
+
{
|
|
6049
|
+
return 0;
|
|
6050
|
+
}
|
|
6051
|
+
|
|
6052
|
+
/* attr rb_num_t retn @ opt_ary_freeze(ary, cd)()(val) */
|
|
6053
|
+
rb_num_t
|
|
6054
|
+
attr_retn_opt_ary_freeze(
|
|
6055
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6056
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6057
|
+
)
|
|
6058
|
+
{
|
|
6059
|
+
return 1;
|
|
6060
|
+
}
|
|
6061
|
+
|
|
6062
|
+
/* attr rb_snum_t sp_inc @ opt_ary_freeze(ary, cd)()(val) */
|
|
6063
|
+
rb_snum_t
|
|
6064
|
+
attr_sp_inc_opt_ary_freeze(
|
|
6065
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6066
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6067
|
+
)
|
|
6068
|
+
{
|
|
6069
|
+
return 1;
|
|
6070
|
+
}
|
|
6071
|
+
|
|
6072
|
+
/* attr rb_num_t width @ opt_ary_freeze(ary, cd)()(val) */
|
|
6073
|
+
rb_num_t
|
|
6074
|
+
attr_width_opt_ary_freeze(
|
|
6075
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6076
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6077
|
+
)
|
|
6078
|
+
{
|
|
6079
|
+
return 3;
|
|
6080
|
+
}
|
|
6081
|
+
|
|
6082
|
+
/* attr enum ruby_vminsn_type bin @ opt_hash_freeze(hash, cd)()(val) */
|
|
6083
|
+
enum ruby_vminsn_type
|
|
6084
|
+
attr_bin_opt_hash_freeze(
|
|
6085
|
+
MAYBE_UNUSED(VALUE hash),
|
|
6086
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6087
|
+
)
|
|
6088
|
+
{
|
|
6089
|
+
return BIN(opt_hash_freeze);
|
|
6090
|
+
}
|
|
6091
|
+
|
|
6092
|
+
/* attr bool handles_sp @ opt_hash_freeze(hash, cd)()(val) */
|
|
6093
|
+
bool
|
|
6094
|
+
attr_handles_sp_opt_hash_freeze(
|
|
6095
|
+
MAYBE_UNUSED(VALUE hash),
|
|
6096
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6097
|
+
)
|
|
6098
|
+
{
|
|
6099
|
+
return false;
|
|
6100
|
+
}
|
|
6101
|
+
|
|
6102
|
+
/* attr bool leaf @ opt_hash_freeze(hash, cd)()(val) */
|
|
6103
|
+
bool
|
|
6104
|
+
attr_leaf_opt_hash_freeze(
|
|
6105
|
+
MAYBE_UNUSED(VALUE hash),
|
|
6106
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6107
|
+
)
|
|
6108
|
+
{
|
|
6109
|
+
return true;
|
|
6110
|
+
}
|
|
6111
|
+
|
|
6112
|
+
/* attr const char* name @ opt_hash_freeze(hash, cd)()(val) */
|
|
6113
|
+
const char*
|
|
6114
|
+
attr_name_opt_hash_freeze(
|
|
6115
|
+
MAYBE_UNUSED(VALUE hash),
|
|
6116
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6117
|
+
)
|
|
6118
|
+
{
|
|
6119
|
+
return insn_name(BIN(opt_hash_freeze));
|
|
6120
|
+
}
|
|
6121
|
+
|
|
6122
|
+
/* attr rb_num_t open @ opt_hash_freeze(hash, cd)()(val) */
|
|
6123
|
+
rb_num_t
|
|
6124
|
+
attr_open_opt_hash_freeze(
|
|
6125
|
+
MAYBE_UNUSED(VALUE hash),
|
|
6126
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6127
|
+
)
|
|
6128
|
+
{
|
|
6129
|
+
return 2;
|
|
6130
|
+
}
|
|
6131
|
+
|
|
6132
|
+
/* attr rb_num_t popn @ opt_hash_freeze(hash, cd)()(val) */
|
|
6133
|
+
rb_num_t
|
|
6134
|
+
attr_popn_opt_hash_freeze(
|
|
6135
|
+
MAYBE_UNUSED(VALUE hash),
|
|
6136
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6137
|
+
)
|
|
6138
|
+
{
|
|
6139
|
+
return 0;
|
|
6140
|
+
}
|
|
6141
|
+
|
|
6142
|
+
/* attr rb_num_t retn @ opt_hash_freeze(hash, cd)()(val) */
|
|
6143
|
+
rb_num_t
|
|
6144
|
+
attr_retn_opt_hash_freeze(
|
|
6145
|
+
MAYBE_UNUSED(VALUE hash),
|
|
6146
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6147
|
+
)
|
|
6148
|
+
{
|
|
6149
|
+
return 1;
|
|
6150
|
+
}
|
|
6151
|
+
|
|
6152
|
+
/* attr rb_snum_t sp_inc @ opt_hash_freeze(hash, cd)()(val) */
|
|
6153
|
+
rb_snum_t
|
|
6154
|
+
attr_sp_inc_opt_hash_freeze(
|
|
6155
|
+
MAYBE_UNUSED(VALUE hash),
|
|
6156
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6157
|
+
)
|
|
6158
|
+
{
|
|
6159
|
+
return 1;
|
|
6160
|
+
}
|
|
6161
|
+
|
|
6162
|
+
/* attr rb_num_t width @ opt_hash_freeze(hash, cd)()(val) */
|
|
6163
|
+
rb_num_t
|
|
6164
|
+
attr_width_opt_hash_freeze(
|
|
6165
|
+
MAYBE_UNUSED(VALUE hash),
|
|
6166
|
+
MAYBE_UNUSED(CALL_DATA cd)
|
|
6167
|
+
)
|
|
6168
|
+
{
|
|
6169
|
+
return 3;
|
|
6170
|
+
}
|
|
6171
|
+
|
|
5902
6172
|
/* attr enum ruby_vminsn_type bin @ opt_str_freeze(str, cd)()(val) */
|
|
5903
6173
|
enum ruby_vminsn_type
|
|
5904
6174
|
attr_bin_opt_str_freeze(
|
|
@@ -6142,11 +6412,130 @@ attr_width_opt_str_uminus(
|
|
|
6142
6412
|
return 3;
|
|
6143
6413
|
}
|
|
6144
6414
|
|
|
6415
|
+
/* attr enum ruby_vminsn_type bin @ opt_duparray_send(ary, method, argc)(...)(val) */
|
|
6416
|
+
enum ruby_vminsn_type
|
|
6417
|
+
attr_bin_opt_duparray_send(
|
|
6418
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6419
|
+
MAYBE_UNUSED(ID method),
|
|
6420
|
+
MAYBE_UNUSED(rb_num_t argc)
|
|
6421
|
+
)
|
|
6422
|
+
{
|
|
6423
|
+
return BIN(opt_duparray_send);
|
|
6424
|
+
}
|
|
6425
|
+
|
|
6426
|
+
/* attr rb_snum_t comptime_sp_inc @ opt_duparray_send(ary, method, argc)(...)(val) */
|
|
6427
|
+
rb_snum_t
|
|
6428
|
+
attr_comptime_sp_inc_opt_duparray_send(
|
|
6429
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6430
|
+
MAYBE_UNUSED(ID method),
|
|
6431
|
+
MAYBE_UNUSED(rb_num_t argc)
|
|
6432
|
+
)
|
|
6433
|
+
{
|
|
6434
|
+
return
|
|
6435
|
+
#line 1005 "insns.def"
|
|
6436
|
+
1 - (rb_snum_t)argc;
|
|
6437
|
+
#line 6438 "insns_info.inc"
|
|
6438
|
+
}
|
|
6439
|
+
|
|
6440
|
+
/* attr bool handles_sp @ opt_duparray_send(ary, method, argc)(...)(val) */
|
|
6441
|
+
bool
|
|
6442
|
+
attr_handles_sp_opt_duparray_send(
|
|
6443
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6444
|
+
MAYBE_UNUSED(ID method),
|
|
6445
|
+
MAYBE_UNUSED(rb_num_t argc)
|
|
6446
|
+
)
|
|
6447
|
+
{
|
|
6448
|
+
return false;
|
|
6449
|
+
}
|
|
6450
|
+
|
|
6451
|
+
/* attr bool leaf @ opt_duparray_send(ary, method, argc)(...)(val) */
|
|
6452
|
+
bool
|
|
6453
|
+
attr_leaf_opt_duparray_send(
|
|
6454
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6455
|
+
MAYBE_UNUSED(ID method),
|
|
6456
|
+
MAYBE_UNUSED(rb_num_t argc)
|
|
6457
|
+
)
|
|
6458
|
+
{
|
|
6459
|
+
return
|
|
6460
|
+
#line 1003 "insns.def"
|
|
6461
|
+
false;
|
|
6462
|
+
#line 6463 "insns_info.inc"
|
|
6463
|
+
}
|
|
6464
|
+
|
|
6465
|
+
/* attr const char* name @ opt_duparray_send(ary, method, argc)(...)(val) */
|
|
6466
|
+
const char*
|
|
6467
|
+
attr_name_opt_duparray_send(
|
|
6468
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6469
|
+
MAYBE_UNUSED(ID method),
|
|
6470
|
+
MAYBE_UNUSED(rb_num_t argc)
|
|
6471
|
+
)
|
|
6472
|
+
{
|
|
6473
|
+
return insn_name(BIN(opt_duparray_send));
|
|
6474
|
+
}
|
|
6475
|
+
|
|
6476
|
+
/* attr rb_num_t open @ opt_duparray_send(ary, method, argc)(...)(val) */
|
|
6477
|
+
rb_num_t
|
|
6478
|
+
attr_open_opt_duparray_send(
|
|
6479
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6480
|
+
MAYBE_UNUSED(ID method),
|
|
6481
|
+
MAYBE_UNUSED(rb_num_t argc)
|
|
6482
|
+
)
|
|
6483
|
+
{
|
|
6484
|
+
return 3;
|
|
6485
|
+
}
|
|
6486
|
+
|
|
6487
|
+
/* attr rb_num_t popn @ opt_duparray_send(ary, method, argc)(...)(val) */
|
|
6488
|
+
rb_num_t
|
|
6489
|
+
attr_popn_opt_duparray_send(
|
|
6490
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6491
|
+
MAYBE_UNUSED(ID method),
|
|
6492
|
+
MAYBE_UNUSED(rb_num_t argc)
|
|
6493
|
+
)
|
|
6494
|
+
{
|
|
6495
|
+
return 0;
|
|
6496
|
+
}
|
|
6497
|
+
|
|
6498
|
+
/* attr rb_num_t retn @ opt_duparray_send(ary, method, argc)(...)(val) */
|
|
6499
|
+
rb_num_t
|
|
6500
|
+
attr_retn_opt_duparray_send(
|
|
6501
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6502
|
+
MAYBE_UNUSED(ID method),
|
|
6503
|
+
MAYBE_UNUSED(rb_num_t argc)
|
|
6504
|
+
)
|
|
6505
|
+
{
|
|
6506
|
+
return 1;
|
|
6507
|
+
}
|
|
6508
|
+
|
|
6509
|
+
/* attr rb_snum_t sp_inc @ opt_duparray_send(ary, method, argc)(...)(val) */
|
|
6510
|
+
rb_snum_t
|
|
6511
|
+
attr_sp_inc_opt_duparray_send(
|
|
6512
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6513
|
+
MAYBE_UNUSED(ID method),
|
|
6514
|
+
MAYBE_UNUSED(rb_num_t argc)
|
|
6515
|
+
)
|
|
6516
|
+
{
|
|
6517
|
+
return
|
|
6518
|
+
#line 1004 "insns.def"
|
|
6519
|
+
1 - (rb_snum_t)argc;
|
|
6520
|
+
#line 6521 "insns_info.inc"
|
|
6521
|
+
}
|
|
6522
|
+
|
|
6523
|
+
/* attr rb_num_t width @ opt_duparray_send(ary, method, argc)(...)(val) */
|
|
6524
|
+
rb_num_t
|
|
6525
|
+
attr_width_opt_duparray_send(
|
|
6526
|
+
MAYBE_UNUSED(VALUE ary),
|
|
6527
|
+
MAYBE_UNUSED(ID method),
|
|
6528
|
+
MAYBE_UNUSED(rb_num_t argc)
|
|
6529
|
+
)
|
|
6530
|
+
{
|
|
6531
|
+
return 4;
|
|
6532
|
+
}
|
|
6533
|
+
|
|
6145
6534
|
/* attr enum ruby_vminsn_type bin @ opt_newarray_send(num, method)(...)(val) */
|
|
6146
6535
|
enum ruby_vminsn_type
|
|
6147
6536
|
attr_bin_opt_newarray_send(
|
|
6148
6537
|
MAYBE_UNUSED(rb_num_t num),
|
|
6149
|
-
MAYBE_UNUSED(
|
|
6538
|
+
MAYBE_UNUSED(rb_num_t method)
|
|
6150
6539
|
)
|
|
6151
6540
|
{
|
|
6152
6541
|
return BIN(opt_newarray_send);
|
|
@@ -6156,20 +6545,20 @@ attr_bin_opt_newarray_send(
|
|
|
6156
6545
|
rb_snum_t
|
|
6157
6546
|
attr_comptime_sp_inc_opt_newarray_send(
|
|
6158
6547
|
MAYBE_UNUSED(rb_num_t num),
|
|
6159
|
-
MAYBE_UNUSED(
|
|
6548
|
+
MAYBE_UNUSED(rb_num_t method)
|
|
6160
6549
|
)
|
|
6161
6550
|
{
|
|
6162
6551
|
return
|
|
6163
|
-
#line
|
|
6552
|
+
#line 1027 "insns.def"
|
|
6164
6553
|
1 - (rb_snum_t)num;
|
|
6165
|
-
#line
|
|
6554
|
+
#line 6555 "insns_info.inc"
|
|
6166
6555
|
}
|
|
6167
6556
|
|
|
6168
6557
|
/* attr bool handles_sp @ opt_newarray_send(num, method)(...)(val) */
|
|
6169
6558
|
bool
|
|
6170
6559
|
attr_handles_sp_opt_newarray_send(
|
|
6171
6560
|
MAYBE_UNUSED(rb_num_t num),
|
|
6172
|
-
MAYBE_UNUSED(
|
|
6561
|
+
MAYBE_UNUSED(rb_num_t method)
|
|
6173
6562
|
)
|
|
6174
6563
|
{
|
|
6175
6564
|
return false;
|
|
@@ -6179,20 +6568,20 @@ attr_handles_sp_opt_newarray_send(
|
|
|
6179
6568
|
bool
|
|
6180
6569
|
attr_leaf_opt_newarray_send(
|
|
6181
6570
|
MAYBE_UNUSED(rb_num_t num),
|
|
6182
|
-
MAYBE_UNUSED(
|
|
6571
|
+
MAYBE_UNUSED(rb_num_t method)
|
|
6183
6572
|
)
|
|
6184
6573
|
{
|
|
6185
6574
|
return
|
|
6186
|
-
#line
|
|
6575
|
+
#line 1025 "insns.def"
|
|
6187
6576
|
false;
|
|
6188
|
-
#line
|
|
6577
|
+
#line 6578 "insns_info.inc"
|
|
6189
6578
|
}
|
|
6190
6579
|
|
|
6191
6580
|
/* attr const char* name @ opt_newarray_send(num, method)(...)(val) */
|
|
6192
6581
|
const char*
|
|
6193
6582
|
attr_name_opt_newarray_send(
|
|
6194
6583
|
MAYBE_UNUSED(rb_num_t num),
|
|
6195
|
-
MAYBE_UNUSED(
|
|
6584
|
+
MAYBE_UNUSED(rb_num_t method)
|
|
6196
6585
|
)
|
|
6197
6586
|
{
|
|
6198
6587
|
return insn_name(BIN(opt_newarray_send));
|
|
@@ -6202,7 +6591,7 @@ attr_name_opt_newarray_send(
|
|
|
6202
6591
|
rb_num_t
|
|
6203
6592
|
attr_open_opt_newarray_send(
|
|
6204
6593
|
MAYBE_UNUSED(rb_num_t num),
|
|
6205
|
-
MAYBE_UNUSED(
|
|
6594
|
+
MAYBE_UNUSED(rb_num_t method)
|
|
6206
6595
|
)
|
|
6207
6596
|
{
|
|
6208
6597
|
return 2;
|
|
@@ -6212,7 +6601,7 @@ attr_open_opt_newarray_send(
|
|
|
6212
6601
|
rb_num_t
|
|
6213
6602
|
attr_popn_opt_newarray_send(
|
|
6214
6603
|
MAYBE_UNUSED(rb_num_t num),
|
|
6215
|
-
MAYBE_UNUSED(
|
|
6604
|
+
MAYBE_UNUSED(rb_num_t method)
|
|
6216
6605
|
)
|
|
6217
6606
|
{
|
|
6218
6607
|
return 0;
|
|
@@ -6222,7 +6611,7 @@ attr_popn_opt_newarray_send(
|
|
|
6222
6611
|
rb_num_t
|
|
6223
6612
|
attr_retn_opt_newarray_send(
|
|
6224
6613
|
MAYBE_UNUSED(rb_num_t num),
|
|
6225
|
-
MAYBE_UNUSED(
|
|
6614
|
+
MAYBE_UNUSED(rb_num_t method)
|
|
6226
6615
|
)
|
|
6227
6616
|
{
|
|
6228
6617
|
return 1;
|
|
@@ -6232,20 +6621,20 @@ attr_retn_opt_newarray_send(
|
|
|
6232
6621
|
rb_snum_t
|
|
6233
6622
|
attr_sp_inc_opt_newarray_send(
|
|
6234
6623
|
MAYBE_UNUSED(rb_num_t num),
|
|
6235
|
-
MAYBE_UNUSED(
|
|
6624
|
+
MAYBE_UNUSED(rb_num_t method)
|
|
6236
6625
|
)
|
|
6237
6626
|
{
|
|
6238
6627
|
return
|
|
6239
|
-
#line
|
|
6628
|
+
#line 1026 "insns.def"
|
|
6240
6629
|
1 - (rb_snum_t)num;
|
|
6241
|
-
#line
|
|
6630
|
+
#line 6631 "insns_info.inc"
|
|
6242
6631
|
}
|
|
6243
6632
|
|
|
6244
6633
|
/* attr rb_num_t width @ opt_newarray_send(num, method)(...)(val) */
|
|
6245
6634
|
rb_num_t
|
|
6246
6635
|
attr_width_opt_newarray_send(
|
|
6247
6636
|
MAYBE_UNUSED(rb_num_t num),
|
|
6248
|
-
MAYBE_UNUSED(
|
|
6637
|
+
MAYBE_UNUSED(rb_num_t method)
|
|
6249
6638
|
)
|
|
6250
6639
|
{
|
|
6251
6640
|
return 3;
|
|
@@ -6269,9 +6658,9 @@ attr_comptime_sp_inc_invokesuper(
|
|
|
6269
6658
|
)
|
|
6270
6659
|
{
|
|
6271
6660
|
return
|
|
6272
|
-
#line
|
|
6661
|
+
#line 1060 "insns.def"
|
|
6273
6662
|
sp_inc_of_sendish(ci);
|
|
6274
|
-
#line
|
|
6663
|
+
#line 6664 "insns_info.inc"
|
|
6275
6664
|
}
|
|
6276
6665
|
|
|
6277
6666
|
/* attr bool handles_sp @ invokesuper(cd, blockiseq)(...)(val) */
|
|
@@ -6342,9 +6731,9 @@ attr_sp_inc_invokesuper(
|
|
|
6342
6731
|
)
|
|
6343
6732
|
{
|
|
6344
6733
|
return
|
|
6345
|
-
#line
|
|
6734
|
+
#line 1059 "insns.def"
|
|
6346
6735
|
sp_inc_of_sendish(cd->ci);
|
|
6347
|
-
#line
|
|
6736
|
+
#line 6737 "insns_info.inc"
|
|
6348
6737
|
}
|
|
6349
6738
|
|
|
6350
6739
|
/* attr rb_num_t width @ invokesuper(cd, blockiseq)(...)(val) */
|
|
@@ -6357,6 +6746,112 @@ attr_width_invokesuper(
|
|
|
6357
6746
|
return 3;
|
|
6358
6747
|
}
|
|
6359
6748
|
|
|
6749
|
+
/* attr enum ruby_vminsn_type bin @ invokesuperforward(cd, blockiseq)(...)(val) */
|
|
6750
|
+
enum ruby_vminsn_type
|
|
6751
|
+
attr_bin_invokesuperforward(
|
|
6752
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
6753
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
6754
|
+
)
|
|
6755
|
+
{
|
|
6756
|
+
return BIN(invokesuperforward);
|
|
6757
|
+
}
|
|
6758
|
+
|
|
6759
|
+
/* attr rb_snum_t comptime_sp_inc @ invokesuperforward(cd, blockiseq)(...)(val) */
|
|
6760
|
+
rb_snum_t
|
|
6761
|
+
attr_comptime_sp_inc_invokesuperforward(
|
|
6762
|
+
MAYBE_UNUSED(CALL_INFO ci),
|
|
6763
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
6764
|
+
)
|
|
6765
|
+
{
|
|
6766
|
+
return
|
|
6767
|
+
#line 1079 "insns.def"
|
|
6768
|
+
sp_inc_of_sendish(ci);
|
|
6769
|
+
#line 6770 "insns_info.inc"
|
|
6770
|
+
}
|
|
6771
|
+
|
|
6772
|
+
/* attr bool handles_sp @ invokesuperforward(cd, blockiseq)(...)(val) */
|
|
6773
|
+
bool
|
|
6774
|
+
attr_handles_sp_invokesuperforward(
|
|
6775
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
6776
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
6777
|
+
)
|
|
6778
|
+
{
|
|
6779
|
+
return true;
|
|
6780
|
+
}
|
|
6781
|
+
|
|
6782
|
+
/* attr bool leaf @ invokesuperforward(cd, blockiseq)(...)(val) */
|
|
6783
|
+
bool
|
|
6784
|
+
attr_leaf_invokesuperforward(
|
|
6785
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
6786
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
6787
|
+
)
|
|
6788
|
+
{
|
|
6789
|
+
return false;
|
|
6790
|
+
}
|
|
6791
|
+
|
|
6792
|
+
/* attr const char* name @ invokesuperforward(cd, blockiseq)(...)(val) */
|
|
6793
|
+
const char*
|
|
6794
|
+
attr_name_invokesuperforward(
|
|
6795
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
6796
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
6797
|
+
)
|
|
6798
|
+
{
|
|
6799
|
+
return insn_name(BIN(invokesuperforward));
|
|
6800
|
+
}
|
|
6801
|
+
|
|
6802
|
+
/* attr rb_num_t open @ invokesuperforward(cd, blockiseq)(...)(val) */
|
|
6803
|
+
rb_num_t
|
|
6804
|
+
attr_open_invokesuperforward(
|
|
6805
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
6806
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
6807
|
+
)
|
|
6808
|
+
{
|
|
6809
|
+
return 2;
|
|
6810
|
+
}
|
|
6811
|
+
|
|
6812
|
+
/* attr rb_num_t popn @ invokesuperforward(cd, blockiseq)(...)(val) */
|
|
6813
|
+
rb_num_t
|
|
6814
|
+
attr_popn_invokesuperforward(
|
|
6815
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
6816
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
6817
|
+
)
|
|
6818
|
+
{
|
|
6819
|
+
return 0;
|
|
6820
|
+
}
|
|
6821
|
+
|
|
6822
|
+
/* attr rb_num_t retn @ invokesuperforward(cd, blockiseq)(...)(val) */
|
|
6823
|
+
rb_num_t
|
|
6824
|
+
attr_retn_invokesuperforward(
|
|
6825
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
6826
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
6827
|
+
)
|
|
6828
|
+
{
|
|
6829
|
+
return 1;
|
|
6830
|
+
}
|
|
6831
|
+
|
|
6832
|
+
/* attr rb_snum_t sp_inc @ invokesuperforward(cd, blockiseq)(...)(val) */
|
|
6833
|
+
rb_snum_t
|
|
6834
|
+
attr_sp_inc_invokesuperforward(
|
|
6835
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
6836
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
6837
|
+
)
|
|
6838
|
+
{
|
|
6839
|
+
return
|
|
6840
|
+
#line 1078 "insns.def"
|
|
6841
|
+
sp_inc_of_sendish(cd->ci);
|
|
6842
|
+
#line 6843 "insns_info.inc"
|
|
6843
|
+
}
|
|
6844
|
+
|
|
6845
|
+
/* attr rb_num_t width @ invokesuperforward(cd, blockiseq)(...)(val) */
|
|
6846
|
+
rb_num_t
|
|
6847
|
+
attr_width_invokesuperforward(
|
|
6848
|
+
MAYBE_UNUSED(CALL_DATA cd),
|
|
6849
|
+
MAYBE_UNUSED(ISEQ blockiseq)
|
|
6850
|
+
)
|
|
6851
|
+
{
|
|
6852
|
+
return 3;
|
|
6853
|
+
}
|
|
6854
|
+
|
|
6360
6855
|
/* attr enum ruby_vminsn_type bin @ invokeblock(cd)(...)(val) */
|
|
6361
6856
|
enum ruby_vminsn_type
|
|
6362
6857
|
attr_bin_invokeblock(MAYBE_UNUSED(CALL_DATA cd))
|
|
@@ -6369,9 +6864,9 @@ rb_snum_t
|
|
|
6369
6864
|
attr_comptime_sp_inc_invokeblock(MAYBE_UNUSED(CALL_INFO ci))
|
|
6370
6865
|
{
|
|
6371
6866
|
return
|
|
6372
|
-
#line
|
|
6867
|
+
#line 1107 "insns.def"
|
|
6373
6868
|
sp_inc_of_invokeblock(ci);
|
|
6374
|
-
#line
|
|
6869
|
+
#line 6870 "insns_info.inc"
|
|
6375
6870
|
}
|
|
6376
6871
|
|
|
6377
6872
|
/* attr bool handles_sp @ invokeblock(cd)(...)(val) */
|
|
@@ -6379,9 +6874,9 @@ bool
|
|
|
6379
6874
|
attr_handles_sp_invokeblock(MAYBE_UNUSED(CALL_DATA cd))
|
|
6380
6875
|
{
|
|
6381
6876
|
return
|
|
6382
|
-
#line
|
|
6877
|
+
#line 1105 "insns.def"
|
|
6383
6878
|
true;
|
|
6384
|
-
#line
|
|
6879
|
+
#line 6880 "insns_info.inc"
|
|
6385
6880
|
}
|
|
6386
6881
|
|
|
6387
6882
|
/* attr bool leaf @ invokeblock(cd)(...)(val) */
|
|
@@ -6424,9 +6919,9 @@ rb_snum_t
|
|
|
6424
6919
|
attr_sp_inc_invokeblock(MAYBE_UNUSED(CALL_DATA cd))
|
|
6425
6920
|
{
|
|
6426
6921
|
return
|
|
6427
|
-
#line
|
|
6922
|
+
#line 1106 "insns.def"
|
|
6428
6923
|
sp_inc_of_invokeblock(cd->ci);
|
|
6429
|
-
#line
|
|
6924
|
+
#line 6925 "insns_info.inc"
|
|
6430
6925
|
}
|
|
6431
6926
|
|
|
6432
6927
|
/* attr rb_num_t width @ invokeblock(cd)(...)(val) */
|
|
@@ -6448,9 +6943,9 @@ bool
|
|
|
6448
6943
|
attr_handles_sp_leave(void)
|
|
6449
6944
|
{
|
|
6450
6945
|
return
|
|
6451
|
-
#line
|
|
6946
|
+
#line 1129 "insns.def"
|
|
6452
6947
|
true;
|
|
6453
|
-
#line
|
|
6948
|
+
#line 6949 "insns_info.inc"
|
|
6454
6949
|
}
|
|
6455
6950
|
|
|
6456
6951
|
/* attr bool leaf @ leave()(val)(val) */
|
|
@@ -6458,9 +6953,9 @@ bool
|
|
|
6458
6953
|
attr_leaf_leave(void)
|
|
6459
6954
|
{
|
|
6460
6955
|
return
|
|
6461
|
-
#line
|
|
6956
|
+
#line 1128 "insns.def"
|
|
6462
6957
|
false;
|
|
6463
|
-
#line
|
|
6958
|
+
#line 6959 "insns_info.inc"
|
|
6464
6959
|
}
|
|
6465
6960
|
|
|
6466
6961
|
/* attr const char* name @ leave()(val)(val) */
|
|
@@ -6524,9 +7019,9 @@ bool
|
|
|
6524
7019
|
attr_leaf_throw(MAYBE_UNUSED(rb_num_t throw_state))
|
|
6525
7020
|
{
|
|
6526
7021
|
return
|
|
6527
|
-
#line
|
|
7022
|
+
#line 1162 "insns.def"
|
|
6528
7023
|
false;
|
|
6529
|
-
#line
|
|
7024
|
+
#line 7025 "insns_info.inc"
|
|
6530
7025
|
}
|
|
6531
7026
|
|
|
6532
7027
|
/* attr const char* name @ throw(throw_state)(throwobj)(val) */
|
|
@@ -6590,9 +7085,9 @@ bool
|
|
|
6590
7085
|
attr_leaf_jump(MAYBE_UNUSED(OFFSET dst))
|
|
6591
7086
|
{
|
|
6592
7087
|
return
|
|
6593
|
-
#line
|
|
7088
|
+
#line 1180 "insns.def"
|
|
6594
7089
|
leafness_of_check_ints;
|
|
6595
|
-
#line
|
|
7090
|
+
#line 7091 "insns_info.inc"
|
|
6596
7091
|
}
|
|
6597
7092
|
|
|
6598
7093
|
/* attr const char* name @ jump(dst)()() */
|
|
@@ -6656,9 +7151,9 @@ bool
|
|
|
6656
7151
|
attr_leaf_branchif(MAYBE_UNUSED(OFFSET dst))
|
|
6657
7152
|
{
|
|
6658
7153
|
return
|
|
6659
|
-
#line
|
|
7154
|
+
#line 1193 "insns.def"
|
|
6660
7155
|
leafness_of_check_ints;
|
|
6661
|
-
#line
|
|
7156
|
+
#line 7157 "insns_info.inc"
|
|
6662
7157
|
}
|
|
6663
7158
|
|
|
6664
7159
|
/* attr const char* name @ branchif(dst)(val)() */
|
|
@@ -6722,9 +7217,9 @@ bool
|
|
|
6722
7217
|
attr_leaf_branchunless(MAYBE_UNUSED(OFFSET dst))
|
|
6723
7218
|
{
|
|
6724
7219
|
return
|
|
6725
|
-
#line
|
|
7220
|
+
#line 1208 "insns.def"
|
|
6726
7221
|
leafness_of_check_ints;
|
|
6727
|
-
#line
|
|
7222
|
+
#line 7223 "insns_info.inc"
|
|
6728
7223
|
}
|
|
6729
7224
|
|
|
6730
7225
|
/* attr const char* name @ branchunless(dst)(val)() */
|
|
@@ -6788,9 +7283,9 @@ bool
|
|
|
6788
7283
|
attr_leaf_branchnil(MAYBE_UNUSED(OFFSET dst))
|
|
6789
7284
|
{
|
|
6790
7285
|
return
|
|
6791
|
-
#line
|
|
7286
|
+
#line 1223 "insns.def"
|
|
6792
7287
|
leafness_of_check_ints;
|
|
6793
|
-
#line
|
|
7288
|
+
#line 7289 "insns_info.inc"
|
|
6794
7289
|
}
|
|
6795
7290
|
|
|
6796
7291
|
/* attr const char* name @ branchnil(dst)(val)() */
|
|
@@ -7003,9 +7498,9 @@ attr_sp_inc_opt_case_dispatch(
|
|
|
7003
7498
|
)
|
|
7004
7499
|
{
|
|
7005
7500
|
return
|
|
7006
|
-
#line
|
|
7501
|
+
#line 1251 "insns.def"
|
|
7007
7502
|
-1;
|
|
7008
|
-
#line
|
|
7503
|
+
#line 7504 "insns_info.inc"
|
|
7009
7504
|
}
|
|
7010
7505
|
|
|
7011
7506
|
/* attr rb_num_t width @ opt_case_dispatch(hash, else_offset)(..., key)() */
|
|
@@ -7226,9 +7721,9 @@ bool
|
|
|
7226
7721
|
attr_leaf_opt_div(MAYBE_UNUSED(CALL_DATA cd))
|
|
7227
7722
|
{
|
|
7228
7723
|
return
|
|
7229
|
-
#line
|
|
7724
|
+
#line 1312 "insns.def"
|
|
7230
7725
|
false;
|
|
7231
|
-
#line
|
|
7726
|
+
#line 7727 "insns_info.inc"
|
|
7232
7727
|
}
|
|
7233
7728
|
|
|
7234
7729
|
/* attr const char* name @ opt_div(cd)(recv, obj)(val) */
|
|
@@ -7292,9 +7787,9 @@ bool
|
|
|
7292
7787
|
attr_leaf_opt_mod(MAYBE_UNUSED(CALL_DATA cd))
|
|
7293
7788
|
{
|
|
7294
7789
|
return
|
|
7295
|
-
#line
|
|
7790
|
+
#line 1328 "insns.def"
|
|
7296
7791
|
false;
|
|
7297
|
-
#line
|
|
7792
|
+
#line 7793 "insns_info.inc"
|
|
7298
7793
|
}
|
|
7299
7794
|
|
|
7300
7795
|
/* attr const char* name @ opt_mod(cd)(recv, obj)(val) */
|
|
@@ -7763,9 +8258,9 @@ bool
|
|
|
7763
8258
|
attr_leaf_opt_ltlt(MAYBE_UNUSED(CALL_DATA cd))
|
|
7764
8259
|
{
|
|
7765
8260
|
return
|
|
7766
|
-
#line
|
|
8261
|
+
#line 1430 "insns.def"
|
|
7767
8262
|
false;
|
|
7768
|
-
#line
|
|
8263
|
+
#line 8264 "insns_info.inc"
|
|
7769
8264
|
}
|
|
7770
8265
|
|
|
7771
8266
|
/* attr const char* name @ opt_ltlt(cd)(recv, obj)(val) */
|
|
@@ -7955,9 +8450,9 @@ bool
|
|
|
7955
8450
|
attr_leaf_opt_aref(MAYBE_UNUSED(CALL_DATA cd))
|
|
7956
8451
|
{
|
|
7957
8452
|
return
|
|
7958
|
-
#line
|
|
8453
|
+
#line 1477 "insns.def"
|
|
7959
8454
|
false;
|
|
7960
|
-
#line
|
|
8455
|
+
#line 8456 "insns_info.inc"
|
|
7961
8456
|
}
|
|
7962
8457
|
|
|
7963
8458
|
/* attr const char* name @ opt_aref(cd)(recv, obj)(val) */
|
|
@@ -8021,9 +8516,9 @@ bool
|
|
|
8021
8516
|
attr_leaf_opt_aset(MAYBE_UNUSED(CALL_DATA cd))
|
|
8022
8517
|
{
|
|
8023
8518
|
return
|
|
8024
|
-
#line
|
|
8519
|
+
#line 1494 "insns.def"
|
|
8025
8520
|
false;
|
|
8026
|
-
#line
|
|
8521
|
+
#line 8522 "insns_info.inc"
|
|
8027
8522
|
}
|
|
8028
8523
|
|
|
8029
8524
|
/* attr const char* name @ opt_aset(cd)(recv, obj, set)(val) */
|
|
@@ -8096,9 +8591,9 @@ attr_leaf_opt_aset_with(
|
|
|
8096
8591
|
)
|
|
8097
8592
|
{
|
|
8098
8593
|
return
|
|
8099
|
-
#line
|
|
8594
|
+
#line 1510 "insns.def"
|
|
8100
8595
|
false;
|
|
8101
|
-
#line
|
|
8596
|
+
#line 8597 "insns_info.inc"
|
|
8102
8597
|
}
|
|
8103
8598
|
|
|
8104
8599
|
/* attr const char* name @ opt_aset_with(key, cd)(recv, val)(val) */
|
|
@@ -8189,9 +8684,9 @@ attr_leaf_opt_aref_with(
|
|
|
8189
8684
|
)
|
|
8190
8685
|
{
|
|
8191
8686
|
return
|
|
8192
|
-
#line
|
|
8687
|
+
#line 1531 "insns.def"
|
|
8193
8688
|
false;
|
|
8194
|
-
#line
|
|
8689
|
+
#line 8690 "insns_info.inc"
|
|
8195
8690
|
}
|
|
8196
8691
|
|
|
8197
8692
|
/* attr const char* name @ opt_aref_with(key, cd)(recv)(val) */
|
|
@@ -8588,9 +9083,9 @@ bool
|
|
|
8588
9083
|
attr_leaf_opt_regexpmatch2(MAYBE_UNUSED(CALL_DATA cd))
|
|
8589
9084
|
{
|
|
8590
9085
|
return
|
|
8591
|
-
#line
|
|
9086
|
+
#line 1617 "insns.def"
|
|
8592
9087
|
false;
|
|
8593
|
-
#line
|
|
9088
|
+
#line 9089 "insns_info.inc"
|
|
8594
9089
|
}
|
|
8595
9090
|
|
|
8596
9091
|
/* attr const char* name @ opt_regexpmatch2(cd)(obj2, obj1)(val) */
|
|
@@ -8654,9 +9149,9 @@ bool
|
|
|
8654
9149
|
attr_leaf_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
|
|
8655
9150
|
{
|
|
8656
9151
|
return
|
|
8657
|
-
#line
|
|
9152
|
+
#line 1632 "insns.def"
|
|
8658
9153
|
false;
|
|
8659
|
-
#line
|
|
9154
|
+
#line 9155 "insns_info.inc"
|
|
8660
9155
|
}
|
|
8661
9156
|
|
|
8662
9157
|
/* attr const char* name @ invokebuiltin(bf)(...)(val) */
|
|
@@ -8692,9 +9187,9 @@ rb_snum_t
|
|
|
8692
9187
|
attr_sp_inc_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
|
|
8693
9188
|
{
|
|
8694
9189
|
return
|
|
8695
|
-
#line
|
|
9190
|
+
#line 1633 "insns.def"
|
|
8696
9191
|
1 - bf->argc;
|
|
8697
|
-
#line
|
|
9192
|
+
#line 9193 "insns_info.inc"
|
|
8698
9193
|
}
|
|
8699
9194
|
|
|
8700
9195
|
/* attr rb_num_t width @ invokebuiltin(bf)(...)(val) */
|
|
@@ -8732,9 +9227,9 @@ attr_leaf_opt_invokebuiltin_delegate(
|
|
|
8732
9227
|
)
|
|
8733
9228
|
{
|
|
8734
9229
|
return
|
|
8735
|
-
#line
|
|
9230
|
+
#line 1644 "insns.def"
|
|
8736
9231
|
false;
|
|
8737
|
-
#line
|
|
9232
|
+
#line 9233 "insns_info.inc"
|
|
8738
9233
|
}
|
|
8739
9234
|
|
|
8740
9235
|
/* attr const char* name @ opt_invokebuiltin_delegate(bf, index)()(val) */
|
|
@@ -8825,9 +9320,9 @@ attr_leaf_opt_invokebuiltin_delegate_leave(
|
|
|
8825
9320
|
)
|
|
8826
9321
|
{
|
|
8827
9322
|
return
|
|
8828
|
-
#line
|
|
9323
|
+
#line 1655 "insns.def"
|
|
8829
9324
|
false;
|
|
8830
|
-
#line
|
|
9325
|
+
#line 9326 "insns_info.inc"
|
|
8831
9326
|
}
|
|
8832
9327
|
|
|
8833
9328
|
/* attr const char* name @ opt_invokebuiltin_delegate_leave(bf, index)()(val) */
|
|
@@ -9278,17 +9773,18 @@ comptime_insn_stack_increase_dispatch(enum ruby_vminsn_type insn, const VALUE *o
|
|
|
9278
9773
|
0, 1, -1, 1, -1, 1, 1, -1,
|
|
9279
9774
|
1, -1, 1, -1, 1, -1, -2, 1,
|
|
9280
9775
|
-1, 1, 1, 1, 1, 1, 1, -127,
|
|
9281
|
-
-1, -127, 0, -127,
|
|
9282
|
-
|
|
9283
|
-
|
|
9284
|
-
|
|
9285
|
-
-127, -127, 0, 1,
|
|
9286
|
-
-127, 0, 0, 0,
|
|
9287
|
-
|
|
9776
|
+
-1, -127, 0, -127, -1, 1, 1, -127,
|
|
9777
|
+
-1, -1, -127, 0, 0, -127, -1, -1,
|
|
9778
|
+
1, -127, 0, -127, -127, -127, -127, 0,
|
|
9779
|
+
1, -1, 1, 0, -1, 0, -1, -127,
|
|
9780
|
+
-127, -127, 0, 1, 1, 1, 0, 1,
|
|
9781
|
+
-127, -127, -127, -127, -127, 0, 0, 0,
|
|
9782
|
+
-1, -1, -1, 1, -127, -1, -1, -1,
|
|
9288
9783
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
9289
|
-
-
|
|
9290
|
-
|
|
9291
|
-
1, 1,
|
|
9784
|
+
-1, -1, -1, -1, -2, -1, 0, 0,
|
|
9785
|
+
0, 0, 0, 0, -1, -127, 1, 1,
|
|
9786
|
+
1, 1, -1, -1, 1, 1, 0, 0,
|
|
9787
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
|
9292
9788
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
9293
9789
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
9294
9790
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
@@ -9318,8 +9814,6 @@ comptime_insn_stack_increase_dispatch(enum ruby_vminsn_type insn, const VALUE *o
|
|
|
9318
9814
|
return attr_sp_inc_toregexp(NUM2LONG(opes[0]), NUM2LONG(opes[1]));
|
|
9319
9815
|
case BIN(newarray):
|
|
9320
9816
|
return attr_sp_inc_newarray(NUM2LONG(opes[0]));
|
|
9321
|
-
case BIN(newarraykwsplat):
|
|
9322
|
-
return attr_sp_inc_newarraykwsplat(NUM2LONG(opes[0]));
|
|
9323
9817
|
case BIN(expandarray):
|
|
9324
9818
|
return attr_sp_inc_expandarray(NUM2LONG(opes[0]), NUM2LONG(opes[1]));
|
|
9325
9819
|
case BIN(pushtoarray):
|
|
@@ -9338,12 +9832,18 @@ comptime_insn_stack_increase_dispatch(enum ruby_vminsn_type insn, const VALUE *o
|
|
|
9338
9832
|
return attr_sp_inc_adjuststack(NUM2LONG(opes[0]));
|
|
9339
9833
|
case BIN(send):
|
|
9340
9834
|
return attr_comptime_sp_inc_send((CALL_INFO)(opes[0]), (ISEQ)(opes[1]));
|
|
9835
|
+
case BIN(sendforward):
|
|
9836
|
+
return attr_comptime_sp_inc_sendforward((CALL_INFO)(opes[0]), (ISEQ)(opes[1]));
|
|
9341
9837
|
case BIN(opt_send_without_block):
|
|
9342
9838
|
return attr_comptime_sp_inc_opt_send_without_block((CALL_INFO)(opes[0]));
|
|
9839
|
+
case BIN(opt_duparray_send):
|
|
9840
|
+
return attr_comptime_sp_inc_opt_duparray_send(opes[0], SYM2ID(opes[1]), NUM2LONG(opes[2]));
|
|
9343
9841
|
case BIN(opt_newarray_send):
|
|
9344
|
-
return attr_comptime_sp_inc_opt_newarray_send(NUM2LONG(opes[0]),
|
|
9842
|
+
return attr_comptime_sp_inc_opt_newarray_send(NUM2LONG(opes[0]), NUM2LONG(opes[1]));
|
|
9345
9843
|
case BIN(invokesuper):
|
|
9346
9844
|
return attr_comptime_sp_inc_invokesuper((CALL_INFO)(opes[0]), (ISEQ)(opes[1]));
|
|
9845
|
+
case BIN(invokesuperforward):
|
|
9846
|
+
return attr_comptime_sp_inc_invokesuperforward((CALL_INFO)(opes[0]), (ISEQ)(opes[1]));
|
|
9347
9847
|
case BIN(invokeblock):
|
|
9348
9848
|
return attr_comptime_sp_inc_invokeblock((CALL_INFO)(opes[0]));
|
|
9349
9849
|
case BIN(opt_case_dispatch):
|
|
@@ -9393,10 +9893,13 @@ insn_may_depend_on_sp_or_pc(int insn, const VALUE *opes)
|
|
|
9393
9893
|
case BIN(definemethod):
|
|
9394
9894
|
case BIN(definesmethod):
|
|
9395
9895
|
case BIN(send):
|
|
9896
|
+
case BIN(sendforward):
|
|
9396
9897
|
case BIN(opt_send_without_block):
|
|
9397
9898
|
case BIN(objtostring):
|
|
9899
|
+
case BIN(opt_duparray_send):
|
|
9398
9900
|
case BIN(opt_newarray_send):
|
|
9399
9901
|
case BIN(invokesuper):
|
|
9902
|
+
case BIN(invokesuperforward):
|
|
9400
9903
|
case BIN(invokeblock):
|
|
9401
9904
|
case BIN(leave):
|
|
9402
9905
|
case BIN(throw):
|
|
@@ -9444,7 +9947,6 @@ insn_may_depend_on_sp_or_pc(int insn, const VALUE *opes)
|
|
|
9444
9947
|
case BIN(trace_toregexp):
|
|
9445
9948
|
case BIN(trace_intern):
|
|
9446
9949
|
case BIN(trace_newarray):
|
|
9447
|
-
case BIN(trace_newarraykwsplat):
|
|
9448
9950
|
case BIN(trace_pushtoarraykwsplat):
|
|
9449
9951
|
case BIN(trace_duparray):
|
|
9450
9952
|
case BIN(trace_duphash):
|
|
@@ -9473,13 +9975,18 @@ insn_may_depend_on_sp_or_pc(int insn, const VALUE *opes)
|
|
|
9473
9975
|
case BIN(trace_definemethod):
|
|
9474
9976
|
case BIN(trace_definesmethod):
|
|
9475
9977
|
case BIN(trace_send):
|
|
9978
|
+
case BIN(trace_sendforward):
|
|
9476
9979
|
case BIN(trace_opt_send_without_block):
|
|
9477
9980
|
case BIN(trace_objtostring):
|
|
9981
|
+
case BIN(trace_opt_ary_freeze):
|
|
9982
|
+
case BIN(trace_opt_hash_freeze):
|
|
9478
9983
|
case BIN(trace_opt_str_freeze):
|
|
9479
9984
|
case BIN(trace_opt_nil_p):
|
|
9480
9985
|
case BIN(trace_opt_str_uminus):
|
|
9986
|
+
case BIN(trace_opt_duparray_send):
|
|
9481
9987
|
case BIN(trace_opt_newarray_send):
|
|
9482
9988
|
case BIN(trace_invokesuper):
|
|
9989
|
+
case BIN(trace_invokesuperforward):
|
|
9483
9990
|
case BIN(trace_invokeblock):
|
|
9484
9991
|
case BIN(trace_leave):
|
|
9485
9992
|
case BIN(trace_throw):
|