debase-ruby_core_source 3.3.5 → 3.4.1
Sign up to get free protection for your applications and to get access to all the features.
- 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):
|