Try to reinstate the fix of change #28638 by patching bytecode.pl and
Rafael Garcia-Suarez [Mon, 7 Aug 2006 09:43:20 +0000 (09:43 +0000)]
not the file it generates
p4raw-link: @28638 on //depot/perl: 98e3ba2c7915a38045b973577ec684fa0de54948

p4raw-id: //depot/perl@28667

bytecode.pl
ext/B/B/Asmdata.pm
ext/ByteLoader/byterun.c

index cad64bc..6256a5f 100644 (file)
@@ -374,7 +374,7 @@ stpv                bstate->bs_pv.pvx                       U32             x
 ldspecsv       bstate->bs_sv                           U8              x
 ldspecsvx      bstate->bs_sv                           U8              x
 newsv          bstate->bs_sv                           U8              x
-newsvx         bstate->bs_sv                           U32             x
+newsvx         bstate->bs_sv                           svtype          x
 newop          PL_op                                   U8              x
 newopx         PL_op                                   U16             x
 newopn         PL_op                                   U8              x
index 8ba8cac..ca21b5d 100644 (file)
@@ -35,7 +35,7 @@ $insn_data{stpv} = [5, \&PUT_U32, "GET_U32"];
 $insn_data{ldspecsv} = [6, \&PUT_U8, "GET_U8"];
 $insn_data{ldspecsvx} = [7, \&PUT_U8, "GET_U8"];
 $insn_data{newsv} = [8, \&PUT_U8, "GET_U8"];
-$insn_data{newsvx} = [9, \&PUT_U32, "GET_U32"];
+$insn_data{newsvx} = [9, \&PUT_svtype, "GET_svtype"];
 $insn_data{newop} = [11, \&PUT_U8, "GET_U8"];
 $insn_data{newopx} = [12, \&PUT_U16, "GET_U16"];
 $insn_data{newopn} = [13, \&PUT_U8, "GET_U8"];
index 2b7296a..9305723 100644 (file)
@@ -143,8 +143,8 @@ byterun(pTHX_ register struct byteloader_state *bstate)
            }
          case INSN_NEWSVX:             /* 9 */
            {
-               U32 arg;
-               BGET_U32(arg);
+               svtype arg;
+               BGET_svtype(arg);
                BSET_newsvx(bstate->bs_sv, arg);
                break;
            }