use strict;
my %alias_to = (
U32 => [qw(PADOFFSET STRLEN)],
- I32 => [qw(SSize_t long)],
- U16 => [qw(OPCODE line_t short)],
+ I32 => [qw(SSize_t line_t long)],
+ U16 => [qw(OPCODE short)],
U8 => [qw(char)],
);
$insn_data{gp_io} = [78, \&PUT_svindex, "GET_svindex"];
$insn_data{gp_form} = [79, \&PUT_svindex, "GET_svindex"];
$insn_data{gp_cvgen} = [80, \&PUT_U32, "GET_U32"];
-$insn_data{gp_line} = [81, \&PUT_U16, "GET_U16"];
+$insn_data{gp_line} = [81, \&PUT_U32, "GET_U32"];
$insn_data{gp_share} = [82, \&PUT_svindex, "GET_svindex"];
$insn_data{xgv_flags} = [83, \&PUT_U8, "GET_U8"];
$insn_data{op_next} = [84, \&PUT_opindex, "GET_opindex"];
$insn_data{cop_file} = [111, \&PUT_pvindex, "GET_pvindex"];
$insn_data{cop_seq} = [112, \&PUT_U32, "GET_U32"];
$insn_data{cop_arybase} = [113, \&PUT_I32, "GET_I32"];
-$insn_data{cop_line} = [114, \&PUT_U16, "GET_U16"];
+$insn_data{cop_line} = [114, \&PUT_U32, "GET_U32"];
$insn_data{cop_warnings} = [115, \&PUT_svindex, "GET_svindex"];
$insn_data{main_start} = [116, \&PUT_opindex, "GET_opindex"];
$insn_data{main_root} = [117, \&PUT_opindex, "GET_opindex"];
case INSN_GP_LINE: /* 81 */
{
line_t arg;
- BGET_U16(arg);
+ BGET_U32(arg);
GvLINE(bstate->bs_sv) = arg;
break;
}
case INSN_COP_LINE: /* 114 */
{
line_t arg;
- BGET_U16(arg);
+ BGET_U32(arg);
BSET_cop_line(cCOP, arg);
break;
}
# define toCTRL(c) (toUPPER(c) ^ 64)
#endif
-/* Line numbers are unsigned, 16 bits. */
-typedef U16 line_t;
+/* Line numbers are unsigned, 32 bits. */
+typedef U32 line_t;
#ifdef lint
#define NOLINE ((line_t)0)
#else
-#define NOLINE ((line_t) 65535)
+#define NOLINE ((line_t) 4294967295UL)
#endif
#include "perl.h"
#ifndef WORD_ALIGN
-#define WORD_ALIGN sizeof(U16)
+#define WORD_ALIGN sizeof(U32)
#endif
#define DOCATCH(o) ((CATCH_GET == TRUE) ? docatch(o) : (o))
{
dSP; dMARK; dORIGMARK;
register SV *tmpForm = *++MARK;
- register U16 *fpc;
+ register U32 *fpc;
register char *t;
register char *f;
register char *s;
/* need to jump to the next word */
s = f + len + WORD_ALIGN - SvCUR(tmpForm) % WORD_ALIGN;
- fpc = (U16*)s;
+ fpc = (U32*)s;
for (;;) {
DEBUG_f( {
bool noblank = FALSE;
bool repeat = FALSE;
bool postspace = FALSE;
- U16 *fops;
- register U16 *fpc;
- U16 *linepc = 0;
+ U32 *fops;
+ register U32 *fpc;
+ U32 *linepc = 0;
register I32 arg;
bool ischop;
int maxops = 2; /* FF_LINEMARK + FF_END) */
s = base;
base = Nullch;
- New(804, fops, maxops, U16);
+ New(804, fops, maxops, U32);
fpc = fops;
if (s < send) {
{ /* need to jump to the next word */
int z;
z = WORD_ALIGN - SvCUR(sv) % WORD_ALIGN;
- SvGROW(sv, SvCUR(sv) + z + arg * sizeof(U16) + 4);
+ SvGROW(sv, SvCUR(sv) + z + arg * sizeof(U32) + 4);
s = SvPVX(sv) + SvCUR(sv) + z;
}
- Copy(fops, s, arg, U16);
+ Copy(fops, s, arg, U32);
Safefree(fops);
sv_magic(sv, Nullsv, PERL_MAGIC_fm, Nullch, 0);
SvCOMPILED_on(sv);
# define SAVECOPFILE_FREE(c) SAVEGENERICSV(CopFILEGV(c))
#endif
-#define SAVECOPLINE(c) SAVEI16(CopLINE(c))
+#define SAVECOPLINE(c) SAVEI32(CopLINE(c))
/* SSNEW() temporarily allocates a specified number of bytes of data on the
* savestack. It returns an integer index into the savestack, because a