debase-ruby_core_source 3.2.2 → 3.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/addr2line.h +3 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/insns_info.inc +60 -60
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/array.h +8 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/bits.h +6 -6
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/class.h +7 -3
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/cmdlineopt.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/gc.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/hash.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/imemo.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/parse.h +7 -32
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/thread.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/variable.h +1 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/vm.h +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/method.h +7 -6
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/node.h +22 -19
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/node_name.inc +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/parse.h +16 -5
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_node.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/prism_compile.h +18 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ractor_core.h +7 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/regint.h +8 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/regparse.h +2 -1
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/revision.h +5 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/rubyparser.h +1403 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/shape.h +32 -22
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/symbol.h +1 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/thread_none.h +1 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/thread_pthread.h +166 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/thread_win32.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/variable.h +9 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/version.h +7 -3
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm.inc +170 -183
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_callinfo.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_core.h +64 -11
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/yjit.h +10 -8
- data/lib/debase/ruby_core_source/version.rb +1 -1
- metadata +120 -119
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/parser_node.h +0 -133
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/revision.h +0 -5
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/rubyparser.h +0 -628
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/thread_pthread.h +0 -126
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/builtin.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/build_assert/build_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/check_type/check_type.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/container_of/container_of.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/list/list.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/str/str.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/constant.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/darray.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/debug_counter.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/dln.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/encindex.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/eval_intern.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/hrtime.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/id.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/id_table.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/insns.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/basic_operators.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/bignum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/compar.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/compile.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/compilers.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/complex.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/cont.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/dir.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/enc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/encoding.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/enum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/enumerator.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/error.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/eval.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/file.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/fixnum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/inits.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/io.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/load.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/loadpath.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/math.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/missing.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/numeric.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/object.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/proc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/process.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/ractor.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/random.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/range.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/rational.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/re.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/ruby_parser.h +2 -2
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/sanitizers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/serial.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/signal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/static_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/string.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/struct.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/symbol.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/time.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/transcode.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/util.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/warnings.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/iseq.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/known_errors.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/optinsn.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/optunifs.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/parser_bits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/parser_st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/parser_value.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/probes_helper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/regenc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/rjit.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/rjit_c.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ruby_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ruby_atomic.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/siphash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/timev.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/transcode_data.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_call_iseq_optimized.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_debug.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_exec.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_insnhelper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_opts.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_sync.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vmtc.inc +0 -0
@@ -599,22 +599,9 @@ INSN_ENTRY(opt_getconstant_path)
|
|
599
599
|
# define NAME_OF_CURRENT_INSN opt_getconstant_path
|
600
600
|
# line 262 "insns.def"
|
601
601
|
{
|
602
|
-
|
603
|
-
struct iseq_inline_constant_cache_entry *ice = ic->entry;
|
604
|
-
if (ice && vm_ic_hit_p(ice, GET_EP())) {
|
605
|
-
val = ice->value;
|
606
|
-
|
607
|
-
VM_ASSERT(val == vm_get_ev_const_chain(ec, segments));
|
608
|
-
} else {
|
609
|
-
ruby_vm_constant_cache_misses++;
|
610
|
-
val = vm_get_ev_const_chain(ec, segments);
|
611
|
-
vm_ic_track_const_chain(GET_CFP(), ic, segments);
|
612
|
-
// Because leaf=false, we need to undo the PC increment to get the address to this instruction
|
613
|
-
// INSN_ATTR(width) == 2
|
614
|
-
vm_ic_update(GET_ISEQ(), ic, val, GET_EP(), GET_PC() - 2);
|
615
|
-
}
|
602
|
+
val = rb_vm_opt_getconstant_path(ec, GET_CFP(), ic);
|
616
603
|
}
|
617
|
-
# line
|
604
|
+
# line 605 "vm.inc"
|
618
605
|
# undef NAME_OF_CURRENT_INSN
|
619
606
|
|
620
607
|
/* ### Instruction trailers. ### */
|
@@ -653,11 +640,11 @@ INSN_ENTRY(getconstant)
|
|
653
640
|
|
654
641
|
/* ### Here we do the instruction body. ### */
|
655
642
|
# define NAME_OF_CURRENT_INSN getconstant
|
656
|
-
# line
|
643
|
+
# line 277 "insns.def"
|
657
644
|
{
|
658
645
|
val = vm_get_ev_const(ec, klass, id, allow_nil == Qtrue, 0);
|
659
646
|
}
|
660
|
-
# line
|
647
|
+
# line 648 "vm.inc"
|
661
648
|
# undef NAME_OF_CURRENT_INSN
|
662
649
|
|
663
650
|
/* ### Instruction trailers. ### */
|
@@ -695,13 +682,13 @@ INSN_ENTRY(setconstant)
|
|
695
682
|
|
696
683
|
/* ### Here we do the instruction body. ### */
|
697
684
|
# define NAME_OF_CURRENT_INSN setconstant
|
698
|
-
# line
|
685
|
+
# line 293 "insns.def"
|
699
686
|
{
|
700
687
|
vm_check_if_namespace(cbase);
|
701
688
|
vm_ensure_not_refinement_module(GET_SELF());
|
702
689
|
rb_const_set(cbase, id, val);
|
703
690
|
}
|
704
|
-
# line
|
691
|
+
# line 692 "vm.inc"
|
705
692
|
# undef NAME_OF_CURRENT_INSN
|
706
693
|
|
707
694
|
/* ### Instruction trailers. ### */
|
@@ -735,11 +722,11 @@ INSN_ENTRY(getglobal)
|
|
735
722
|
|
736
723
|
/* ### Here we do the instruction body. ### */
|
737
724
|
# define NAME_OF_CURRENT_INSN getglobal
|
738
|
-
# line
|
725
|
+
# line 306 "insns.def"
|
739
726
|
{
|
740
727
|
val = rb_gvar_get(gid);
|
741
728
|
}
|
742
|
-
# line
|
729
|
+
# line 730 "vm.inc"
|
743
730
|
# undef NAME_OF_CURRENT_INSN
|
744
731
|
|
745
732
|
/* ### Instruction trailers. ### */
|
@@ -776,11 +763,11 @@ INSN_ENTRY(setglobal)
|
|
776
763
|
|
777
764
|
/* ### Here we do the instruction body. ### */
|
778
765
|
# define NAME_OF_CURRENT_INSN setglobal
|
779
|
-
# line
|
766
|
+
# line 317 "insns.def"
|
780
767
|
{
|
781
768
|
rb_gvar_set(gid, val);
|
782
769
|
}
|
783
|
-
# line
|
770
|
+
# line 771 "vm.inc"
|
784
771
|
# undef NAME_OF_CURRENT_INSN
|
785
772
|
|
786
773
|
/* ### Instruction trailers. ### */
|
@@ -812,11 +799,11 @@ INSN_ENTRY(putnil)
|
|
812
799
|
|
813
800
|
/* ### Here we do the instruction body. ### */
|
814
801
|
# define NAME_OF_CURRENT_INSN putnil
|
815
|
-
# line
|
802
|
+
# line 331 "insns.def"
|
816
803
|
{
|
817
804
|
val = Qnil;
|
818
805
|
}
|
819
|
-
# line
|
806
|
+
# line 807 "vm.inc"
|
820
807
|
# undef NAME_OF_CURRENT_INSN
|
821
808
|
|
822
809
|
/* ### Instruction trailers. ### */
|
@@ -851,11 +838,11 @@ INSN_ENTRY(putself)
|
|
851
838
|
|
852
839
|
/* ### Here we do the instruction body. ### */
|
853
840
|
# define NAME_OF_CURRENT_INSN putself
|
854
|
-
# line
|
841
|
+
# line 341 "insns.def"
|
855
842
|
{
|
856
843
|
val = GET_SELF();
|
857
844
|
}
|
858
|
-
# line
|
845
|
+
# line 846 "vm.inc"
|
859
846
|
# undef NAME_OF_CURRENT_INSN
|
860
847
|
|
861
848
|
/* ### Instruction trailers. ### */
|
@@ -921,14 +908,14 @@ INSN_ENTRY(putspecialobject)
|
|
921
908
|
|
922
909
|
/* ### Here we do the instruction body. ### */
|
923
910
|
# define NAME_OF_CURRENT_INSN putspecialobject
|
924
|
-
# line
|
911
|
+
# line 364 "insns.def"
|
925
912
|
{
|
926
913
|
enum vm_special_object_type type;
|
927
914
|
|
928
915
|
type = (enum vm_special_object_type)value_type;
|
929
916
|
val = vm_get_special_object(GET_EP(), type);
|
930
917
|
}
|
931
|
-
# line
|
918
|
+
# line 919 "vm.inc"
|
932
919
|
# undef NAME_OF_CURRENT_INSN
|
933
920
|
|
934
921
|
/* ### Instruction trailers. ### */
|
@@ -965,11 +952,11 @@ INSN_ENTRY(putstring)
|
|
965
952
|
|
966
953
|
/* ### Here we do the instruction body. ### */
|
967
954
|
# define NAME_OF_CURRENT_INSN putstring
|
968
|
-
# line
|
955
|
+
# line 377 "insns.def"
|
969
956
|
{
|
970
957
|
val = rb_ec_str_resurrect(ec, str);
|
971
958
|
}
|
972
|
-
# line
|
959
|
+
# line 960 "vm.inc"
|
973
960
|
# undef NAME_OF_CURRENT_INSN
|
974
961
|
|
975
962
|
/* ### Instruction trailers. ### */
|
@@ -1006,11 +993,11 @@ INSN_ENTRY(concatstrings)
|
|
1006
993
|
|
1007
994
|
/* ### Here we do the instruction body. ### */
|
1008
995
|
# define NAME_OF_CURRENT_INSN concatstrings
|
1009
|
-
# line
|
996
|
+
# line 391 "insns.def"
|
1010
997
|
{
|
1011
998
|
val = rb_str_concat_literals(num, STACK_ADDR_FROM_TOP(num));
|
1012
999
|
}
|
1013
|
-
# line
|
1000
|
+
# line 1001 "vm.inc"
|
1014
1001
|
# undef NAME_OF_CURRENT_INSN
|
1015
1002
|
|
1016
1003
|
/* ### Instruction trailers. ### */
|
@@ -1046,11 +1033,11 @@ INSN_ENTRY(anytostring)
|
|
1046
1033
|
|
1047
1034
|
/* ### Here we do the instruction body. ### */
|
1048
1035
|
# define NAME_OF_CURRENT_INSN anytostring
|
1049
|
-
# line
|
1036
|
+
# line 402 "insns.def"
|
1050
1037
|
{
|
1051
1038
|
val = rb_obj_as_string_result(str, val);
|
1052
1039
|
}
|
1053
|
-
# line
|
1040
|
+
# line 1041 "vm.inc"
|
1054
1041
|
# undef NAME_OF_CURRENT_INSN
|
1055
1042
|
|
1056
1043
|
/* ### Instruction trailers. ### */
|
@@ -1089,13 +1076,13 @@ INSN_ENTRY(toregexp)
|
|
1089
1076
|
|
1090
1077
|
/* ### Here we do the instruction body. ### */
|
1091
1078
|
# define NAME_OF_CURRENT_INSN toregexp
|
1092
|
-
# line
|
1079
|
+
# line 418 "insns.def"
|
1093
1080
|
{
|
1094
1081
|
const VALUE ary = rb_ary_tmp_new_from_values(0, cnt, STACK_ADDR_FROM_TOP(cnt));
|
1095
1082
|
val = rb_reg_new_ary(ary, (int)opt);
|
1096
1083
|
rb_ary_clear(ary);
|
1097
1084
|
}
|
1098
|
-
# line
|
1085
|
+
# line 1086 "vm.inc"
|
1099
1086
|
# undef NAME_OF_CURRENT_INSN
|
1100
1087
|
|
1101
1088
|
/* ### Instruction trailers. ### */
|
@@ -1131,11 +1118,11 @@ INSN_ENTRY(intern)
|
|
1131
1118
|
|
1132
1119
|
/* ### Here we do the instruction body. ### */
|
1133
1120
|
# define NAME_OF_CURRENT_INSN intern
|
1134
|
-
# line
|
1121
|
+
# line 430 "insns.def"
|
1135
1122
|
{
|
1136
1123
|
sym = rb_str_intern(str);
|
1137
1124
|
}
|
1138
|
-
# line
|
1125
|
+
# line 1126 "vm.inc"
|
1139
1126
|
# undef NAME_OF_CURRENT_INSN
|
1140
1127
|
|
1141
1128
|
/* ### Instruction trailers. ### */
|
@@ -1172,11 +1159,11 @@ INSN_ENTRY(newarray)
|
|
1172
1159
|
|
1173
1160
|
/* ### Here we do the instruction body. ### */
|
1174
1161
|
# define NAME_OF_CURRENT_INSN newarray
|
1175
|
-
# line
|
1162
|
+
# line 441 "insns.def"
|
1176
1163
|
{
|
1177
1164
|
val = rb_ec_ary_new_from_values(ec, num, STACK_ADDR_FROM_TOP(num));
|
1178
1165
|
}
|
1179
|
-
# line
|
1166
|
+
# line 1167 "vm.inc"
|
1180
1167
|
# undef NAME_OF_CURRENT_INSN
|
1181
1168
|
|
1182
1169
|
/* ### Instruction trailers. ### */
|
@@ -1213,7 +1200,7 @@ INSN_ENTRY(newarraykwsplat)
|
|
1213
1200
|
|
1214
1201
|
/* ### Here we do the instruction body. ### */
|
1215
1202
|
# define NAME_OF_CURRENT_INSN newarraykwsplat
|
1216
|
-
# line
|
1203
|
+
# line 456 "insns.def"
|
1217
1204
|
{
|
1218
1205
|
if (RHASH_EMPTY_P(*STACK_ADDR_FROM_TOP(1))) {
|
1219
1206
|
val = rb_ary_new4(num-1, STACK_ADDR_FROM_TOP(num));
|
@@ -1222,7 +1209,7 @@ INSN_ENTRY(newarraykwsplat)
|
|
1222
1209
|
val = rb_ary_new4(num, STACK_ADDR_FROM_TOP(num));
|
1223
1210
|
}
|
1224
1211
|
}
|
1225
|
-
# line
|
1212
|
+
# line 1213 "vm.inc"
|
1226
1213
|
# undef NAME_OF_CURRENT_INSN
|
1227
1214
|
|
1228
1215
|
/* ### Instruction trailers. ### */
|
@@ -1259,12 +1246,12 @@ INSN_ENTRY(duparray)
|
|
1259
1246
|
|
1260
1247
|
/* ### Here we do the instruction body. ### */
|
1261
1248
|
# define NAME_OF_CURRENT_INSN duparray
|
1262
|
-
# line
|
1249
|
+
# line 471 "insns.def"
|
1263
1250
|
{
|
1264
1251
|
RUBY_DTRACE_CREATE_HOOK(ARRAY, RARRAY_LEN(ary));
|
1265
1252
|
val = rb_ary_resurrect(ary);
|
1266
1253
|
}
|
1267
|
-
# line
|
1254
|
+
# line 1255 "vm.inc"
|
1268
1255
|
# undef NAME_OF_CURRENT_INSN
|
1269
1256
|
|
1270
1257
|
/* ### Instruction trailers. ### */
|
@@ -1301,12 +1288,12 @@ INSN_ENTRY(duphash)
|
|
1301
1288
|
|
1302
1289
|
/* ### Here we do the instruction body. ### */
|
1303
1290
|
# define NAME_OF_CURRENT_INSN duphash
|
1304
|
-
# line
|
1291
|
+
# line 482 "insns.def"
|
1305
1292
|
{
|
1306
1293
|
RUBY_DTRACE_CREATE_HOOK(HASH, RHASH_SIZE(hash) << 1);
|
1307
1294
|
val = rb_hash_resurrect(hash);
|
1308
1295
|
}
|
1309
|
-
# line
|
1296
|
+
# line 1297 "vm.inc"
|
1310
1297
|
# undef NAME_OF_CURRENT_INSN
|
1311
1298
|
|
1312
1299
|
/* ### Instruction trailers. ### */
|
@@ -1344,11 +1331,11 @@ INSN_ENTRY(expandarray)
|
|
1344
1331
|
|
1345
1332
|
/* ### Here we do the instruction body. ### */
|
1346
1333
|
# define NAME_OF_CURRENT_INSN expandarray
|
1347
|
-
# line
|
1334
|
+
# line 503 "insns.def"
|
1348
1335
|
{
|
1349
1336
|
vm_expandarray(GET_SP(), ary, num, (int)flag);
|
1350
1337
|
}
|
1351
|
-
# line
|
1338
|
+
# line 1339 "vm.inc"
|
1352
1339
|
# undef NAME_OF_CURRENT_INSN
|
1353
1340
|
|
1354
1341
|
/* ### Instruction trailers. ### */
|
@@ -1381,11 +1368,11 @@ INSN_ENTRY(concatarray)
|
|
1381
1368
|
|
1382
1369
|
/* ### Here we do the instruction body. ### */
|
1383
1370
|
# define NAME_OF_CURRENT_INSN concatarray
|
1384
|
-
# line
|
1371
|
+
# line 514 "insns.def"
|
1385
1372
|
{
|
1386
1373
|
ary = vm_concat_array(ary1, ary2);
|
1387
1374
|
}
|
1388
|
-
# line
|
1375
|
+
# line 1376 "vm.inc"
|
1389
1376
|
# undef NAME_OF_CURRENT_INSN
|
1390
1377
|
|
1391
1378
|
/* ### Instruction trailers. ### */
|
@@ -1423,11 +1410,11 @@ INSN_ENTRY(splatarray)
|
|
1423
1410
|
|
1424
1411
|
/* ### Here we do the instruction body. ### */
|
1425
1412
|
# define NAME_OF_CURRENT_INSN splatarray
|
1426
|
-
# line
|
1413
|
+
# line 525 "insns.def"
|
1427
1414
|
{
|
1428
1415
|
obj = vm_splat_array(flag, ary);
|
1429
1416
|
}
|
1430
|
-
# line
|
1417
|
+
# line 1418 "vm.inc"
|
1431
1418
|
# undef NAME_OF_CURRENT_INSN
|
1432
1419
|
|
1433
1420
|
/* ### Instruction trailers. ### */
|
@@ -1464,7 +1451,7 @@ INSN_ENTRY(newhash)
|
|
1464
1451
|
|
1465
1452
|
/* ### Here we do the instruction body. ### */
|
1466
1453
|
# define NAME_OF_CURRENT_INSN newhash
|
1467
|
-
# line
|
1454
|
+
# line 537 "insns.def"
|
1468
1455
|
{
|
1469
1456
|
RUBY_DTRACE_CREATE_HOOK(HASH, num);
|
1470
1457
|
|
@@ -1476,7 +1463,7 @@ INSN_ENTRY(newhash)
|
|
1476
1463
|
val = rb_hash_new();
|
1477
1464
|
}
|
1478
1465
|
}
|
1479
|
-
# line
|
1466
|
+
# line 1467 "vm.inc"
|
1480
1467
|
# undef NAME_OF_CURRENT_INSN
|
1481
1468
|
|
1482
1469
|
/* ### Instruction trailers. ### */
|
@@ -1515,11 +1502,11 @@ INSN_ENTRY(newrange)
|
|
1515
1502
|
|
1516
1503
|
/* ### Here we do the instruction body. ### */
|
1517
1504
|
# define NAME_OF_CURRENT_INSN newrange
|
1518
|
-
# line
|
1505
|
+
# line 557 "insns.def"
|
1519
1506
|
{
|
1520
1507
|
val = rb_range_new(low, high, (int)flag);
|
1521
1508
|
}
|
1522
|
-
# line
|
1509
|
+
# line 1510 "vm.inc"
|
1523
1510
|
# undef NAME_OF_CURRENT_INSN
|
1524
1511
|
|
1525
1512
|
/* ### Instruction trailers. ### */
|
@@ -1554,12 +1541,12 @@ INSN_ENTRY(pop)
|
|
1554
1541
|
|
1555
1542
|
/* ### Here we do the instruction body. ### */
|
1556
1543
|
# define NAME_OF_CURRENT_INSN pop
|
1557
|
-
# line
|
1544
|
+
# line 571 "insns.def"
|
1558
1545
|
{
|
1559
1546
|
(void)val;
|
1560
1547
|
/* none */
|
1561
1548
|
}
|
1562
|
-
# line
|
1549
|
+
# line 1550 "vm.inc"
|
1563
1550
|
# undef NAME_OF_CURRENT_INSN
|
1564
1551
|
|
1565
1552
|
/* ### Instruction trailers. ### */
|
@@ -1593,11 +1580,11 @@ INSN_ENTRY(dup)
|
|
1593
1580
|
|
1594
1581
|
/* ### Here we do the instruction body. ### */
|
1595
1582
|
# define NAME_OF_CURRENT_INSN dup
|
1596
|
-
# line
|
1583
|
+
# line 582 "insns.def"
|
1597
1584
|
{
|
1598
1585
|
val1 = val2 = val;
|
1599
1586
|
}
|
1600
|
-
# line
|
1587
|
+
# line 1588 "vm.inc"
|
1601
1588
|
# undef NAME_OF_CURRENT_INSN
|
1602
1589
|
|
1603
1590
|
/* ### Instruction trailers. ### */
|
@@ -1635,14 +1622,14 @@ INSN_ENTRY(dupn)
|
|
1635
1622
|
|
1636
1623
|
/* ### Here we do the instruction body. ### */
|
1637
1624
|
# define NAME_OF_CURRENT_INSN dupn
|
1638
|
-
# line
|
1625
|
+
# line 593 "insns.def"
|
1639
1626
|
{
|
1640
1627
|
void *dst = GET_SP();
|
1641
1628
|
void *src = STACK_ADDR_FROM_TOP(n);
|
1642
1629
|
|
1643
1630
|
MEMCPY(dst, src, VALUE, n);
|
1644
1631
|
}
|
1645
|
-
# line
|
1632
|
+
# line 1633 "vm.inc"
|
1646
1633
|
# undef NAME_OF_CURRENT_INSN
|
1647
1634
|
|
1648
1635
|
/* ### Instruction trailers. ### */
|
@@ -1705,7 +1692,7 @@ INSN_ENTRY(opt_reverse)
|
|
1705
1692
|
|
1706
1693
|
/* ### Here we do the instruction body. ### */
|
1707
1694
|
# define NAME_OF_CURRENT_INSN opt_reverse
|
1708
|
-
# line
|
1695
|
+
# line 617 "insns.def"
|
1709
1696
|
{
|
1710
1697
|
rb_num_t i;
|
1711
1698
|
VALUE *sp = STACK_ADDR_FROM_TOP(n);
|
@@ -1717,7 +1704,7 @@ INSN_ENTRY(opt_reverse)
|
|
1717
1704
|
TOPN(i) = v0;
|
1718
1705
|
}
|
1719
1706
|
}
|
1720
|
-
# line
|
1707
|
+
# line 1708 "vm.inc"
|
1721
1708
|
# undef NAME_OF_CURRENT_INSN
|
1722
1709
|
|
1723
1710
|
/* ### Instruction trailers. ### */
|
@@ -1750,11 +1737,11 @@ INSN_ENTRY(topn)
|
|
1750
1737
|
|
1751
1738
|
/* ### Here we do the instruction body. ### */
|
1752
1739
|
# define NAME_OF_CURRENT_INSN topn
|
1753
|
-
# line
|
1740
|
+
# line 647 "insns.def"
|
1754
1741
|
{
|
1755
1742
|
val = TOPN(n);
|
1756
1743
|
}
|
1757
|
-
# line
|
1744
|
+
# line 1745 "vm.inc"
|
1758
1745
|
# undef NAME_OF_CURRENT_INSN
|
1759
1746
|
|
1760
1747
|
/* ### Instruction trailers. ### */
|
@@ -1791,11 +1778,11 @@ INSN_ENTRY(setn)
|
|
1791
1778
|
|
1792
1779
|
/* ### Here we do the instruction body. ### */
|
1793
1780
|
# define NAME_OF_CURRENT_INSN setn
|
1794
|
-
# line
|
1781
|
+
# line 658 "insns.def"
|
1795
1782
|
{
|
1796
1783
|
TOPN(n) = val;
|
1797
1784
|
}
|
1798
|
-
# line
|
1785
|
+
# line 1786 "vm.inc"
|
1799
1786
|
# undef NAME_OF_CURRENT_INSN
|
1800
1787
|
|
1801
1788
|
/* ### Instruction trailers. ### */
|
@@ -1863,14 +1850,14 @@ INSN_ENTRY(defined)
|
|
1863
1850
|
|
1864
1851
|
/* ### Here we do the instruction body. ### */
|
1865
1852
|
# define NAME_OF_CURRENT_INSN defined
|
1866
|
-
# line
|
1853
|
+
# line 684 "insns.def"
|
1867
1854
|
{
|
1868
1855
|
val = Qnil;
|
1869
1856
|
if (vm_defined(ec, GET_CFP(), op_type, obj, v)) {
|
1870
1857
|
val = pushval;
|
1871
1858
|
}
|
1872
1859
|
}
|
1873
|
-
# line
|
1860
|
+
# line 1861 "vm.inc"
|
1874
1861
|
# undef NAME_OF_CURRENT_INSN
|
1875
1862
|
|
1876
1863
|
/* ### Instruction trailers. ### */
|
@@ -1911,14 +1898,14 @@ INSN_ENTRY(definedivar)
|
|
1911
1898
|
|
1912
1899
|
/* ### Here we do the instruction body. ### */
|
1913
1900
|
# define NAME_OF_CURRENT_INSN definedivar
|
1914
|
-
# line
|
1901
|
+
# line 698 "insns.def"
|
1915
1902
|
{
|
1916
1903
|
val = Qnil;
|
1917
1904
|
if (vm_getivar(GET_SELF(), id, GET_ISEQ(), ic, NULL, FALSE, Qundef) != Qundef) {
|
1918
1905
|
val = pushval;
|
1919
1906
|
}
|
1920
1907
|
}
|
1921
|
-
# line
|
1908
|
+
# line 1909 "vm.inc"
|
1922
1909
|
# undef NAME_OF_CURRENT_INSN
|
1923
1910
|
|
1924
1911
|
/* ### Instruction trailers. ### */
|
@@ -1957,11 +1944,11 @@ INSN_ENTRY(checkmatch)
|
|
1957
1944
|
|
1958
1945
|
/* ### Here we do the instruction body. ### */
|
1959
1946
|
# define NAME_OF_CURRENT_INSN checkmatch
|
1960
|
-
# line
|
1947
|
+
# line 718 "insns.def"
|
1961
1948
|
{
|
1962
1949
|
result = vm_check_match(ec, target, pattern, flag);
|
1963
1950
|
}
|
1964
|
-
# line
|
1951
|
+
# line 1952 "vm.inc"
|
1965
1952
|
# undef NAME_OF_CURRENT_INSN
|
1966
1953
|
|
1967
1954
|
/* ### Instruction trailers. ### */
|
@@ -2000,11 +1987,11 @@ INSN_ENTRY(checkkeyword)
|
|
2000
1987
|
|
2001
1988
|
/* ### Here we do the instruction body. ### */
|
2002
1989
|
# define NAME_OF_CURRENT_INSN checkkeyword
|
2003
|
-
# line
|
1990
|
+
# line 728 "insns.def"
|
2004
1991
|
{
|
2005
1992
|
ret = vm_check_keyword(kw_bits_index, keyword_index, GET_EP());
|
2006
1993
|
}
|
2007
|
-
# line
|
1994
|
+
# line 1995 "vm.inc"
|
2008
1995
|
# undef NAME_OF_CURRENT_INSN
|
2009
1996
|
|
2010
1997
|
/* ### Instruction trailers. ### */
|
@@ -2042,11 +2029,11 @@ INSN_ENTRY(checktype)
|
|
2042
2029
|
|
2043
2030
|
/* ### Here we do the instruction body. ### */
|
2044
2031
|
# define NAME_OF_CURRENT_INSN checktype
|
2045
|
-
# line
|
2032
|
+
# line 738 "insns.def"
|
2046
2033
|
{
|
2047
2034
|
ret = RBOOL(TYPE(val) == (int)type);
|
2048
2035
|
}
|
2049
|
-
# line
|
2036
|
+
# line 2037 "vm.inc"
|
2050
2037
|
# undef NAME_OF_CURRENT_INSN
|
2051
2038
|
|
2052
2039
|
/* ### Instruction trailers. ### */
|
@@ -2090,7 +2077,7 @@ INSN_ENTRY(defineclass)
|
|
2090
2077
|
|
2091
2078
|
/* ### Here we do the instruction body. ### */
|
2092
2079
|
# define NAME_OF_CURRENT_INSN defineclass
|
2093
|
-
# line
|
2080
|
+
# line 754 "insns.def"
|
2094
2081
|
{
|
2095
2082
|
VALUE klass = vm_find_or_create_class_by_id(id, flags, cbase, super);
|
2096
2083
|
|
@@ -2106,7 +2093,7 @@ INSN_ENTRY(defineclass)
|
|
2106
2093
|
RESTORE_REGS();
|
2107
2094
|
NEXT_INSN();
|
2108
2095
|
}
|
2109
|
-
# line
|
2096
|
+
# line 2097 "vm.inc"
|
2110
2097
|
# undef NAME_OF_CURRENT_INSN
|
2111
2098
|
|
2112
2099
|
/* ### Instruction trailers. ### */
|
@@ -2142,11 +2129,11 @@ INSN_ENTRY(definemethod)
|
|
2142
2129
|
|
2143
2130
|
/* ### Here we do the instruction body. ### */
|
2144
2131
|
# define NAME_OF_CURRENT_INSN definemethod
|
2145
|
-
# line
|
2132
|
+
# line 775 "insns.def"
|
2146
2133
|
{
|
2147
2134
|
vm_define_method(ec, Qnil, id, (VALUE)iseq, FALSE);
|
2148
2135
|
}
|
2149
|
-
# line
|
2136
|
+
# line 2137 "vm.inc"
|
2150
2137
|
# undef NAME_OF_CURRENT_INSN
|
2151
2138
|
|
2152
2139
|
/* ### Instruction trailers. ### */
|
@@ -2182,11 +2169,11 @@ INSN_ENTRY(definesmethod)
|
|
2182
2169
|
|
2183
2170
|
/* ### Here we do the instruction body. ### */
|
2184
2171
|
# define NAME_OF_CURRENT_INSN definesmethod
|
2185
|
-
# line
|
2172
|
+
# line 784 "insns.def"
|
2186
2173
|
{
|
2187
2174
|
vm_define_method(ec, obj, id, (VALUE)iseq, TRUE);
|
2188
2175
|
}
|
2189
|
-
# line
|
2176
|
+
# line 2177 "vm.inc"
|
2190
2177
|
# undef NAME_OF_CURRENT_INSN
|
2191
2178
|
|
2192
2179
|
/* ### Instruction trailers. ### */
|
@@ -2222,7 +2209,7 @@ INSN_ENTRY(send)
|
|
2222
2209
|
|
2223
2210
|
/* ### Here we do the instruction body. ### */
|
2224
2211
|
# define NAME_OF_CURRENT_INSN send
|
2225
|
-
# line
|
2212
|
+
# line 800 "insns.def"
|
2226
2213
|
{
|
2227
2214
|
VALUE bh = vm_caller_setup_arg_block(ec, GET_CFP(), cd->ci, blockiseq, false);
|
2228
2215
|
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_method);
|
@@ -2233,7 +2220,7 @@ INSN_ENTRY(send)
|
|
2233
2220
|
NEXT_INSN();
|
2234
2221
|
}
|
2235
2222
|
}
|
2236
|
-
# line
|
2223
|
+
# line 2224 "vm.inc"
|
2237
2224
|
# undef NAME_OF_CURRENT_INSN
|
2238
2225
|
|
2239
2226
|
/* ### Instruction trailers. ### */
|
@@ -2268,7 +2255,7 @@ INSN_ENTRY(opt_send_without_block)
|
|
2268
2255
|
|
2269
2256
|
/* ### Here we do the instruction body. ### */
|
2270
2257
|
# define NAME_OF_CURRENT_INSN opt_send_without_block
|
2271
|
-
# line
|
2258
|
+
# line 820 "insns.def"
|
2272
2259
|
{
|
2273
2260
|
VALUE bh = VM_BLOCK_HANDLER_NONE;
|
2274
2261
|
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_method);
|
@@ -2279,7 +2266,7 @@ INSN_ENTRY(opt_send_without_block)
|
|
2279
2266
|
NEXT_INSN();
|
2280
2267
|
}
|
2281
2268
|
}
|
2282
|
-
# line
|
2269
|
+
# line 2270 "vm.inc"
|
2283
2270
|
# undef NAME_OF_CURRENT_INSN
|
2284
2271
|
|
2285
2272
|
/* ### Instruction trailers. ### */
|
@@ -2314,7 +2301,7 @@ INSN_ENTRY(objtostring)
|
|
2314
2301
|
|
2315
2302
|
/* ### Here we do the instruction body. ### */
|
2316
2303
|
# define NAME_OF_CURRENT_INSN objtostring
|
2317
|
-
# line
|
2304
|
+
# line 838 "insns.def"
|
2318
2305
|
{
|
2319
2306
|
val = vm_objtostring(GET_ISEQ(), recv, cd);
|
2320
2307
|
|
@@ -2322,7 +2309,7 @@ INSN_ENTRY(objtostring)
|
|
2322
2309
|
CALL_SIMPLE_METHOD();
|
2323
2310
|
}
|
2324
2311
|
}
|
2325
|
-
# line
|
2312
|
+
# line 2313 "vm.inc"
|
2326
2313
|
# undef NAME_OF_CURRENT_INSN
|
2327
2314
|
|
2328
2315
|
/* ### Instruction trailers. ### */
|
@@ -2361,7 +2348,7 @@ INSN_ENTRY(opt_str_freeze)
|
|
2361
2348
|
|
2362
2349
|
/* ### Here we do the instruction body. ### */
|
2363
2350
|
# define NAME_OF_CURRENT_INSN opt_str_freeze
|
2364
|
-
# line
|
2351
|
+
# line 851 "insns.def"
|
2365
2352
|
{
|
2366
2353
|
val = vm_opt_str_freeze(str, BOP_FREEZE, idFreeze);
|
2367
2354
|
|
@@ -2370,7 +2357,7 @@ INSN_ENTRY(opt_str_freeze)
|
|
2370
2357
|
CALL_SIMPLE_METHOD();
|
2371
2358
|
}
|
2372
2359
|
}
|
2373
|
-
# line
|
2360
|
+
# line 2361 "vm.inc"
|
2374
2361
|
# undef NAME_OF_CURRENT_INSN
|
2375
2362
|
|
2376
2363
|
/* ### Instruction trailers. ### */
|
@@ -2408,7 +2395,7 @@ INSN_ENTRY(opt_nil_p)
|
|
2408
2395
|
|
2409
2396
|
/* ### Here we do the instruction body. ### */
|
2410
2397
|
# define NAME_OF_CURRENT_INSN opt_nil_p
|
2411
|
-
# line
|
2398
|
+
# line 866 "insns.def"
|
2412
2399
|
{
|
2413
2400
|
val = vm_opt_nil_p(GET_ISEQ(), cd, recv);
|
2414
2401
|
|
@@ -2416,7 +2403,7 @@ INSN_ENTRY(opt_nil_p)
|
|
2416
2403
|
CALL_SIMPLE_METHOD();
|
2417
2404
|
}
|
2418
2405
|
}
|
2419
|
-
# line
|
2406
|
+
# line 2407 "vm.inc"
|
2420
2407
|
# undef NAME_OF_CURRENT_INSN
|
2421
2408
|
|
2422
2409
|
/* ### Instruction trailers. ### */
|
@@ -2455,7 +2442,7 @@ INSN_ENTRY(opt_str_uminus)
|
|
2455
2442
|
|
2456
2443
|
/* ### Here we do the instruction body. ### */
|
2457
2444
|
# define NAME_OF_CURRENT_INSN opt_str_uminus
|
2458
|
-
# line
|
2445
|
+
# line 879 "insns.def"
|
2459
2446
|
{
|
2460
2447
|
val = vm_opt_str_freeze(str, BOP_UMINUS, idUMinus);
|
2461
2448
|
|
@@ -2464,7 +2451,7 @@ INSN_ENTRY(opt_str_uminus)
|
|
2464
2451
|
CALL_SIMPLE_METHOD();
|
2465
2452
|
}
|
2466
2453
|
}
|
2467
|
-
# line
|
2454
|
+
# line 2455 "vm.inc"
|
2468
2455
|
# undef NAME_OF_CURRENT_INSN
|
2469
2456
|
|
2470
2457
|
/* ### Instruction trailers. ### */
|
@@ -2503,7 +2490,7 @@ INSN_ENTRY(opt_newarray_send)
|
|
2503
2490
|
|
2504
2491
|
/* ### Here we do the instruction body. ### */
|
2505
2492
|
# define NAME_OF_CURRENT_INSN opt_newarray_send
|
2506
|
-
# line
|
2493
|
+
# line 900 "insns.def"
|
2507
2494
|
{
|
2508
2495
|
switch(method) {
|
2509
2496
|
case idHash:
|
@@ -2519,7 +2506,7 @@ INSN_ENTRY(opt_newarray_send)
|
|
2519
2506
|
rb_bug("unreachable");
|
2520
2507
|
}
|
2521
2508
|
}
|
2522
|
-
# line
|
2509
|
+
# line 2510 "vm.inc"
|
2523
2510
|
# undef NAME_OF_CURRENT_INSN
|
2524
2511
|
|
2525
2512
|
/* ### Instruction trailers. ### */
|
@@ -2559,7 +2546,7 @@ INSN_ENTRY(invokesuper)
|
|
2559
2546
|
|
2560
2547
|
/* ### Here we do the instruction body. ### */
|
2561
2548
|
# define NAME_OF_CURRENT_INSN invokesuper
|
2562
|
-
# line
|
2549
|
+
# line 924 "insns.def"
|
2563
2550
|
{
|
2564
2551
|
VALUE bh = vm_caller_setup_arg_block(ec, GET_CFP(), cd->ci, blockiseq, true);
|
2565
2552
|
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_super);
|
@@ -2570,7 +2557,7 @@ INSN_ENTRY(invokesuper)
|
|
2570
2557
|
NEXT_INSN();
|
2571
2558
|
}
|
2572
2559
|
}
|
2573
|
-
# line
|
2560
|
+
# line 2561 "vm.inc"
|
2574
2561
|
# undef NAME_OF_CURRENT_INSN
|
2575
2562
|
|
2576
2563
|
/* ### Instruction trailers. ### */
|
@@ -2605,7 +2592,7 @@ INSN_ENTRY(invokeblock)
|
|
2605
2592
|
|
2606
2593
|
/* ### Here we do the instruction body. ### */
|
2607
2594
|
# define NAME_OF_CURRENT_INSN invokeblock
|
2608
|
-
# line
|
2595
|
+
# line 944 "insns.def"
|
2609
2596
|
{
|
2610
2597
|
VALUE bh = VM_BLOCK_HANDLER_NONE;
|
2611
2598
|
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_invokeblock);
|
@@ -2616,7 +2603,7 @@ INSN_ENTRY(invokeblock)
|
|
2616
2603
|
NEXT_INSN();
|
2617
2604
|
}
|
2618
2605
|
}
|
2619
|
-
# line
|
2606
|
+
# line 2607 "vm.inc"
|
2620
2607
|
# undef NAME_OF_CURRENT_INSN
|
2621
2608
|
|
2622
2609
|
/* ### Instruction trailers. ### */
|
@@ -2649,7 +2636,7 @@ INSN_ENTRY(leave)
|
|
2649
2636
|
|
2650
2637
|
/* ### Here we do the instruction body. ### */
|
2651
2638
|
# define NAME_OF_CURRENT_INSN leave
|
2652
|
-
# line
|
2639
|
+
# line 966 "insns.def"
|
2653
2640
|
{
|
2654
2641
|
if (OPT_CHECKED_RUN) {
|
2655
2642
|
const VALUE *const bp = vm_base_ptr(GET_CFP());
|
@@ -2670,7 +2657,7 @@ INSN_ENTRY(leave)
|
|
2670
2657
|
RESTORE_REGS();
|
2671
2658
|
}
|
2672
2659
|
}
|
2673
|
-
# line
|
2660
|
+
# line 2661 "vm.inc"
|
2674
2661
|
# undef NAME_OF_CURRENT_INSN
|
2675
2662
|
|
2676
2663
|
/* ### Instruction trailers. ### */
|
@@ -2705,13 +2692,13 @@ INSN_ENTRY(throw)
|
|
2705
2692
|
|
2706
2693
|
/* ### Here we do the instruction body. ### */
|
2707
2694
|
# define NAME_OF_CURRENT_INSN throw
|
2708
|
-
# line
|
2695
|
+
# line 999 "insns.def"
|
2709
2696
|
{
|
2710
2697
|
val = vm_throw(ec, GET_CFP(), throw_state, throwobj);
|
2711
2698
|
THROW_EXCEPTION(val);
|
2712
2699
|
/* unreachable */
|
2713
2700
|
}
|
2714
|
-
# line
|
2701
|
+
# line 2702 "vm.inc"
|
2715
2702
|
# undef NAME_OF_CURRENT_INSN
|
2716
2703
|
|
2717
2704
|
/* ### Instruction trailers. ### */
|
@@ -2747,12 +2734,12 @@ INSN_ENTRY(jump)
|
|
2747
2734
|
|
2748
2735
|
/* ### Here we do the instruction body. ### */
|
2749
2736
|
# define NAME_OF_CURRENT_INSN jump
|
2750
|
-
# line
|
2737
|
+
# line 1017 "insns.def"
|
2751
2738
|
{
|
2752
2739
|
RUBY_VM_CHECK_INTS(ec);
|
2753
2740
|
JUMP(dst);
|
2754
2741
|
}
|
2755
|
-
# line
|
2742
|
+
# line 2743 "vm.inc"
|
2756
2743
|
# undef NAME_OF_CURRENT_INSN
|
2757
2744
|
|
2758
2745
|
/* ### Instruction trailers. ### */
|
@@ -2786,14 +2773,14 @@ INSN_ENTRY(branchif)
|
|
2786
2773
|
|
2787
2774
|
/* ### Here we do the instruction body. ### */
|
2788
2775
|
# define NAME_OF_CURRENT_INSN branchif
|
2789
|
-
# line
|
2776
|
+
# line 1030 "insns.def"
|
2790
2777
|
{
|
2791
2778
|
if (RTEST(val)) {
|
2792
2779
|
RUBY_VM_CHECK_INTS(ec);
|
2793
2780
|
JUMP(dst);
|
2794
2781
|
}
|
2795
2782
|
}
|
2796
|
-
# line
|
2783
|
+
# line 2784 "vm.inc"
|
2797
2784
|
# undef NAME_OF_CURRENT_INSN
|
2798
2785
|
|
2799
2786
|
/* ### Instruction trailers. ### */
|
@@ -2827,14 +2814,14 @@ INSN_ENTRY(branchunless)
|
|
2827
2814
|
|
2828
2815
|
/* ### Here we do the instruction body. ### */
|
2829
2816
|
# define NAME_OF_CURRENT_INSN branchunless
|
2830
|
-
# line
|
2817
|
+
# line 1045 "insns.def"
|
2831
2818
|
{
|
2832
2819
|
if (!RTEST(val)) {
|
2833
2820
|
RUBY_VM_CHECK_INTS(ec);
|
2834
2821
|
JUMP(dst);
|
2835
2822
|
}
|
2836
2823
|
}
|
2837
|
-
# line
|
2824
|
+
# line 2825 "vm.inc"
|
2838
2825
|
# undef NAME_OF_CURRENT_INSN
|
2839
2826
|
|
2840
2827
|
/* ### Instruction trailers. ### */
|
@@ -2868,14 +2855,14 @@ INSN_ENTRY(branchnil)
|
|
2868
2855
|
|
2869
2856
|
/* ### Here we do the instruction body. ### */
|
2870
2857
|
# define NAME_OF_CURRENT_INSN branchnil
|
2871
|
-
# line
|
2858
|
+
# line 1060 "insns.def"
|
2872
2859
|
{
|
2873
2860
|
if (NIL_P(val)) {
|
2874
2861
|
RUBY_VM_CHECK_INTS(ec);
|
2875
2862
|
JUMP(dst);
|
2876
2863
|
}
|
2877
2864
|
}
|
2878
|
-
# line
|
2865
|
+
# line 2866 "vm.inc"
|
2879
2866
|
# undef NAME_OF_CURRENT_INSN
|
2880
2867
|
|
2881
2868
|
/* ### Instruction trailers. ### */
|
@@ -2912,11 +2899,11 @@ INSN_ENTRY(once)
|
|
2912
2899
|
|
2913
2900
|
/* ### Here we do the instruction body. ### */
|
2914
2901
|
# define NAME_OF_CURRENT_INSN once
|
2915
|
-
# line
|
2902
|
+
# line 1077 "insns.def"
|
2916
2903
|
{
|
2917
2904
|
val = vm_once_dispatch(ec, iseq, ise);
|
2918
2905
|
}
|
2919
|
-
# line
|
2906
|
+
# line 2907 "vm.inc"
|
2920
2907
|
# undef NAME_OF_CURRENT_INSN
|
2921
2908
|
|
2922
2909
|
/* ### Instruction trailers. ### */
|
@@ -2952,7 +2939,7 @@ INSN_ENTRY(opt_case_dispatch)
|
|
2952
2939
|
|
2953
2940
|
/* ### Here we do the instruction body. ### */
|
2954
2941
|
# define NAME_OF_CURRENT_INSN opt_case_dispatch
|
2955
|
-
# line
|
2942
|
+
# line 1088 "insns.def"
|
2956
2943
|
{
|
2957
2944
|
OFFSET dst = vm_case_dispatch(hash, else_offset, key);
|
2958
2945
|
|
@@ -2960,7 +2947,7 @@ INSN_ENTRY(opt_case_dispatch)
|
|
2960
2947
|
JUMP(dst);
|
2961
2948
|
}
|
2962
2949
|
}
|
2963
|
-
# line
|
2950
|
+
# line 2951 "vm.inc"
|
2964
2951
|
# undef NAME_OF_CURRENT_INSN
|
2965
2952
|
|
2966
2953
|
/* ### Instruction trailers. ### */
|
@@ -2996,7 +2983,7 @@ INSN_ENTRY(opt_plus)
|
|
2996
2983
|
|
2997
2984
|
/* ### Here we do the instruction body. ### */
|
2998
2985
|
# define NAME_OF_CURRENT_INSN opt_plus
|
2999
|
-
# line
|
2986
|
+
# line 1104 "insns.def"
|
3000
2987
|
{
|
3001
2988
|
val = vm_opt_plus(recv, obj);
|
3002
2989
|
|
@@ -3004,7 +2991,7 @@ INSN_ENTRY(opt_plus)
|
|
3004
2991
|
CALL_SIMPLE_METHOD();
|
3005
2992
|
}
|
3006
2993
|
}
|
3007
|
-
# line
|
2994
|
+
# line 2995 "vm.inc"
|
3008
2995
|
# undef NAME_OF_CURRENT_INSN
|
3009
2996
|
|
3010
2997
|
/* ### Instruction trailers. ### */
|
@@ -3043,7 +3030,7 @@ INSN_ENTRY(opt_minus)
|
|
3043
3030
|
|
3044
3031
|
/* ### Here we do the instruction body. ### */
|
3045
3032
|
# define NAME_OF_CURRENT_INSN opt_minus
|
3046
|
-
# line
|
3033
|
+
# line 1118 "insns.def"
|
3047
3034
|
{
|
3048
3035
|
val = vm_opt_minus(recv, obj);
|
3049
3036
|
|
@@ -3051,7 +3038,7 @@ INSN_ENTRY(opt_minus)
|
|
3051
3038
|
CALL_SIMPLE_METHOD();
|
3052
3039
|
}
|
3053
3040
|
}
|
3054
|
-
# line
|
3041
|
+
# line 3042 "vm.inc"
|
3055
3042
|
# undef NAME_OF_CURRENT_INSN
|
3056
3043
|
|
3057
3044
|
/* ### Instruction trailers. ### */
|
@@ -3090,7 +3077,7 @@ INSN_ENTRY(opt_mult)
|
|
3090
3077
|
|
3091
3078
|
/* ### Here we do the instruction body. ### */
|
3092
3079
|
# define NAME_OF_CURRENT_INSN opt_mult
|
3093
|
-
# line
|
3080
|
+
# line 1132 "insns.def"
|
3094
3081
|
{
|
3095
3082
|
val = vm_opt_mult(recv, obj);
|
3096
3083
|
|
@@ -3098,7 +3085,7 @@ INSN_ENTRY(opt_mult)
|
|
3098
3085
|
CALL_SIMPLE_METHOD();
|
3099
3086
|
}
|
3100
3087
|
}
|
3101
|
-
# line
|
3088
|
+
# line 3089 "vm.inc"
|
3102
3089
|
# undef NAME_OF_CURRENT_INSN
|
3103
3090
|
|
3104
3091
|
/* ### Instruction trailers. ### */
|
@@ -3137,7 +3124,7 @@ INSN_ENTRY(opt_div)
|
|
3137
3124
|
|
3138
3125
|
/* ### Here we do the instruction body. ### */
|
3139
3126
|
# define NAME_OF_CURRENT_INSN opt_div
|
3140
|
-
# line
|
3127
|
+
# line 1149 "insns.def"
|
3141
3128
|
{
|
3142
3129
|
val = vm_opt_div(recv, obj);
|
3143
3130
|
|
@@ -3145,7 +3132,7 @@ INSN_ENTRY(opt_div)
|
|
3145
3132
|
CALL_SIMPLE_METHOD();
|
3146
3133
|
}
|
3147
3134
|
}
|
3148
|
-
# line
|
3135
|
+
# line 3136 "vm.inc"
|
3149
3136
|
# undef NAME_OF_CURRENT_INSN
|
3150
3137
|
|
3151
3138
|
/* ### Instruction trailers. ### */
|
@@ -3184,7 +3171,7 @@ INSN_ENTRY(opt_mod)
|
|
3184
3171
|
|
3185
3172
|
/* ### Here we do the instruction body. ### */
|
3186
3173
|
# define NAME_OF_CURRENT_INSN opt_mod
|
3187
|
-
# line
|
3174
|
+
# line 1165 "insns.def"
|
3188
3175
|
{
|
3189
3176
|
val = vm_opt_mod(recv, obj);
|
3190
3177
|
|
@@ -3192,7 +3179,7 @@ INSN_ENTRY(opt_mod)
|
|
3192
3179
|
CALL_SIMPLE_METHOD();
|
3193
3180
|
}
|
3194
3181
|
}
|
3195
|
-
# line
|
3182
|
+
# line 3183 "vm.inc"
|
3196
3183
|
# undef NAME_OF_CURRENT_INSN
|
3197
3184
|
|
3198
3185
|
/* ### Instruction trailers. ### */
|
@@ -3231,7 +3218,7 @@ INSN_ENTRY(opt_eq)
|
|
3231
3218
|
|
3232
3219
|
/* ### Here we do the instruction body. ### */
|
3233
3220
|
# define NAME_OF_CURRENT_INSN opt_eq
|
3234
|
-
# line
|
3221
|
+
# line 1179 "insns.def"
|
3235
3222
|
{
|
3236
3223
|
val = opt_equality(GET_ISEQ(), recv, obj, cd);
|
3237
3224
|
|
@@ -3239,7 +3226,7 @@ INSN_ENTRY(opt_eq)
|
|
3239
3226
|
CALL_SIMPLE_METHOD();
|
3240
3227
|
}
|
3241
3228
|
}
|
3242
|
-
# line
|
3229
|
+
# line 3230 "vm.inc"
|
3243
3230
|
# undef NAME_OF_CURRENT_INSN
|
3244
3231
|
|
3245
3232
|
/* ### Instruction trailers. ### */
|
@@ -3280,7 +3267,7 @@ INSN_ENTRY(opt_neq)
|
|
3280
3267
|
|
3281
3268
|
/* ### Here we do the instruction body. ### */
|
3282
3269
|
# define NAME_OF_CURRENT_INSN opt_neq
|
3283
|
-
# line
|
3270
|
+
# line 1193 "insns.def"
|
3284
3271
|
{
|
3285
3272
|
val = vm_opt_neq(GET_ISEQ(), cd, cd_eq, recv, obj);
|
3286
3273
|
|
@@ -3288,7 +3275,7 @@ INSN_ENTRY(opt_neq)
|
|
3288
3275
|
CALL_SIMPLE_METHOD();
|
3289
3276
|
}
|
3290
3277
|
}
|
3291
|
-
# line
|
3278
|
+
# line 3279 "vm.inc"
|
3292
3279
|
# undef NAME_OF_CURRENT_INSN
|
3293
3280
|
|
3294
3281
|
/* ### Instruction trailers. ### */
|
@@ -3327,7 +3314,7 @@ INSN_ENTRY(opt_lt)
|
|
3327
3314
|
|
3328
3315
|
/* ### Here we do the instruction body. ### */
|
3329
3316
|
# define NAME_OF_CURRENT_INSN opt_lt
|
3330
|
-
# line
|
3317
|
+
# line 1207 "insns.def"
|
3331
3318
|
{
|
3332
3319
|
val = vm_opt_lt(recv, obj);
|
3333
3320
|
|
@@ -3335,7 +3322,7 @@ INSN_ENTRY(opt_lt)
|
|
3335
3322
|
CALL_SIMPLE_METHOD();
|
3336
3323
|
}
|
3337
3324
|
}
|
3338
|
-
# line
|
3325
|
+
# line 3326 "vm.inc"
|
3339
3326
|
# undef NAME_OF_CURRENT_INSN
|
3340
3327
|
|
3341
3328
|
/* ### Instruction trailers. ### */
|
@@ -3374,7 +3361,7 @@ INSN_ENTRY(opt_le)
|
|
3374
3361
|
|
3375
3362
|
/* ### Here we do the instruction body. ### */
|
3376
3363
|
# define NAME_OF_CURRENT_INSN opt_le
|
3377
|
-
# line
|
3364
|
+
# line 1221 "insns.def"
|
3378
3365
|
{
|
3379
3366
|
val = vm_opt_le(recv, obj);
|
3380
3367
|
|
@@ -3382,7 +3369,7 @@ INSN_ENTRY(opt_le)
|
|
3382
3369
|
CALL_SIMPLE_METHOD();
|
3383
3370
|
}
|
3384
3371
|
}
|
3385
|
-
# line
|
3372
|
+
# line 3373 "vm.inc"
|
3386
3373
|
# undef NAME_OF_CURRENT_INSN
|
3387
3374
|
|
3388
3375
|
/* ### Instruction trailers. ### */
|
@@ -3421,7 +3408,7 @@ INSN_ENTRY(opt_gt)
|
|
3421
3408
|
|
3422
3409
|
/* ### Here we do the instruction body. ### */
|
3423
3410
|
# define NAME_OF_CURRENT_INSN opt_gt
|
3424
|
-
# line
|
3411
|
+
# line 1235 "insns.def"
|
3425
3412
|
{
|
3426
3413
|
val = vm_opt_gt(recv, obj);
|
3427
3414
|
|
@@ -3429,7 +3416,7 @@ INSN_ENTRY(opt_gt)
|
|
3429
3416
|
CALL_SIMPLE_METHOD();
|
3430
3417
|
}
|
3431
3418
|
}
|
3432
|
-
# line
|
3419
|
+
# line 3420 "vm.inc"
|
3433
3420
|
# undef NAME_OF_CURRENT_INSN
|
3434
3421
|
|
3435
3422
|
/* ### Instruction trailers. ### */
|
@@ -3468,7 +3455,7 @@ INSN_ENTRY(opt_ge)
|
|
3468
3455
|
|
3469
3456
|
/* ### Here we do the instruction body. ### */
|
3470
3457
|
# define NAME_OF_CURRENT_INSN opt_ge
|
3471
|
-
# line
|
3458
|
+
# line 1249 "insns.def"
|
3472
3459
|
{
|
3473
3460
|
val = vm_opt_ge(recv, obj);
|
3474
3461
|
|
@@ -3476,7 +3463,7 @@ INSN_ENTRY(opt_ge)
|
|
3476
3463
|
CALL_SIMPLE_METHOD();
|
3477
3464
|
}
|
3478
3465
|
}
|
3479
|
-
# line
|
3466
|
+
# line 3467 "vm.inc"
|
3480
3467
|
# undef NAME_OF_CURRENT_INSN
|
3481
3468
|
|
3482
3469
|
/* ### Instruction trailers. ### */
|
@@ -3515,7 +3502,7 @@ INSN_ENTRY(opt_ltlt)
|
|
3515
3502
|
|
3516
3503
|
/* ### Here we do the instruction body. ### */
|
3517
3504
|
# define NAME_OF_CURRENT_INSN opt_ltlt
|
3518
|
-
# line
|
3505
|
+
# line 1267 "insns.def"
|
3519
3506
|
{
|
3520
3507
|
val = vm_opt_ltlt(recv, obj);
|
3521
3508
|
|
@@ -3523,7 +3510,7 @@ INSN_ENTRY(opt_ltlt)
|
|
3523
3510
|
CALL_SIMPLE_METHOD();
|
3524
3511
|
}
|
3525
3512
|
}
|
3526
|
-
# line
|
3513
|
+
# line 3514 "vm.inc"
|
3527
3514
|
# undef NAME_OF_CURRENT_INSN
|
3528
3515
|
|
3529
3516
|
/* ### Instruction trailers. ### */
|
@@ -3562,7 +3549,7 @@ INSN_ENTRY(opt_and)
|
|
3562
3549
|
|
3563
3550
|
/* ### Here we do the instruction body. ### */
|
3564
3551
|
# define NAME_OF_CURRENT_INSN opt_and
|
3565
|
-
# line
|
3552
|
+
# line 1281 "insns.def"
|
3566
3553
|
{
|
3567
3554
|
val = vm_opt_and(recv, obj);
|
3568
3555
|
|
@@ -3570,7 +3557,7 @@ INSN_ENTRY(opt_and)
|
|
3570
3557
|
CALL_SIMPLE_METHOD();
|
3571
3558
|
}
|
3572
3559
|
}
|
3573
|
-
# line
|
3560
|
+
# line 3561 "vm.inc"
|
3574
3561
|
# undef NAME_OF_CURRENT_INSN
|
3575
3562
|
|
3576
3563
|
/* ### Instruction trailers. ### */
|
@@ -3609,7 +3596,7 @@ INSN_ENTRY(opt_or)
|
|
3609
3596
|
|
3610
3597
|
/* ### Here we do the instruction body. ### */
|
3611
3598
|
# define NAME_OF_CURRENT_INSN opt_or
|
3612
|
-
# line
|
3599
|
+
# line 1295 "insns.def"
|
3613
3600
|
{
|
3614
3601
|
val = vm_opt_or(recv, obj);
|
3615
3602
|
|
@@ -3617,7 +3604,7 @@ INSN_ENTRY(opt_or)
|
|
3617
3604
|
CALL_SIMPLE_METHOD();
|
3618
3605
|
}
|
3619
3606
|
}
|
3620
|
-
# line
|
3607
|
+
# line 3608 "vm.inc"
|
3621
3608
|
# undef NAME_OF_CURRENT_INSN
|
3622
3609
|
|
3623
3610
|
/* ### Instruction trailers. ### */
|
@@ -3656,7 +3643,7 @@ INSN_ENTRY(opt_aref)
|
|
3656
3643
|
|
3657
3644
|
/* ### Here we do the instruction body. ### */
|
3658
3645
|
# define NAME_OF_CURRENT_INSN opt_aref
|
3659
|
-
# line
|
3646
|
+
# line 1314 "insns.def"
|
3660
3647
|
{
|
3661
3648
|
val = vm_opt_aref(recv, obj);
|
3662
3649
|
|
@@ -3664,7 +3651,7 @@ INSN_ENTRY(opt_aref)
|
|
3664
3651
|
CALL_SIMPLE_METHOD();
|
3665
3652
|
}
|
3666
3653
|
}
|
3667
|
-
# line
|
3654
|
+
# line 3655 "vm.inc"
|
3668
3655
|
# undef NAME_OF_CURRENT_INSN
|
3669
3656
|
|
3670
3657
|
/* ### Instruction trailers. ### */
|
@@ -3704,7 +3691,7 @@ INSN_ENTRY(opt_aset)
|
|
3704
3691
|
|
3705
3692
|
/* ### Here we do the instruction body. ### */
|
3706
3693
|
# define NAME_OF_CURRENT_INSN opt_aset
|
3707
|
-
# line
|
3694
|
+
# line 1331 "insns.def"
|
3708
3695
|
{
|
3709
3696
|
val = vm_opt_aset(recv, obj, set);
|
3710
3697
|
|
@@ -3712,7 +3699,7 @@ INSN_ENTRY(opt_aset)
|
|
3712
3699
|
CALL_SIMPLE_METHOD();
|
3713
3700
|
}
|
3714
3701
|
}
|
3715
|
-
# line
|
3702
|
+
# line 3703 "vm.inc"
|
3716
3703
|
# undef NAME_OF_CURRENT_INSN
|
3717
3704
|
|
3718
3705
|
/* ### Instruction trailers. ### */
|
@@ -3752,7 +3739,7 @@ INSN_ENTRY(opt_aset_with)
|
|
3752
3739
|
|
3753
3740
|
/* ### Here we do the instruction body. ### */
|
3754
3741
|
# define NAME_OF_CURRENT_INSN opt_aset_with
|
3755
|
-
# line
|
3742
|
+
# line 1347 "insns.def"
|
3756
3743
|
{
|
3757
3744
|
VALUE tmp = vm_opt_aset_with(recv, key, val);
|
3758
3745
|
|
@@ -3765,7 +3752,7 @@ INSN_ENTRY(opt_aset_with)
|
|
3765
3752
|
CALL_SIMPLE_METHOD();
|
3766
3753
|
}
|
3767
3754
|
}
|
3768
|
-
# line
|
3755
|
+
# line 3756 "vm.inc"
|
3769
3756
|
# undef NAME_OF_CURRENT_INSN
|
3770
3757
|
|
3771
3758
|
/* ### Instruction trailers. ### */
|
@@ -3805,7 +3792,7 @@ INSN_ENTRY(opt_aref_with)
|
|
3805
3792
|
|
3806
3793
|
/* ### Here we do the instruction body. ### */
|
3807
3794
|
# define NAME_OF_CURRENT_INSN opt_aref_with
|
3808
|
-
# line
|
3795
|
+
# line 1368 "insns.def"
|
3809
3796
|
{
|
3810
3797
|
val = vm_opt_aref_with(recv, key);
|
3811
3798
|
|
@@ -3814,7 +3801,7 @@ INSN_ENTRY(opt_aref_with)
|
|
3814
3801
|
CALL_SIMPLE_METHOD();
|
3815
3802
|
}
|
3816
3803
|
}
|
3817
|
-
# line
|
3804
|
+
# line 3805 "vm.inc"
|
3818
3805
|
# undef NAME_OF_CURRENT_INSN
|
3819
3806
|
|
3820
3807
|
/* ### Instruction trailers. ### */
|
@@ -3852,7 +3839,7 @@ INSN_ENTRY(opt_length)
|
|
3852
3839
|
|
3853
3840
|
/* ### Here we do the instruction body. ### */
|
3854
3841
|
# define NAME_OF_CURRENT_INSN opt_length
|
3855
|
-
# line
|
3842
|
+
# line 1383 "insns.def"
|
3856
3843
|
{
|
3857
3844
|
val = vm_opt_length(recv, BOP_LENGTH);
|
3858
3845
|
|
@@ -3860,7 +3847,7 @@ INSN_ENTRY(opt_length)
|
|
3860
3847
|
CALL_SIMPLE_METHOD();
|
3861
3848
|
}
|
3862
3849
|
}
|
3863
|
-
# line
|
3850
|
+
# line 3851 "vm.inc"
|
3864
3851
|
# undef NAME_OF_CURRENT_INSN
|
3865
3852
|
|
3866
3853
|
/* ### Instruction trailers. ### */
|
@@ -3898,7 +3885,7 @@ INSN_ENTRY(opt_size)
|
|
3898
3885
|
|
3899
3886
|
/* ### Here we do the instruction body. ### */
|
3900
3887
|
# define NAME_OF_CURRENT_INSN opt_size
|
3901
|
-
# line
|
3888
|
+
# line 1397 "insns.def"
|
3902
3889
|
{
|
3903
3890
|
val = vm_opt_length(recv, BOP_SIZE);
|
3904
3891
|
|
@@ -3906,7 +3893,7 @@ INSN_ENTRY(opt_size)
|
|
3906
3893
|
CALL_SIMPLE_METHOD();
|
3907
3894
|
}
|
3908
3895
|
}
|
3909
|
-
# line
|
3896
|
+
# line 3897 "vm.inc"
|
3910
3897
|
# undef NAME_OF_CURRENT_INSN
|
3911
3898
|
|
3912
3899
|
/* ### Instruction trailers. ### */
|
@@ -3944,7 +3931,7 @@ INSN_ENTRY(opt_empty_p)
|
|
3944
3931
|
|
3945
3932
|
/* ### Here we do the instruction body. ### */
|
3946
3933
|
# define NAME_OF_CURRENT_INSN opt_empty_p
|
3947
|
-
# line
|
3934
|
+
# line 1411 "insns.def"
|
3948
3935
|
{
|
3949
3936
|
val = vm_opt_empty_p(recv);
|
3950
3937
|
|
@@ -3952,7 +3939,7 @@ INSN_ENTRY(opt_empty_p)
|
|
3952
3939
|
CALL_SIMPLE_METHOD();
|
3953
3940
|
}
|
3954
3941
|
}
|
3955
|
-
# line
|
3942
|
+
# line 3943 "vm.inc"
|
3956
3943
|
# undef NAME_OF_CURRENT_INSN
|
3957
3944
|
|
3958
3945
|
/* ### Instruction trailers. ### */
|
@@ -3990,7 +3977,7 @@ INSN_ENTRY(opt_succ)
|
|
3990
3977
|
|
3991
3978
|
/* ### Here we do the instruction body. ### */
|
3992
3979
|
# define NAME_OF_CURRENT_INSN opt_succ
|
3993
|
-
# line
|
3980
|
+
# line 1425 "insns.def"
|
3994
3981
|
{
|
3995
3982
|
val = vm_opt_succ(recv);
|
3996
3983
|
|
@@ -3998,7 +3985,7 @@ INSN_ENTRY(opt_succ)
|
|
3998
3985
|
CALL_SIMPLE_METHOD();
|
3999
3986
|
}
|
4000
3987
|
}
|
4001
|
-
# line
|
3988
|
+
# line 3989 "vm.inc"
|
4002
3989
|
# undef NAME_OF_CURRENT_INSN
|
4003
3990
|
|
4004
3991
|
/* ### Instruction trailers. ### */
|
@@ -4036,7 +4023,7 @@ INSN_ENTRY(opt_not)
|
|
4036
4023
|
|
4037
4024
|
/* ### Here we do the instruction body. ### */
|
4038
4025
|
# define NAME_OF_CURRENT_INSN opt_not
|
4039
|
-
# line
|
4026
|
+
# line 1439 "insns.def"
|
4040
4027
|
{
|
4041
4028
|
val = vm_opt_not(GET_ISEQ(), cd, recv);
|
4042
4029
|
|
@@ -4044,7 +4031,7 @@ INSN_ENTRY(opt_not)
|
|
4044
4031
|
CALL_SIMPLE_METHOD();
|
4045
4032
|
}
|
4046
4033
|
}
|
4047
|
-
# line
|
4034
|
+
# line 4035 "vm.inc"
|
4048
4035
|
# undef NAME_OF_CURRENT_INSN
|
4049
4036
|
|
4050
4037
|
/* ### Instruction trailers. ### */
|
@@ -4083,7 +4070,7 @@ INSN_ENTRY(opt_regexpmatch2)
|
|
4083
4070
|
|
4084
4071
|
/* ### Here we do the instruction body. ### */
|
4085
4072
|
# define NAME_OF_CURRENT_INSN opt_regexpmatch2
|
4086
|
-
# line
|
4073
|
+
# line 1454 "insns.def"
|
4087
4074
|
{
|
4088
4075
|
val = vm_opt_regexpmatch2(obj2, obj1);
|
4089
4076
|
|
@@ -4091,7 +4078,7 @@ INSN_ENTRY(opt_regexpmatch2)
|
|
4091
4078
|
CALL_SIMPLE_METHOD();
|
4092
4079
|
}
|
4093
4080
|
}
|
4094
|
-
# line
|
4081
|
+
# line 4082 "vm.inc"
|
4095
4082
|
# undef NAME_OF_CURRENT_INSN
|
4096
4083
|
|
4097
4084
|
/* ### Instruction trailers. ### */
|
@@ -4128,11 +4115,11 @@ INSN_ENTRY(invokebuiltin)
|
|
4128
4115
|
|
4129
4116
|
/* ### Here we do the instruction body. ### */
|
4130
4117
|
# define NAME_OF_CURRENT_INSN invokebuiltin
|
4131
|
-
# line
|
4118
|
+
# line 1470 "insns.def"
|
4132
4119
|
{
|
4133
4120
|
val = vm_invoke_builtin(ec, reg_cfp, bf, STACK_ADDR_FROM_TOP(bf->argc));
|
4134
4121
|
}
|
4135
|
-
# line
|
4122
|
+
# line 4123 "vm.inc"
|
4136
4123
|
# undef NAME_OF_CURRENT_INSN
|
4137
4124
|
|
4138
4125
|
/* ### Instruction trailers. ### */
|
@@ -4171,11 +4158,11 @@ INSN_ENTRY(opt_invokebuiltin_delegate)
|
|
4171
4158
|
|
4172
4159
|
/* ### Here we do the instruction body. ### */
|
4173
4160
|
# define NAME_OF_CURRENT_INSN opt_invokebuiltin_delegate
|
4174
|
-
# line
|
4161
|
+
# line 1481 "insns.def"
|
4175
4162
|
{
|
4176
4163
|
val = vm_invoke_builtin_delegate(ec, reg_cfp, bf, (unsigned int)index);
|
4177
4164
|
}
|
4178
|
-
# line
|
4165
|
+
# line 4166 "vm.inc"
|
4179
4166
|
# undef NAME_OF_CURRENT_INSN
|
4180
4167
|
|
4181
4168
|
/* ### Instruction trailers. ### */
|
@@ -4214,7 +4201,7 @@ INSN_ENTRY(opt_invokebuiltin_delegate_leave)
|
|
4214
4201
|
|
4215
4202
|
/* ### Here we do the instruction body. ### */
|
4216
4203
|
# define NAME_OF_CURRENT_INSN opt_invokebuiltin_delegate_leave
|
4217
|
-
# line
|
4204
|
+
# line 1492 "insns.def"
|
4218
4205
|
{
|
4219
4206
|
val = vm_invoke_builtin_delegate(ec, reg_cfp, bf, (unsigned int)index);
|
4220
4207
|
|
@@ -4232,7 +4219,7 @@ INSN_ENTRY(opt_invokebuiltin_delegate_leave)
|
|
4232
4219
|
RESTORE_REGS();
|
4233
4220
|
}
|
4234
4221
|
}
|
4235
|
-
# line
|
4222
|
+
# line 4223 "vm.inc"
|
4236
4223
|
# undef NAME_OF_CURRENT_INSN
|
4237
4224
|
|
4238
4225
|
/* ### Instruction trailers. ### */
|
@@ -4258,7 +4245,7 @@ INSN_ENTRY(getlocal_WC_0)
|
|
4258
4245
|
/* ### Declare and assign variables. ### */
|
4259
4246
|
#line 10 "defs/opt_operand.def"
|
4260
4247
|
const rb_num_t level = 0;
|
4261
|
-
#line
|
4248
|
+
#line 4249 "vm.inc"
|
4262
4249
|
lindex_t idx = (lindex_t)GET_OPERAND(1);
|
4263
4250
|
# define INSN_ATTR(x) attr_ ## x ## _getlocal_WC_0(idx)
|
4264
4251
|
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
@@ -4278,7 +4265,7 @@ INSN_ENTRY(getlocal_WC_0)
|
|
4278
4265
|
RB_DEBUG_COUNTER_INC(lvar_get);
|
4279
4266
|
(void)RB_DEBUG_COUNTER_INC_IF(lvar_get_dynamic, level > 0);
|
4280
4267
|
}
|
4281
|
-
# line
|
4268
|
+
# line 4269 "vm.inc"
|
4282
4269
|
# undef NAME_OF_CURRENT_INSN
|
4283
4270
|
|
4284
4271
|
/* ### Instruction trailers. ### */
|
@@ -4304,7 +4291,7 @@ INSN_ENTRY(getlocal_WC_1)
|
|
4304
4291
|
/* ### Declare and assign variables. ### */
|
4305
4292
|
#line 11 "defs/opt_operand.def"
|
4306
4293
|
const rb_num_t level = 1;
|
4307
|
-
#line
|
4294
|
+
#line 4295 "vm.inc"
|
4308
4295
|
lindex_t idx = (lindex_t)GET_OPERAND(1);
|
4309
4296
|
# define INSN_ATTR(x) attr_ ## x ## _getlocal_WC_1(idx)
|
4310
4297
|
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
@@ -4324,7 +4311,7 @@ INSN_ENTRY(getlocal_WC_1)
|
|
4324
4311
|
RB_DEBUG_COUNTER_INC(lvar_get);
|
4325
4312
|
(void)RB_DEBUG_COUNTER_INC_IF(lvar_get_dynamic, level > 0);
|
4326
4313
|
}
|
4327
|
-
# line
|
4314
|
+
# line 4315 "vm.inc"
|
4328
4315
|
# undef NAME_OF_CURRENT_INSN
|
4329
4316
|
|
4330
4317
|
/* ### Instruction trailers. ### */
|
@@ -4350,7 +4337,7 @@ INSN_ENTRY(setlocal_WC_0)
|
|
4350
4337
|
/* ### Declare and assign variables. ### */
|
4351
4338
|
#line 12 "defs/opt_operand.def"
|
4352
4339
|
const rb_num_t level = 0;
|
4353
|
-
#line
|
4340
|
+
#line 4341 "vm.inc"
|
4354
4341
|
lindex_t idx = (lindex_t)GET_OPERAND(1);
|
4355
4342
|
# define INSN_ATTR(x) attr_ ## x ## _setlocal_WC_0(idx)
|
4356
4343
|
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
@@ -4370,7 +4357,7 @@ INSN_ENTRY(setlocal_WC_0)
|
|
4370
4357
|
RB_DEBUG_COUNTER_INC(lvar_set);
|
4371
4358
|
(void)RB_DEBUG_COUNTER_INC_IF(lvar_set_dynamic, level > 0);
|
4372
4359
|
}
|
4373
|
-
# line
|
4360
|
+
# line 4361 "vm.inc"
|
4374
4361
|
# undef NAME_OF_CURRENT_INSN
|
4375
4362
|
|
4376
4363
|
/* ### Instruction trailers. ### */
|
@@ -4393,7 +4380,7 @@ INSN_ENTRY(setlocal_WC_1)
|
|
4393
4380
|
/* ### Declare and assign variables. ### */
|
4394
4381
|
#line 13 "defs/opt_operand.def"
|
4395
4382
|
const rb_num_t level = 1;
|
4396
|
-
#line
|
4383
|
+
#line 4384 "vm.inc"
|
4397
4384
|
lindex_t idx = (lindex_t)GET_OPERAND(1);
|
4398
4385
|
# define INSN_ATTR(x) attr_ ## x ## _setlocal_WC_1(idx)
|
4399
4386
|
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
@@ -4413,7 +4400,7 @@ INSN_ENTRY(setlocal_WC_1)
|
|
4413
4400
|
RB_DEBUG_COUNTER_INC(lvar_set);
|
4414
4401
|
(void)RB_DEBUG_COUNTER_INC_IF(lvar_set_dynamic, level > 0);
|
4415
4402
|
}
|
4416
|
-
# line
|
4403
|
+
# line 4404 "vm.inc"
|
4417
4404
|
# undef NAME_OF_CURRENT_INSN
|
4418
4405
|
|
4419
4406
|
/* ### Instruction trailers. ### */
|
@@ -4436,7 +4423,7 @@ INSN_ENTRY(putobject_INT2FIX_0_)
|
|
4436
4423
|
/* ### Declare and assign variables. ### */
|
4437
4424
|
#line 15 "defs/opt_operand.def"
|
4438
4425
|
const VALUE val = INT2FIX(0);
|
4439
|
-
#line
|
4426
|
+
#line 4427 "vm.inc"
|
4440
4427
|
# define INSN_ATTR(x) attr_ ## x ## _putobject_INT2FIX_0_()
|
4441
4428
|
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
4442
4429
|
|
@@ -4466,7 +4453,7 @@ INSN_ENTRY(putobject_INT2FIX_1_)
|
|
4466
4453
|
/* ### Declare and assign variables. ### */
|
4467
4454
|
#line 16 "defs/opt_operand.def"
|
4468
4455
|
const VALUE val = INT2FIX(1);
|
4469
|
-
#line
|
4456
|
+
#line 4457 "vm.inc"
|
4470
4457
|
# define INSN_ATTR(x) attr_ ## x ## _putobject_INT2FIX_1_()
|
4471
4458
|
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
4472
4459
|
|