debase-ruby_core_source 4.0.0.preview2 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/id.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/insns.inc +2 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/insns_info.inc +234 -218
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/basic_operators.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/bignum.h +21 -10
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/bits.h +14 -17
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/box.h +3 -1
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/class.h +3 -2
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/cont.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/eval.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/gc.h +7 -5
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/numeric.h +48 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/thread.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/time.h +2 -5
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/vm.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/iseq.h +3 -1
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/method.h +7 -2
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/parse.h +5 -3
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/parser_bits.h +108 -25
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/ast.h +38 -17
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/extension.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/options.h +4 -1
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/prism.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/version.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ractor_core.h +25 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/regint.h +1 -16
- data/lib/debase/ruby_core_source/ruby-4.0.0-p0/revision.h +5 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ruby_atomic.h +7 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/rubyparser.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/shape.h +30 -10
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/thread_pthread.h +3 -1
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/version.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm.inc +115 -91
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_callinfo.h +19 -6
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_core.h +68 -12
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_exec.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_sync.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vmtc.inc +2 -0
- data/lib/debase/ruby_core_source/version.rb +1 -1
- metadata +147 -147
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/revision.h +0 -5
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/addr2line.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/builtin.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ccan/build_assert/build_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ccan/check_type/check_type.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ccan/container_of/container_of.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ccan/list/list.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ccan/str/str.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/constant.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/darray.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/debug_counter.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/dln.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/encindex.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/eval_intern.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/hrtime.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/id_table.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/array.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/cmdlineopt.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/compar.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/compile.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/compilers.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/complex.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/concurrent_set.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/dir.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/enc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/encoding.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/enum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/enumerator.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/error.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/file.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/fixnum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/hash.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/imemo.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/inits.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/io.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/load.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/loadpath.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/math.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/missing.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/object.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/parse.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/proc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/process.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/ractor.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/random.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/range.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/rational.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/re.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/ruby_parser.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/sanitizers.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/serial.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/set_table.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/signal.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/st.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/static_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/string.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/struct.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/symbol.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/transcode.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/util.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/variable.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal/warnings.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/internal.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/known_errors.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/node.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/node_name.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/optinsn.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/optunifs.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/parser_node.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/parser_st.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/parser_value.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/defines.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/diagnostic.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/encoding.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/node.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/pack.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/parser.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/prettyprint.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/regexp.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/static_literals.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_buffer.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_char.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_constant_pool.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_integer.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_list.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_memchr.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_newline_list.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_string.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_strncasecmp.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism/util/pm_strpbrk.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/prism_compile.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/probes_helper.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/regenc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/regparse.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/ruby_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/siphash.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/symbol.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/thread_none.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/thread_win32.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/timev.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/transcode_data.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/variable.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_call_iseq_optimized.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_debug.h +4 -4
- /data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_insnhelper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/vm_opts.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/yjit.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-4.0.0-preview2 → ruby-4.0.0-p0}/zjit.h +0 -0
|
@@ -474,7 +474,7 @@ INSN_ENTRY(setinstancevariable)
|
|
|
474
474
|
|
|
475
475
|
/* ### Here we do the instruction body. ### */
|
|
476
476
|
# define NAME_OF_CURRENT_INSN setinstancevariable
|
|
477
|
-
# line
|
|
477
|
+
# line 228 "insns.def"
|
|
478
478
|
{
|
|
479
479
|
vm_setinstancevariable(GET_ISEQ(), GET_SELF(), id, val, ic);
|
|
480
480
|
}
|
|
@@ -514,7 +514,7 @@ INSN_ENTRY(getclassvariable)
|
|
|
514
514
|
|
|
515
515
|
/* ### Here we do the instruction body. ### */
|
|
516
516
|
# define NAME_OF_CURRENT_INSN getclassvariable
|
|
517
|
-
# line
|
|
517
|
+
# line 240 "insns.def"
|
|
518
518
|
{
|
|
519
519
|
rb_control_frame_t *cfp = GET_CFP();
|
|
520
520
|
val = vm_getclassvariable(GET_ISEQ(), cfp, id, ic);
|
|
@@ -558,7 +558,7 @@ INSN_ENTRY(setclassvariable)
|
|
|
558
558
|
|
|
559
559
|
/* ### Here we do the instruction body. ### */
|
|
560
560
|
# define NAME_OF_CURRENT_INSN setclassvariable
|
|
561
|
-
# line
|
|
561
|
+
# line 253 "insns.def"
|
|
562
562
|
{
|
|
563
563
|
vm_ensure_not_refinement_module(GET_SELF());
|
|
564
564
|
vm_setclassvariable(GET_ISEQ(), GET_CFP(), id, val, ic);
|
|
@@ -597,7 +597,7 @@ INSN_ENTRY(opt_getconstant_path)
|
|
|
597
597
|
|
|
598
598
|
/* ### Here we do the instruction body. ### */
|
|
599
599
|
# define NAME_OF_CURRENT_INSN opt_getconstant_path
|
|
600
|
-
# line
|
|
600
|
+
# line 264 "insns.def"
|
|
601
601
|
{
|
|
602
602
|
val = rb_vm_opt_getconstant_path(ec, GET_CFP(), ic);
|
|
603
603
|
}
|
|
@@ -640,7 +640,7 @@ INSN_ENTRY(getconstant)
|
|
|
640
640
|
|
|
641
641
|
/* ### Here we do the instruction body. ### */
|
|
642
642
|
# define NAME_OF_CURRENT_INSN getconstant
|
|
643
|
-
# line
|
|
643
|
+
# line 279 "insns.def"
|
|
644
644
|
{
|
|
645
645
|
val = vm_get_ev_const(ec, klass, id, allow_nil == Qtrue, 0);
|
|
646
646
|
}
|
|
@@ -682,7 +682,7 @@ INSN_ENTRY(setconstant)
|
|
|
682
682
|
|
|
683
683
|
/* ### Here we do the instruction body. ### */
|
|
684
684
|
# define NAME_OF_CURRENT_INSN setconstant
|
|
685
|
-
# line
|
|
685
|
+
# line 295 "insns.def"
|
|
686
686
|
{
|
|
687
687
|
vm_check_if_namespace(cbase);
|
|
688
688
|
vm_ensure_not_refinement_module(GET_SELF());
|
|
@@ -722,7 +722,7 @@ INSN_ENTRY(getglobal)
|
|
|
722
722
|
|
|
723
723
|
/* ### Here we do the instruction body. ### */
|
|
724
724
|
# define NAME_OF_CURRENT_INSN getglobal
|
|
725
|
-
# line
|
|
725
|
+
# line 308 "insns.def"
|
|
726
726
|
{
|
|
727
727
|
val = rb_gvar_get(gid);
|
|
728
728
|
}
|
|
@@ -763,7 +763,7 @@ INSN_ENTRY(setglobal)
|
|
|
763
763
|
|
|
764
764
|
/* ### Here we do the instruction body. ### */
|
|
765
765
|
# define NAME_OF_CURRENT_INSN setglobal
|
|
766
|
-
# line
|
|
766
|
+
# line 319 "insns.def"
|
|
767
767
|
{
|
|
768
768
|
rb_gvar_set(gid, val);
|
|
769
769
|
}
|
|
@@ -799,7 +799,7 @@ INSN_ENTRY(putnil)
|
|
|
799
799
|
|
|
800
800
|
/* ### Here we do the instruction body. ### */
|
|
801
801
|
# define NAME_OF_CURRENT_INSN putnil
|
|
802
|
-
# line
|
|
802
|
+
# line 333 "insns.def"
|
|
803
803
|
{
|
|
804
804
|
val = Qnil;
|
|
805
805
|
}
|
|
@@ -838,7 +838,7 @@ INSN_ENTRY(putself)
|
|
|
838
838
|
|
|
839
839
|
/* ### Here we do the instruction body. ### */
|
|
840
840
|
# define NAME_OF_CURRENT_INSN putself
|
|
841
|
-
# line
|
|
841
|
+
# line 343 "insns.def"
|
|
842
842
|
{
|
|
843
843
|
val = GET_SELF();
|
|
844
844
|
}
|
|
@@ -908,7 +908,7 @@ INSN_ENTRY(putspecialobject)
|
|
|
908
908
|
|
|
909
909
|
/* ### Here we do the instruction body. ### */
|
|
910
910
|
# define NAME_OF_CURRENT_INSN putspecialobject
|
|
911
|
-
# line
|
|
911
|
+
# line 366 "insns.def"
|
|
912
912
|
{
|
|
913
913
|
enum vm_special_object_type type;
|
|
914
914
|
|
|
@@ -952,7 +952,7 @@ INSN_ENTRY(putstring)
|
|
|
952
952
|
|
|
953
953
|
/* ### Here we do the instruction body. ### */
|
|
954
954
|
# define NAME_OF_CURRENT_INSN putstring
|
|
955
|
-
# line
|
|
955
|
+
# line 379 "insns.def"
|
|
956
956
|
{
|
|
957
957
|
val = rb_ec_str_resurrect(ec, str, false);
|
|
958
958
|
}
|
|
@@ -993,7 +993,7 @@ INSN_ENTRY(putchilledstring)
|
|
|
993
993
|
|
|
994
994
|
/* ### Here we do the instruction body. ### */
|
|
995
995
|
# define NAME_OF_CURRENT_INSN putchilledstring
|
|
996
|
-
# line
|
|
996
|
+
# line 389 "insns.def"
|
|
997
997
|
{
|
|
998
998
|
val = rb_ec_str_resurrect(ec, str, true);
|
|
999
999
|
}
|
|
@@ -1034,7 +1034,7 @@ INSN_ENTRY(concatstrings)
|
|
|
1034
1034
|
|
|
1035
1035
|
/* ### Here we do the instruction body. ### */
|
|
1036
1036
|
# define NAME_OF_CURRENT_INSN concatstrings
|
|
1037
|
-
# line
|
|
1037
|
+
# line 403 "insns.def"
|
|
1038
1038
|
{
|
|
1039
1039
|
val = rb_str_concat_literals(num, STACK_ADDR_FROM_TOP(num));
|
|
1040
1040
|
}
|
|
@@ -1074,7 +1074,7 @@ INSN_ENTRY(anytostring)
|
|
|
1074
1074
|
|
|
1075
1075
|
/* ### Here we do the instruction body. ### */
|
|
1076
1076
|
# define NAME_OF_CURRENT_INSN anytostring
|
|
1077
|
-
# line
|
|
1077
|
+
# line 414 "insns.def"
|
|
1078
1078
|
{
|
|
1079
1079
|
val = rb_obj_as_string_result(str, val);
|
|
1080
1080
|
}
|
|
@@ -1117,7 +1117,7 @@ INSN_ENTRY(toregexp)
|
|
|
1117
1117
|
|
|
1118
1118
|
/* ### Here we do the instruction body. ### */
|
|
1119
1119
|
# define NAME_OF_CURRENT_INSN toregexp
|
|
1120
|
-
# line
|
|
1120
|
+
# line 430 "insns.def"
|
|
1121
1121
|
{
|
|
1122
1122
|
const VALUE ary = rb_ary_tmp_new_from_values(0, cnt, STACK_ADDR_FROM_TOP(cnt));
|
|
1123
1123
|
val = rb_reg_new_ary(ary, (int)opt);
|
|
@@ -1159,7 +1159,7 @@ INSN_ENTRY(intern)
|
|
|
1159
1159
|
|
|
1160
1160
|
/* ### Here we do the instruction body. ### */
|
|
1161
1161
|
# define NAME_OF_CURRENT_INSN intern
|
|
1162
|
-
# line
|
|
1162
|
+
# line 442 "insns.def"
|
|
1163
1163
|
{
|
|
1164
1164
|
sym = rb_str_intern(str);
|
|
1165
1165
|
}
|
|
@@ -1200,7 +1200,7 @@ INSN_ENTRY(newarray)
|
|
|
1200
1200
|
|
|
1201
1201
|
/* ### Here we do the instruction body. ### */
|
|
1202
1202
|
# define NAME_OF_CURRENT_INSN newarray
|
|
1203
|
-
# line
|
|
1203
|
+
# line 453 "insns.def"
|
|
1204
1204
|
{
|
|
1205
1205
|
val = rb_ec_ary_new_from_values(ec, num, STACK_ADDR_FROM_TOP(num));
|
|
1206
1206
|
}
|
|
@@ -1240,7 +1240,7 @@ INSN_ENTRY(pushtoarraykwsplat)
|
|
|
1240
1240
|
|
|
1241
1241
|
/* ### Here we do the instruction body. ### */
|
|
1242
1242
|
# define NAME_OF_CURRENT_INSN pushtoarraykwsplat
|
|
1243
|
-
# line
|
|
1243
|
+
# line 465 "insns.def"
|
|
1244
1244
|
{
|
|
1245
1245
|
if (!RHASH_EMPTY_P(hash)) {
|
|
1246
1246
|
rb_ary_push(ary, hash);
|
|
@@ -1283,7 +1283,7 @@ INSN_ENTRY(duparray)
|
|
|
1283
1283
|
|
|
1284
1284
|
/* ### Here we do the instruction body. ### */
|
|
1285
1285
|
# define NAME_OF_CURRENT_INSN duparray
|
|
1286
|
-
# line
|
|
1286
|
+
# line 477 "insns.def"
|
|
1287
1287
|
{
|
|
1288
1288
|
RUBY_DTRACE_CREATE_HOOK(ARRAY, RARRAY_LEN(ary));
|
|
1289
1289
|
val = rb_ary_resurrect(ary);
|
|
@@ -1325,7 +1325,7 @@ INSN_ENTRY(duphash)
|
|
|
1325
1325
|
|
|
1326
1326
|
/* ### Here we do the instruction body. ### */
|
|
1327
1327
|
# define NAME_OF_CURRENT_INSN duphash
|
|
1328
|
-
# line
|
|
1328
|
+
# line 488 "insns.def"
|
|
1329
1329
|
{
|
|
1330
1330
|
RUBY_DTRACE_CREATE_HOOK(HASH, RHASH_SIZE(hash) << 1);
|
|
1331
1331
|
val = rb_hash_resurrect(hash);
|
|
@@ -1369,7 +1369,7 @@ INSN_ENTRY(expandarray)
|
|
|
1369
1369
|
|
|
1370
1370
|
/* ### Here we do the instruction body. ### */
|
|
1371
1371
|
# define NAME_OF_CURRENT_INSN expandarray
|
|
1372
|
-
# line
|
|
1372
|
+
# line 510 "insns.def"
|
|
1373
1373
|
{
|
|
1374
1374
|
vm_expandarray(GET_CFP(), ary, num, (int)flag);
|
|
1375
1375
|
}
|
|
@@ -1405,7 +1405,7 @@ INSN_ENTRY(concatarray)
|
|
|
1405
1405
|
|
|
1406
1406
|
/* ### Here we do the instruction body. ### */
|
|
1407
1407
|
# define NAME_OF_CURRENT_INSN concatarray
|
|
1408
|
-
# line
|
|
1408
|
+
# line 523 "insns.def"
|
|
1409
1409
|
{
|
|
1410
1410
|
ary = vm_concat_array(ary1, ary2);
|
|
1411
1411
|
}
|
|
@@ -1446,7 +1446,7 @@ INSN_ENTRY(concattoarray)
|
|
|
1446
1446
|
|
|
1447
1447
|
/* ### Here we do the instruction body. ### */
|
|
1448
1448
|
# define NAME_OF_CURRENT_INSN concattoarray
|
|
1449
|
-
# line
|
|
1449
|
+
# line 537 "insns.def"
|
|
1450
1450
|
{
|
|
1451
1451
|
ary = vm_concat_to_array(ary1, ary2);
|
|
1452
1452
|
}
|
|
@@ -1487,7 +1487,7 @@ INSN_ENTRY(pushtoarray)
|
|
|
1487
1487
|
|
|
1488
1488
|
/* ### Here we do the instruction body. ### */
|
|
1489
1489
|
# define NAME_OF_CURRENT_INSN pushtoarray
|
|
1490
|
-
# line
|
|
1490
|
+
# line 548 "insns.def"
|
|
1491
1491
|
{
|
|
1492
1492
|
const VALUE *objp = STACK_ADDR_FROM_TOP(num);
|
|
1493
1493
|
val = rb_ary_cat(*(objp-1), objp, num);
|
|
@@ -1530,7 +1530,7 @@ INSN_ENTRY(splatarray)
|
|
|
1530
1530
|
|
|
1531
1531
|
/* ### Here we do the instruction body. ### */
|
|
1532
1532
|
# define NAME_OF_CURRENT_INSN splatarray
|
|
1533
|
-
# line
|
|
1533
|
+
# line 560 "insns.def"
|
|
1534
1534
|
{
|
|
1535
1535
|
obj = vm_splat_array(flag, ary);
|
|
1536
1536
|
}
|
|
@@ -1571,7 +1571,7 @@ INSN_ENTRY(splatkw)
|
|
|
1571
1571
|
|
|
1572
1572
|
/* ### Here we do the instruction body. ### */
|
|
1573
1573
|
# define NAME_OF_CURRENT_INSN splatkw
|
|
1574
|
-
# line
|
|
1574
|
+
# line 571 "insns.def"
|
|
1575
1575
|
{
|
|
1576
1576
|
if (NIL_P(hash)) {
|
|
1577
1577
|
obj = Qnil;
|
|
@@ -1620,7 +1620,7 @@ INSN_ENTRY(newhash)
|
|
|
1620
1620
|
|
|
1621
1621
|
/* ### Here we do the instruction body. ### */
|
|
1622
1622
|
# define NAME_OF_CURRENT_INSN newhash
|
|
1623
|
-
# line
|
|
1623
|
+
# line 588 "insns.def"
|
|
1624
1624
|
{
|
|
1625
1625
|
RUBY_DTRACE_CREATE_HOOK(HASH, num);
|
|
1626
1626
|
|
|
@@ -1671,7 +1671,7 @@ INSN_ENTRY(newrange)
|
|
|
1671
1671
|
|
|
1672
1672
|
/* ### Here we do the instruction body. ### */
|
|
1673
1673
|
# define NAME_OF_CURRENT_INSN newrange
|
|
1674
|
-
# line
|
|
1674
|
+
# line 608 "insns.def"
|
|
1675
1675
|
{
|
|
1676
1676
|
val = rb_range_new(low, high, (int)flag);
|
|
1677
1677
|
}
|
|
@@ -1710,7 +1710,7 @@ INSN_ENTRY(pop)
|
|
|
1710
1710
|
|
|
1711
1711
|
/* ### Here we do the instruction body. ### */
|
|
1712
1712
|
# define NAME_OF_CURRENT_INSN pop
|
|
1713
|
-
# line
|
|
1713
|
+
# line 622 "insns.def"
|
|
1714
1714
|
{
|
|
1715
1715
|
(void)val;
|
|
1716
1716
|
/* none */
|
|
@@ -1749,7 +1749,7 @@ INSN_ENTRY(dup)
|
|
|
1749
1749
|
|
|
1750
1750
|
/* ### Here we do the instruction body. ### */
|
|
1751
1751
|
# define NAME_OF_CURRENT_INSN dup
|
|
1752
|
-
# line
|
|
1752
|
+
# line 633 "insns.def"
|
|
1753
1753
|
{
|
|
1754
1754
|
val1 = val2 = val;
|
|
1755
1755
|
}
|
|
@@ -1791,7 +1791,7 @@ INSN_ENTRY(dupn)
|
|
|
1791
1791
|
|
|
1792
1792
|
/* ### Here we do the instruction body. ### */
|
|
1793
1793
|
# define NAME_OF_CURRENT_INSN dupn
|
|
1794
|
-
# line
|
|
1794
|
+
# line 644 "insns.def"
|
|
1795
1795
|
{
|
|
1796
1796
|
void *dst = GET_SP();
|
|
1797
1797
|
void *src = STACK_ADDR_FROM_TOP(n);
|
|
@@ -1861,7 +1861,7 @@ INSN_ENTRY(opt_reverse)
|
|
|
1861
1861
|
|
|
1862
1862
|
/* ### Here we do the instruction body. ### */
|
|
1863
1863
|
# define NAME_OF_CURRENT_INSN opt_reverse
|
|
1864
|
-
# line
|
|
1864
|
+
# line 668 "insns.def"
|
|
1865
1865
|
{
|
|
1866
1866
|
rb_num_t i;
|
|
1867
1867
|
VALUE *sp = STACK_ADDR_FROM_TOP(n);
|
|
@@ -1906,7 +1906,7 @@ INSN_ENTRY(topn)
|
|
|
1906
1906
|
|
|
1907
1907
|
/* ### Here we do the instruction body. ### */
|
|
1908
1908
|
# define NAME_OF_CURRENT_INSN topn
|
|
1909
|
-
# line
|
|
1909
|
+
# line 698 "insns.def"
|
|
1910
1910
|
{
|
|
1911
1911
|
val = TOPN(n);
|
|
1912
1912
|
}
|
|
@@ -1947,7 +1947,7 @@ INSN_ENTRY(setn)
|
|
|
1947
1947
|
|
|
1948
1948
|
/* ### Here we do the instruction body. ### */
|
|
1949
1949
|
# define NAME_OF_CURRENT_INSN setn
|
|
1950
|
-
# line
|
|
1950
|
+
# line 709 "insns.def"
|
|
1951
1951
|
{
|
|
1952
1952
|
TOPN(n) = val;
|
|
1953
1953
|
}
|
|
@@ -2019,7 +2019,7 @@ INSN_ENTRY(defined)
|
|
|
2019
2019
|
|
|
2020
2020
|
/* ### Here we do the instruction body. ### */
|
|
2021
2021
|
# define NAME_OF_CURRENT_INSN defined
|
|
2022
|
-
# line
|
|
2022
|
+
# line 735 "insns.def"
|
|
2023
2023
|
{
|
|
2024
2024
|
val = Qnil;
|
|
2025
2025
|
if (vm_defined(ec, GET_CFP(), op_type, obj, v)) {
|
|
@@ -2067,7 +2067,7 @@ INSN_ENTRY(definedivar)
|
|
|
2067
2067
|
|
|
2068
2068
|
/* ### Here we do the instruction body. ### */
|
|
2069
2069
|
# define NAME_OF_CURRENT_INSN definedivar
|
|
2070
|
-
# line
|
|
2070
|
+
# line 750 "insns.def"
|
|
2071
2071
|
{
|
|
2072
2072
|
val = Qnil;
|
|
2073
2073
|
if (!UNDEF_P(vm_getivar(GET_SELF(), id, GET_ISEQ(), ic, NULL, FALSE, Qundef))) {
|
|
@@ -2113,7 +2113,7 @@ INSN_ENTRY(checkmatch)
|
|
|
2113
2113
|
|
|
2114
2114
|
/* ### Here we do the instruction body. ### */
|
|
2115
2115
|
# define NAME_OF_CURRENT_INSN checkmatch
|
|
2116
|
-
# line
|
|
2116
|
+
# line 770 "insns.def"
|
|
2117
2117
|
{
|
|
2118
2118
|
result = vm_check_match(ec, target, pattern, flag);
|
|
2119
2119
|
}
|
|
@@ -2156,7 +2156,7 @@ INSN_ENTRY(checkkeyword)
|
|
|
2156
2156
|
|
|
2157
2157
|
/* ### Here we do the instruction body. ### */
|
|
2158
2158
|
# define NAME_OF_CURRENT_INSN checkkeyword
|
|
2159
|
-
# line
|
|
2159
|
+
# line 780 "insns.def"
|
|
2160
2160
|
{
|
|
2161
2161
|
ret = vm_check_keyword(kw_bits_index, keyword_index, GET_EP());
|
|
2162
2162
|
}
|
|
@@ -2198,7 +2198,7 @@ INSN_ENTRY(checktype)
|
|
|
2198
2198
|
|
|
2199
2199
|
/* ### Here we do the instruction body. ### */
|
|
2200
2200
|
# define NAME_OF_CURRENT_INSN checktype
|
|
2201
|
-
# line
|
|
2201
|
+
# line 790 "insns.def"
|
|
2202
2202
|
{
|
|
2203
2203
|
ret = RBOOL(TYPE(val) == (int)type);
|
|
2204
2204
|
}
|
|
@@ -2246,7 +2246,7 @@ INSN_ENTRY(defineclass)
|
|
|
2246
2246
|
|
|
2247
2247
|
/* ### Here we do the instruction body. ### */
|
|
2248
2248
|
# define NAME_OF_CURRENT_INSN defineclass
|
|
2249
|
-
# line
|
|
2249
|
+
# line 806 "insns.def"
|
|
2250
2250
|
{
|
|
2251
2251
|
VALUE klass = vm_find_or_create_class_by_id(id, flags, cbase, super);
|
|
2252
2252
|
const rb_box_t *box = rb_current_box();
|
|
@@ -2299,7 +2299,7 @@ INSN_ENTRY(definemethod)
|
|
|
2299
2299
|
|
|
2300
2300
|
/* ### Here we do the instruction body. ### */
|
|
2301
2301
|
# define NAME_OF_CURRENT_INSN definemethod
|
|
2302
|
-
# line
|
|
2302
|
+
# line 828 "insns.def"
|
|
2303
2303
|
{
|
|
2304
2304
|
vm_define_method(ec, Qnil, id, (VALUE)iseq, FALSE);
|
|
2305
2305
|
}
|
|
@@ -2339,7 +2339,7 @@ INSN_ENTRY(definesmethod)
|
|
|
2339
2339
|
|
|
2340
2340
|
/* ### Here we do the instruction body. ### */
|
|
2341
2341
|
# define NAME_OF_CURRENT_INSN definesmethod
|
|
2342
|
-
# line
|
|
2342
|
+
# line 837 "insns.def"
|
|
2343
2343
|
{
|
|
2344
2344
|
vm_define_method(ec, obj, id, (VALUE)iseq, TRUE);
|
|
2345
2345
|
}
|
|
@@ -2379,7 +2379,7 @@ INSN_ENTRY(send)
|
|
|
2379
2379
|
|
|
2380
2380
|
/* ### Here we do the instruction body. ### */
|
|
2381
2381
|
# define NAME_OF_CURRENT_INSN send
|
|
2382
|
-
# line
|
|
2382
|
+
# line 854 "insns.def"
|
|
2383
2383
|
{
|
|
2384
2384
|
VALUE bh = vm_caller_setup_arg_block(ec, GET_CFP(), cd->ci, blockiseq, false);
|
|
2385
2385
|
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_method);
|
|
@@ -2427,7 +2427,7 @@ INSN_ENTRY(sendforward)
|
|
|
2427
2427
|
|
|
2428
2428
|
/* ### Here we do the instruction body. ### */
|
|
2429
2429
|
# define NAME_OF_CURRENT_INSN sendforward
|
|
2430
|
-
# line
|
|
2430
|
+
# line 873 "insns.def"
|
|
2431
2431
|
{
|
|
2432
2432
|
struct rb_forwarding_call_data adjusted_cd;
|
|
2433
2433
|
struct rb_callinfo adjusted_ci;
|
|
@@ -2481,7 +2481,7 @@ INSN_ENTRY(opt_send_without_block)
|
|
|
2481
2481
|
|
|
2482
2482
|
/* ### Here we do the instruction body. ### */
|
|
2483
2483
|
# define NAME_OF_CURRENT_INSN opt_send_without_block
|
|
2484
|
-
# line
|
|
2484
|
+
# line 902 "insns.def"
|
|
2485
2485
|
{
|
|
2486
2486
|
VALUE bh = VM_BLOCK_HANDLER_NONE;
|
|
2487
2487
|
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_method);
|
|
@@ -2527,7 +2527,7 @@ INSN_ENTRY(opt_new)
|
|
|
2527
2527
|
|
|
2528
2528
|
/* ### Here we do the instruction body. ### */
|
|
2529
2529
|
# define NAME_OF_CURRENT_INSN opt_new
|
|
2530
|
-
# line
|
|
2530
|
+
# line 920 "insns.def"
|
|
2531
2531
|
{
|
|
2532
2532
|
VALUE argc = vm_ci_argc(cd->ci);
|
|
2533
2533
|
VALUE val = TOPN(argc);
|
|
@@ -2581,7 +2581,7 @@ INSN_ENTRY(objtostring)
|
|
|
2581
2581
|
|
|
2582
2582
|
/* ### Here we do the instruction body. ### */
|
|
2583
2583
|
# define NAME_OF_CURRENT_INSN objtostring
|
|
2584
|
-
# line
|
|
2584
|
+
# line 947 "insns.def"
|
|
2585
2585
|
{
|
|
2586
2586
|
val = vm_objtostring(GET_ISEQ(), recv, cd);
|
|
2587
2587
|
|
|
@@ -2628,7 +2628,7 @@ INSN_ENTRY(opt_ary_freeze)
|
|
|
2628
2628
|
|
|
2629
2629
|
/* ### Here we do the instruction body. ### */
|
|
2630
2630
|
# define NAME_OF_CURRENT_INSN opt_ary_freeze
|
|
2631
|
-
# line
|
|
2631
|
+
# line 960 "insns.def"
|
|
2632
2632
|
{
|
|
2633
2633
|
val = vm_opt_ary_freeze(ary, BOP_FREEZE, idFreeze);
|
|
2634
2634
|
|
|
@@ -2677,7 +2677,7 @@ INSN_ENTRY(opt_hash_freeze)
|
|
|
2677
2677
|
|
|
2678
2678
|
/* ### Here we do the instruction body. ### */
|
|
2679
2679
|
# define NAME_OF_CURRENT_INSN opt_hash_freeze
|
|
2680
|
-
# line
|
|
2680
|
+
# line 975 "insns.def"
|
|
2681
2681
|
{
|
|
2682
2682
|
val = vm_opt_hash_freeze(hash, BOP_FREEZE, idFreeze);
|
|
2683
2683
|
|
|
@@ -2726,7 +2726,7 @@ INSN_ENTRY(opt_str_freeze)
|
|
|
2726
2726
|
|
|
2727
2727
|
/* ### Here we do the instruction body. ### */
|
|
2728
2728
|
# define NAME_OF_CURRENT_INSN opt_str_freeze
|
|
2729
|
-
# line
|
|
2729
|
+
# line 990 "insns.def"
|
|
2730
2730
|
{
|
|
2731
2731
|
val = vm_opt_str_freeze(str, BOP_FREEZE, idFreeze);
|
|
2732
2732
|
|
|
@@ -2773,7 +2773,7 @@ INSN_ENTRY(opt_nil_p)
|
|
|
2773
2773
|
|
|
2774
2774
|
/* ### Here we do the instruction body. ### */
|
|
2775
2775
|
# define NAME_OF_CURRENT_INSN opt_nil_p
|
|
2776
|
-
# line
|
|
2776
|
+
# line 1006 "insns.def"
|
|
2777
2777
|
{
|
|
2778
2778
|
val = vm_opt_nil_p(GET_ISEQ(), cd, recv);
|
|
2779
2779
|
|
|
@@ -2820,7 +2820,7 @@ INSN_ENTRY(opt_str_uminus)
|
|
|
2820
2820
|
|
|
2821
2821
|
/* ### Here we do the instruction body. ### */
|
|
2822
2822
|
# define NAME_OF_CURRENT_INSN opt_str_uminus
|
|
2823
|
-
# line
|
|
2823
|
+
# line 1019 "insns.def"
|
|
2824
2824
|
{
|
|
2825
2825
|
val = vm_opt_str_freeze(str, BOP_UMINUS, idUMinus);
|
|
2826
2826
|
|
|
@@ -2870,7 +2870,7 @@ INSN_ENTRY(opt_duparray_send)
|
|
|
2870
2870
|
|
|
2871
2871
|
/* ### Here we do the instruction body. ### */
|
|
2872
2872
|
# define NAME_OF_CURRENT_INSN opt_duparray_send
|
|
2873
|
-
# line
|
|
2873
|
+
# line 1040 "insns.def"
|
|
2874
2874
|
{
|
|
2875
2875
|
switch (method) {
|
|
2876
2876
|
case idIncludeP:
|
|
@@ -2919,7 +2919,7 @@ INSN_ENTRY(opt_newarray_send)
|
|
|
2919
2919
|
|
|
2920
2920
|
/* ### Here we do the instruction body. ### */
|
|
2921
2921
|
# define NAME_OF_CURRENT_INSN opt_newarray_send
|
|
2922
|
-
# line
|
|
2922
|
+
# line 1062 "insns.def"
|
|
2923
2923
|
{
|
|
2924
2924
|
switch (method) {
|
|
2925
2925
|
case VM_OPT_NEWARRAY_SEND_HASH:
|
|
@@ -2984,7 +2984,7 @@ INSN_ENTRY(invokesuper)
|
|
|
2984
2984
|
|
|
2985
2985
|
/* ### Here we do the instruction body. ### */
|
|
2986
2986
|
# define NAME_OF_CURRENT_INSN invokesuper
|
|
2987
|
-
# line
|
|
2987
|
+
# line 1095 "insns.def"
|
|
2988
2988
|
{
|
|
2989
2989
|
VALUE bh = vm_caller_setup_arg_block(ec, GET_CFP(), cd->ci, blockiseq, true);
|
|
2990
2990
|
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_super);
|
|
@@ -3032,7 +3032,7 @@ INSN_ENTRY(invokesuperforward)
|
|
|
3032
3032
|
|
|
3033
3033
|
/* ### Here we do the instruction body. ### */
|
|
3034
3034
|
# define NAME_OF_CURRENT_INSN invokesuperforward
|
|
3035
|
-
# line
|
|
3035
|
+
# line 1114 "insns.def"
|
|
3036
3036
|
{
|
|
3037
3037
|
struct rb_forwarding_call_data adjusted_cd;
|
|
3038
3038
|
struct rb_callinfo adjusted_ci;
|
|
@@ -3086,7 +3086,7 @@ INSN_ENTRY(invokeblock)
|
|
|
3086
3086
|
|
|
3087
3087
|
/* ### Here we do the instruction body. ### */
|
|
3088
3088
|
# define NAME_OF_CURRENT_INSN invokeblock
|
|
3089
|
-
# line
|
|
3089
|
+
# line 1143 "insns.def"
|
|
3090
3090
|
{
|
|
3091
3091
|
VALUE bh = VM_BLOCK_HANDLER_NONE;
|
|
3092
3092
|
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_invokeblock);
|
|
@@ -3130,7 +3130,7 @@ INSN_ENTRY(leave)
|
|
|
3130
3130
|
|
|
3131
3131
|
/* ### Here we do the instruction body. ### */
|
|
3132
3132
|
# define NAME_OF_CURRENT_INSN leave
|
|
3133
|
-
# line
|
|
3133
|
+
# line 1165 "insns.def"
|
|
3134
3134
|
{
|
|
3135
3135
|
if (OPT_CHECKED_RUN) {
|
|
3136
3136
|
const VALUE *const bp = vm_base_ptr(GET_CFP());
|
|
@@ -3186,7 +3186,7 @@ INSN_ENTRY(throw)
|
|
|
3186
3186
|
|
|
3187
3187
|
/* ### Here we do the instruction body. ### */
|
|
3188
3188
|
# define NAME_OF_CURRENT_INSN throw
|
|
3189
|
-
# line
|
|
3189
|
+
# line 1198 "insns.def"
|
|
3190
3190
|
{
|
|
3191
3191
|
val = vm_throw(ec, GET_CFP(), throw_state, throwobj);
|
|
3192
3192
|
THROW_EXCEPTION(val);
|
|
@@ -3228,7 +3228,7 @@ INSN_ENTRY(jump)
|
|
|
3228
3228
|
|
|
3229
3229
|
/* ### Here we do the instruction body. ### */
|
|
3230
3230
|
# define NAME_OF_CURRENT_INSN jump
|
|
3231
|
-
# line
|
|
3231
|
+
# line 1216 "insns.def"
|
|
3232
3232
|
{
|
|
3233
3233
|
RUBY_VM_CHECK_INTS(ec);
|
|
3234
3234
|
JUMP(dst);
|
|
@@ -3267,7 +3267,7 @@ INSN_ENTRY(branchif)
|
|
|
3267
3267
|
|
|
3268
3268
|
/* ### Here we do the instruction body. ### */
|
|
3269
3269
|
# define NAME_OF_CURRENT_INSN branchif
|
|
3270
|
-
# line
|
|
3270
|
+
# line 1229 "insns.def"
|
|
3271
3271
|
{
|
|
3272
3272
|
if (RTEST(val)) {
|
|
3273
3273
|
RUBY_VM_CHECK_INTS(ec);
|
|
@@ -3308,7 +3308,7 @@ INSN_ENTRY(branchunless)
|
|
|
3308
3308
|
|
|
3309
3309
|
/* ### Here we do the instruction body. ### */
|
|
3310
3310
|
# define NAME_OF_CURRENT_INSN branchunless
|
|
3311
|
-
# line
|
|
3311
|
+
# line 1244 "insns.def"
|
|
3312
3312
|
{
|
|
3313
3313
|
if (!RTEST(val)) {
|
|
3314
3314
|
RUBY_VM_CHECK_INTS(ec);
|
|
@@ -3349,7 +3349,7 @@ INSN_ENTRY(branchnil)
|
|
|
3349
3349
|
|
|
3350
3350
|
/* ### Here we do the instruction body. ### */
|
|
3351
3351
|
# define NAME_OF_CURRENT_INSN branchnil
|
|
3352
|
-
# line
|
|
3352
|
+
# line 1259 "insns.def"
|
|
3353
3353
|
{
|
|
3354
3354
|
if (NIL_P(val)) {
|
|
3355
3355
|
RUBY_VM_CHECK_INTS(ec);
|
|
@@ -3393,7 +3393,7 @@ INSN_ENTRY(once)
|
|
|
3393
3393
|
|
|
3394
3394
|
/* ### Here we do the instruction body. ### */
|
|
3395
3395
|
# define NAME_OF_CURRENT_INSN once
|
|
3396
|
-
# line
|
|
3396
|
+
# line 1276 "insns.def"
|
|
3397
3397
|
{
|
|
3398
3398
|
val = vm_once_dispatch(ec, iseq, ise);
|
|
3399
3399
|
}
|
|
@@ -3433,7 +3433,7 @@ INSN_ENTRY(opt_case_dispatch)
|
|
|
3433
3433
|
|
|
3434
3434
|
/* ### Here we do the instruction body. ### */
|
|
3435
3435
|
# define NAME_OF_CURRENT_INSN opt_case_dispatch
|
|
3436
|
-
# line
|
|
3436
|
+
# line 1287 "insns.def"
|
|
3437
3437
|
{
|
|
3438
3438
|
OFFSET dst = vm_case_dispatch(hash, else_offset, key);
|
|
3439
3439
|
|
|
@@ -3477,7 +3477,7 @@ INSN_ENTRY(opt_plus)
|
|
|
3477
3477
|
|
|
3478
3478
|
/* ### Here we do the instruction body. ### */
|
|
3479
3479
|
# define NAME_OF_CURRENT_INSN opt_plus
|
|
3480
|
-
# line
|
|
3480
|
+
# line 1304 "insns.def"
|
|
3481
3481
|
{
|
|
3482
3482
|
val = vm_opt_plus(recv, obj);
|
|
3483
3483
|
|
|
@@ -3524,7 +3524,7 @@ INSN_ENTRY(opt_minus)
|
|
|
3524
3524
|
|
|
3525
3525
|
/* ### Here we do the instruction body. ### */
|
|
3526
3526
|
# define NAME_OF_CURRENT_INSN opt_minus
|
|
3527
|
-
# line
|
|
3527
|
+
# line 1319 "insns.def"
|
|
3528
3528
|
{
|
|
3529
3529
|
val = vm_opt_minus(recv, obj);
|
|
3530
3530
|
|
|
@@ -3571,7 +3571,7 @@ INSN_ENTRY(opt_mult)
|
|
|
3571
3571
|
|
|
3572
3572
|
/* ### Here we do the instruction body. ### */
|
|
3573
3573
|
# define NAME_OF_CURRENT_INSN opt_mult
|
|
3574
|
-
# line
|
|
3574
|
+
# line 1334 "insns.def"
|
|
3575
3575
|
{
|
|
3576
3576
|
val = vm_opt_mult(recv, obj);
|
|
3577
3577
|
|
|
@@ -3618,7 +3618,7 @@ INSN_ENTRY(opt_div)
|
|
|
3618
3618
|
|
|
3619
3619
|
/* ### Here we do the instruction body. ### */
|
|
3620
3620
|
# define NAME_OF_CURRENT_INSN opt_div
|
|
3621
|
-
# line
|
|
3621
|
+
# line 1352 "insns.def"
|
|
3622
3622
|
{
|
|
3623
3623
|
val = vm_opt_div(recv, obj);
|
|
3624
3624
|
|
|
@@ -3665,7 +3665,7 @@ INSN_ENTRY(opt_mod)
|
|
|
3665
3665
|
|
|
3666
3666
|
/* ### Here we do the instruction body. ### */
|
|
3667
3667
|
# define NAME_OF_CURRENT_INSN opt_mod
|
|
3668
|
-
# line
|
|
3668
|
+
# line 1369 "insns.def"
|
|
3669
3669
|
{
|
|
3670
3670
|
val = vm_opt_mod(recv, obj);
|
|
3671
3671
|
|
|
@@ -3712,7 +3712,7 @@ INSN_ENTRY(opt_eq)
|
|
|
3712
3712
|
|
|
3713
3713
|
/* ### Here we do the instruction body. ### */
|
|
3714
3714
|
# define NAME_OF_CURRENT_INSN opt_eq
|
|
3715
|
-
# line
|
|
3715
|
+
# line 1384 "insns.def"
|
|
3716
3716
|
{
|
|
3717
3717
|
val = opt_equality(GET_ISEQ(), recv, obj, cd);
|
|
3718
3718
|
|
|
@@ -3761,7 +3761,7 @@ INSN_ENTRY(opt_neq)
|
|
|
3761
3761
|
|
|
3762
3762
|
/* ### Here we do the instruction body. ### */
|
|
3763
3763
|
# define NAME_OF_CURRENT_INSN opt_neq
|
|
3764
|
-
# line
|
|
3764
|
+
# line 1399 "insns.def"
|
|
3765
3765
|
{
|
|
3766
3766
|
val = vm_opt_neq(GET_ISEQ(), cd, cd_eq, recv, obj);
|
|
3767
3767
|
|
|
@@ -3808,7 +3808,7 @@ INSN_ENTRY(opt_lt)
|
|
|
3808
3808
|
|
|
3809
3809
|
/* ### Here we do the instruction body. ### */
|
|
3810
3810
|
# define NAME_OF_CURRENT_INSN opt_lt
|
|
3811
|
-
# line
|
|
3811
|
+
# line 1414 "insns.def"
|
|
3812
3812
|
{
|
|
3813
3813
|
val = vm_opt_lt(recv, obj);
|
|
3814
3814
|
|
|
@@ -3855,7 +3855,7 @@ INSN_ENTRY(opt_le)
|
|
|
3855
3855
|
|
|
3856
3856
|
/* ### Here we do the instruction body. ### */
|
|
3857
3857
|
# define NAME_OF_CURRENT_INSN opt_le
|
|
3858
|
-
# line
|
|
3858
|
+
# line 1429 "insns.def"
|
|
3859
3859
|
{
|
|
3860
3860
|
val = vm_opt_le(recv, obj);
|
|
3861
3861
|
|
|
@@ -3902,7 +3902,7 @@ INSN_ENTRY(opt_gt)
|
|
|
3902
3902
|
|
|
3903
3903
|
/* ### Here we do the instruction body. ### */
|
|
3904
3904
|
# define NAME_OF_CURRENT_INSN opt_gt
|
|
3905
|
-
# line
|
|
3905
|
+
# line 1444 "insns.def"
|
|
3906
3906
|
{
|
|
3907
3907
|
val = vm_opt_gt(recv, obj);
|
|
3908
3908
|
|
|
@@ -3949,7 +3949,7 @@ INSN_ENTRY(opt_ge)
|
|
|
3949
3949
|
|
|
3950
3950
|
/* ### Here we do the instruction body. ### */
|
|
3951
3951
|
# define NAME_OF_CURRENT_INSN opt_ge
|
|
3952
|
-
# line
|
|
3952
|
+
# line 1459 "insns.def"
|
|
3953
3953
|
{
|
|
3954
3954
|
val = vm_opt_ge(recv, obj);
|
|
3955
3955
|
|
|
@@ -3996,7 +3996,7 @@ INSN_ENTRY(opt_ltlt)
|
|
|
3996
3996
|
|
|
3997
3997
|
/* ### Here we do the instruction body. ### */
|
|
3998
3998
|
# define NAME_OF_CURRENT_INSN opt_ltlt
|
|
3999
|
-
# line
|
|
3999
|
+
# line 1478 "insns.def"
|
|
4000
4000
|
{
|
|
4001
4001
|
val = vm_opt_ltlt(recv, obj);
|
|
4002
4002
|
|
|
@@ -4043,7 +4043,7 @@ INSN_ENTRY(opt_and)
|
|
|
4043
4043
|
|
|
4044
4044
|
/* ### Here we do the instruction body. ### */
|
|
4045
4045
|
# define NAME_OF_CURRENT_INSN opt_and
|
|
4046
|
-
# line
|
|
4046
|
+
# line 1493 "insns.def"
|
|
4047
4047
|
{
|
|
4048
4048
|
val = vm_opt_and(recv, obj);
|
|
4049
4049
|
|
|
@@ -4090,7 +4090,7 @@ INSN_ENTRY(opt_or)
|
|
|
4090
4090
|
|
|
4091
4091
|
/* ### Here we do the instruction body. ### */
|
|
4092
4092
|
# define NAME_OF_CURRENT_INSN opt_or
|
|
4093
|
-
# line
|
|
4093
|
+
# line 1508 "insns.def"
|
|
4094
4094
|
{
|
|
4095
4095
|
val = vm_opt_or(recv, obj);
|
|
4096
4096
|
|
|
@@ -4137,7 +4137,7 @@ INSN_ENTRY(opt_aref)
|
|
|
4137
4137
|
|
|
4138
4138
|
/* ### Here we do the instruction body. ### */
|
|
4139
4139
|
# define NAME_OF_CURRENT_INSN opt_aref
|
|
4140
|
-
# line
|
|
4140
|
+
# line 1528 "insns.def"
|
|
4141
4141
|
{
|
|
4142
4142
|
val = vm_opt_aref(recv, obj);
|
|
4143
4143
|
|
|
@@ -4185,7 +4185,7 @@ INSN_ENTRY(opt_aset)
|
|
|
4185
4185
|
|
|
4186
4186
|
/* ### Here we do the instruction body. ### */
|
|
4187
4187
|
# define NAME_OF_CURRENT_INSN opt_aset
|
|
4188
|
-
# line
|
|
4188
|
+
# line 1546 "insns.def"
|
|
4189
4189
|
{
|
|
4190
4190
|
val = vm_opt_aset(recv, obj, set);
|
|
4191
4191
|
|
|
@@ -4231,7 +4231,7 @@ INSN_ENTRY(opt_length)
|
|
|
4231
4231
|
|
|
4232
4232
|
/* ### Here we do the instruction body. ### */
|
|
4233
4233
|
# define NAME_OF_CURRENT_INSN opt_length
|
|
4234
|
-
# line
|
|
4234
|
+
# line 1561 "insns.def"
|
|
4235
4235
|
{
|
|
4236
4236
|
val = vm_opt_length(recv, BOP_LENGTH);
|
|
4237
4237
|
|
|
@@ -4277,7 +4277,7 @@ INSN_ENTRY(opt_size)
|
|
|
4277
4277
|
|
|
4278
4278
|
/* ### Here we do the instruction body. ### */
|
|
4279
4279
|
# define NAME_OF_CURRENT_INSN opt_size
|
|
4280
|
-
# line
|
|
4280
|
+
# line 1576 "insns.def"
|
|
4281
4281
|
{
|
|
4282
4282
|
val = vm_opt_length(recv, BOP_SIZE);
|
|
4283
4283
|
|
|
@@ -4323,7 +4323,7 @@ INSN_ENTRY(opt_empty_p)
|
|
|
4323
4323
|
|
|
4324
4324
|
/* ### Here we do the instruction body. ### */
|
|
4325
4325
|
# define NAME_OF_CURRENT_INSN opt_empty_p
|
|
4326
|
-
# line
|
|
4326
|
+
# line 1591 "insns.def"
|
|
4327
4327
|
{
|
|
4328
4328
|
val = vm_opt_empty_p(recv);
|
|
4329
4329
|
|
|
@@ -4369,7 +4369,7 @@ INSN_ENTRY(opt_succ)
|
|
|
4369
4369
|
|
|
4370
4370
|
/* ### Here we do the instruction body. ### */
|
|
4371
4371
|
# define NAME_OF_CURRENT_INSN opt_succ
|
|
4372
|
-
# line
|
|
4372
|
+
# line 1606 "insns.def"
|
|
4373
4373
|
{
|
|
4374
4374
|
val = vm_opt_succ(recv);
|
|
4375
4375
|
|
|
@@ -4415,7 +4415,7 @@ INSN_ENTRY(opt_not)
|
|
|
4415
4415
|
|
|
4416
4416
|
/* ### Here we do the instruction body. ### */
|
|
4417
4417
|
# define NAME_OF_CURRENT_INSN opt_not
|
|
4418
|
-
# line
|
|
4418
|
+
# line 1621 "insns.def"
|
|
4419
4419
|
{
|
|
4420
4420
|
val = vm_opt_not(GET_ISEQ(), cd, recv);
|
|
4421
4421
|
|
|
@@ -4462,7 +4462,7 @@ INSN_ENTRY(opt_regexpmatch2)
|
|
|
4462
4462
|
|
|
4463
4463
|
/* ### Here we do the instruction body. ### */
|
|
4464
4464
|
# define NAME_OF_CURRENT_INSN opt_regexpmatch2
|
|
4465
|
-
# line
|
|
4465
|
+
# line 1637 "insns.def"
|
|
4466
4466
|
{
|
|
4467
4467
|
val = vm_opt_regexpmatch2(obj2, obj1);
|
|
4468
4468
|
|
|
@@ -4507,7 +4507,7 @@ INSN_ENTRY(invokebuiltin)
|
|
|
4507
4507
|
|
|
4508
4508
|
/* ### Here we do the instruction body. ### */
|
|
4509
4509
|
# define NAME_OF_CURRENT_INSN invokebuiltin
|
|
4510
|
-
# line
|
|
4510
|
+
# line 1653 "insns.def"
|
|
4511
4511
|
{
|
|
4512
4512
|
val = vm_invoke_builtin(ec, reg_cfp, bf, STACK_ADDR_FROM_TOP(bf->argc));
|
|
4513
4513
|
}
|
|
@@ -4550,7 +4550,7 @@ INSN_ENTRY(opt_invokebuiltin_delegate)
|
|
|
4550
4550
|
|
|
4551
4551
|
/* ### Here we do the instruction body. ### */
|
|
4552
4552
|
# define NAME_OF_CURRENT_INSN opt_invokebuiltin_delegate
|
|
4553
|
-
# line
|
|
4553
|
+
# line 1664 "insns.def"
|
|
4554
4554
|
{
|
|
4555
4555
|
val = vm_invoke_builtin_delegate(ec, reg_cfp, bf, (unsigned int)index);
|
|
4556
4556
|
}
|
|
@@ -4593,7 +4593,7 @@ INSN_ENTRY(opt_invokebuiltin_delegate_leave)
|
|
|
4593
4593
|
|
|
4594
4594
|
/* ### Here we do the instruction body. ### */
|
|
4595
4595
|
# define NAME_OF_CURRENT_INSN opt_invokebuiltin_delegate_leave
|
|
4596
|
-
# line
|
|
4596
|
+
# line 1675 "insns.def"
|
|
4597
4597
|
{
|
|
4598
4598
|
val = vm_invoke_builtin_delegate(ec, reg_cfp, bf, (unsigned int)index);
|
|
4599
4599
|
|
|
@@ -4878,6 +4878,30 @@ INSN_ENTRY(zjit_getinstancevariable)
|
|
|
4878
4878
|
#endif
|
|
4879
4879
|
#if USE_ZJIT
|
|
4880
4880
|
|
|
4881
|
+
/* insn zjit_setinstancevariable(...)(...)(...) */
|
|
4882
|
+
INSN_ENTRY(zjit_setinstancevariable)
|
|
4883
|
+
{
|
|
4884
|
+
START_OF_ORIGINAL_INSN(zjit_setinstancevariable);
|
|
4885
|
+
rb_zjit_profile_insn(BIN(setinstancevariable), ec);
|
|
4886
|
+
DISPATCH_ORIGINAL_INSN(setinstancevariable);
|
|
4887
|
+
END_INSN(zjit_setinstancevariable);
|
|
4888
|
+
}
|
|
4889
|
+
|
|
4890
|
+
#endif
|
|
4891
|
+
#if USE_ZJIT
|
|
4892
|
+
|
|
4893
|
+
/* insn zjit_definedivar(...)(...)(...) */
|
|
4894
|
+
INSN_ENTRY(zjit_definedivar)
|
|
4895
|
+
{
|
|
4896
|
+
START_OF_ORIGINAL_INSN(zjit_definedivar);
|
|
4897
|
+
rb_zjit_profile_insn(BIN(definedivar), ec);
|
|
4898
|
+
DISPATCH_ORIGINAL_INSN(definedivar);
|
|
4899
|
+
END_INSN(zjit_definedivar);
|
|
4900
|
+
}
|
|
4901
|
+
|
|
4902
|
+
#endif
|
|
4903
|
+
#if USE_ZJIT
|
|
4904
|
+
|
|
4881
4905
|
/* insn zjit_send(...)(...)(...) */
|
|
4882
4906
|
INSN_ENTRY(zjit_send)
|
|
4883
4907
|
{
|