Cross Reference: byterun.c
xref
: /
osnet-11
/
usr
/
src
/
cmd
/
perl
/
5.8.4
/
distrib
/
ext
/
ByteLoader
/
byterun.c
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
1
N/A
/*
1
N/A
* Copyright (c) 1996-1999 Malcolm Beattie
1
N/A
*
1
N/A
* You may distribute under the terms of either the GNU General Public
1
N/A
* License or the Artistic License, as specified in the README file.
1
N/A
*
1
N/A
*/
1
N/A
/*
1
N/A
* This file is autogenerated from
bytecode.pl
. Changes made here will be lost.
1
N/A
*/
1
N/A
1
N/A
#
define
PERL_NO_GET_CONTEXT
1
N/A
#
include
"
EXTERN.h
"
1
N/A
#
include
"
perl.h
"
1
N/A
#
define
NO_XSLOCKS
1
N/A
#
include
"
XSUB.h
"
1
N/A
1
N/A
#
include
"
byterun.h
"
1
N/A
#
include
"
bytecode.h
"
1
N/A
1
N/A
1
N/A
static
const
int
optype_size
[] = {
1
N/A
sizeof
(
OP
),
1
N/A
sizeof
(
UNOP
),
1
N/A
sizeof
(
BINOP
),
1
N/A
sizeof
(
LOGOP
),
1
N/A
sizeof
(
LISTOP
),
1
N/A
sizeof
(
PMOP
),
1
N/A
sizeof
(
SVOP
),
1
N/A
sizeof
(
PADOP
),
1
N/A
sizeof
(
PVOP
),
1
N/A
sizeof
(
LOOP
),
1
N/A
sizeof
(
COP
)
1
N/A
};
1
N/A
1
N/A
void
*
1
N/A
bset_obj_store
(
pTHX_
struct
byteloader_state
*
bstate
,
void
*
obj
,
I32
ix
)
1
N/A
{
1
N/A
if
(
ix
>
bstate
->
bs_obj_list_fill
) {
1
N/A
Renew
(
bstate
->
bs_obj_list
,
ix
+
32
,
void
*);
1
N/A
bstate
->
bs_obj_list_fill
=
ix
+
31
;
1
N/A
}
1
N/A
bstate
->
bs_obj_list
[
ix
] =
obj
;
1
N/A
return
obj
;
1
N/A
}
1
N/A
1
N/A
int
1
N/A
byterun
(
pTHX_
register
struct
byteloader_state
*
bstate
)
1
N/A
{
1
N/A
register
int
insn
;
1
N/A
U32
ix
;
1
N/A
SV
*
specialsv_list
[
6
];
1
N/A
1
N/A
BYTECODE_HEADER_CHECK
;
/* croak if incorrect platform */
1
N/A
New
(
666
,
bstate
->
bs_obj_list
,
32
,
void
*);
/* set op objlist */
1
N/A
bstate
->
bs_obj_list_fill
=
31
;
1
N/A
bstate
->
bs_obj_list
[0] =
NULL
;
/* first is always Null */
1
N/A
bstate
->
bs_ix
=
1
;
1
N/A
1
N/A
specialsv_list
[0] =
Nullsv
;
1
N/A
specialsv_list
[
1
] = &
PL_sv_undef
;
1
N/A
specialsv_list
[
2
] = &
PL_sv_yes
;
1
N/A
specialsv_list
[
3
] = &
PL_sv_no
;
1
N/A
specialsv_list
[
4
] =
pWARN_ALL
;
1
N/A
specialsv_list
[
5
] =
pWARN_NONE
;
1
N/A
1
N/A
while
((
insn
=
BGET_FGETC
()) !=
EOF
) {
1
N/A
switch
(
insn
) {
1
N/A
case
INSN_COMMENT
:
/* 35 */
1
N/A
{
1
N/A
comment_t
arg
;
1
N/A
BGET_comment_t
(
arg
);
1
N/A
arg
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_NOP
:
/* 10 */
1
N/A
{
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_RET
:
/* 0 */
1
N/A
{
1
N/A
BSET_ret
(
none
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_LDSV
:
/* 1 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
bstate
->
bs_sv
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_LDOP
:
/* 2 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
PL_op
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_STSV
:
/* 3 */
1
N/A
{
1
N/A
U32
arg
;
1
N/A
BGET_U32
(
arg
);
1
N/A
BSET_OBJ_STORE
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_STOP
:
/* 4 */
1
N/A
{
1
N/A
U32
arg
;
1
N/A
BGET_U32
(
arg
);
1
N/A
BSET_OBJ_STORE
(
PL_op
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_STPV
:
/* 5 */
1
N/A
{
1
N/A
U32
arg
;
1
N/A
BGET_U32
(
arg
);
1
N/A
BSET_stpv
(
bstate
->
bs_pv
.
xpv_pv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_LDSPECSV
:
/* 6 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
BSET_ldspecsv
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_LDSPECSVX
:
/* 7 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
BSET_ldspecsvx
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_NEWSV
:
/* 8 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
BSET_newsv
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_NEWSVX
:
/* 9 */
1
N/A
{
1
N/A
U32
arg
;
1
N/A
BGET_U32
(
arg
);
1
N/A
BSET_newsvx
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_NEWOP
:
/* 11 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
BSET_newop
(
PL_op
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_NEWOPX
:
/* 12 */
1
N/A
{
1
N/A
U16
arg
;
1
N/A
BGET_U16
(
arg
);
1
N/A
BSET_newopx
(
PL_op
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_NEWOPN
:
/* 13 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
BSET_newopn
(
PL_op
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_NEWPV
:
/* 14 */
1
N/A
{
1
N/A
PV
arg
;
1
N/A
BGET_PV
(
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_PV_CUR
:
/* 15 */
1
N/A
{
1
N/A
STRLEN
arg
;
1
N/A
BGET_PADOFFSET
(
arg
);
1
N/A
bstate
->
bs_pv
.
xpv_cur
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_PV_FREE
:
/* 16 */
1
N/A
{
1
N/A
BSET_pv_free
(
bstate
->
bs_pv
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_SV_UPGRADE
:
/* 17 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
BSET_sv_upgrade
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_SV_REFCNT
:
/* 18 */
1
N/A
{
1
N/A
U32
arg
;
1
N/A
BGET_U32
(
arg
);
1
N/A
SvREFCNT
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_SV_REFCNT_ADD
:
/* 19 */
1
N/A
{
1
N/A
I32
arg
;
1
N/A
BGET_I32
(
arg
);
1
N/A
BSET_sv_refcnt_add
(
SvREFCNT
(
bstate
->
bs_sv
),
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_SV_FLAGS
:
/* 20 */
1
N/A
{
1
N/A
U32
arg
;
1
N/A
BGET_U32
(
arg
);
1
N/A
SvFLAGS
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XRV
:
/* 21 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
SvRV
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XPV
:
/* 22 */
1
N/A
{
1
N/A
BSET_xpv
(
bstate
->
bs_sv
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XPV_CUR
:
/* 23 */
1
N/A
{
1
N/A
STRLEN
arg
;
1
N/A
BGET_PADOFFSET
(
arg
);
1
N/A
SvCUR
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XPV_LEN
:
/* 24 */
1
N/A
{
1
N/A
STRLEN
arg
;
1
N/A
BGET_PADOFFSET
(
arg
);
1
N/A
SvLEN
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIV
:
/* 25 */
1
N/A
{
1
N/A
IV
arg
;
1
N/A
BGET_IV
(
arg
);
1
N/A
SvIVX
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XNV
:
/* 26 */
1
N/A
{
1
N/A
NV
arg
;
1
N/A
BGET_NV
(
arg
);
1
N/A
SvNVX
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XLV_TARGOFF
:
/* 27 */
1
N/A
{
1
N/A
STRLEN
arg
;
1
N/A
BGET_PADOFFSET
(
arg
);
1
N/A
LvTARGOFF
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XLV_TARGLEN
:
/* 28 */
1
N/A
{
1
N/A
STRLEN
arg
;
1
N/A
BGET_PADOFFSET
(
arg
);
1
N/A
LvTARGLEN
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XLV_TARG
:
/* 29 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
LvTARG
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XLV_TYPE
:
/* 30 */
1
N/A
{
1
N/A
char
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
LvTYPE
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XBM_USEFUL
:
/* 31 */
1
N/A
{
1
N/A
I32
arg
;
1
N/A
BGET_I32
(
arg
);
1
N/A
BmUSEFUL
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XBM_PREVIOUS
:
/* 32 */
1
N/A
{
1
N/A
U16
arg
;
1
N/A
BGET_U16
(
arg
);
1
N/A
BmPREVIOUS
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XBM_RARE
:
/* 33 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
BmRARE
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XFM_LINES
:
/* 34 */
1
N/A
{
1
N/A
IV
arg
;
1
N/A
BGET_IV
(
arg
);
1
N/A
FmLINES
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_LINES
:
/* 36 */
1
N/A
{
1
N/A
IV
arg
;
1
N/A
BGET_IV
(
arg
);
1
N/A
IoLINES
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_PAGE
:
/* 37 */
1
N/A
{
1
N/A
IV
arg
;
1
N/A
BGET_IV
(
arg
);
1
N/A
IoPAGE
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_PAGE_LEN
:
/* 38 */
1
N/A
{
1
N/A
IV
arg
;
1
N/A
BGET_IV
(
arg
);
1
N/A
IoPAGE_LEN
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_LINES_LEFT
:
/* 39 */
1
N/A
{
1
N/A
IV
arg
;
1
N/A
BGET_IV
(
arg
);
1
N/A
IoLINES_LEFT
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_TOP_NAME
:
/* 40 */
1
N/A
{
1
N/A
pvindex
arg
;
1
N/A
BGET_pvindex
(
arg
);
1
N/A
IoTOP_NAME
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_TOP_GV
:
/* 41 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
IoTOP_GV
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_FMT_NAME
:
/* 42 */
1
N/A
{
1
N/A
pvindex
arg
;
1
N/A
BGET_pvindex
(
arg
);
1
N/A
IoFMT_NAME
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_FMT_GV
:
/* 43 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
IoFMT_GV
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_BOTTOM_NAME
:
/* 44 */
1
N/A
{
1
N/A
pvindex
arg
;
1
N/A
BGET_pvindex
(
arg
);
1
N/A
IoBOTTOM_NAME
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_BOTTOM_GV
:
/* 45 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
IoBOTTOM_GV
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_SUBPROCESS
:
/* 46 */
1
N/A
{
1
N/A
short
arg
;
1
N/A
BGET_U16
(
arg
);
1
N/A
IoSUBPROCESS
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_TYPE
:
/* 47 */
1
N/A
{
1
N/A
char
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
IoTYPE
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XIO_FLAGS
:
/* 48 */
1
N/A
{
1
N/A
char
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
IoFLAGS
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XCV_XSUBANY
:
/* 49 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
CvXSUBANY
(
bstate
->
bs_sv
).
any_ptr
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XCV_STASH
:
/* 50 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
CvSTASH
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XCV_START
:
/* 51 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
CvSTART
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XCV_ROOT
:
/* 52 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
CvROOT
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XCV_GV
:
/* 53 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
CvGV
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XCV_FILE
:
/* 54 */
1
N/A
{
1
N/A
pvindex
arg
;
1
N/A
BGET_pvindex
(
arg
);
1
N/A
CvFILE
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XCV_DEPTH
:
/* 55 */
1
N/A
{
1
N/A
long
arg
;
1
N/A
BGET_long
(
arg
);
1
N/A
CvDEPTH
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XCV_PADLIST
:
/* 56 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
CvPADLIST
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XCV_OUTSIDE
:
/* 57 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
CvOUTSIDE
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XCV_OUTSIDE_SEQ
:
/* 58 */
1
N/A
{
1
N/A
U32
arg
;
1
N/A
BGET_U32
(
arg
);
1
N/A
CvOUTSIDE_SEQ
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XCV_FLAGS
:
/* 59 */
1
N/A
{
1
N/A
U16
arg
;
1
N/A
BGET_U16
(
arg
);
1
N/A
CvFLAGS
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_AV_EXTEND
:
/* 60 */
1
N/A
{
1
N/A
SSize_t
arg
;
1
N/A
BGET_PADOFFSET
(
arg
);
1
N/A
BSET_av_extend
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_AV_PUSHX
:
/* 61 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
BSET_av_pushx
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_AV_PUSH
:
/* 62 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
BSET_av_push
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XAV_FILL
:
/* 63 */
1
N/A
{
1
N/A
SSize_t
arg
;
1
N/A
BGET_PADOFFSET
(
arg
);
1
N/A
AvFILLp
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XAV_MAX
:
/* 64 */
1
N/A
{
1
N/A
SSize_t
arg
;
1
N/A
BGET_PADOFFSET
(
arg
);
1
N/A
AvMAX
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XAV_FLAGS
:
/* 65 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
AvFLAGS
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XHV_RITER
:
/* 66 */
1
N/A
{
1
N/A
I32
arg
;
1
N/A
BGET_I32
(
arg
);
1
N/A
HvRITER
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XHV_NAME
:
/* 67 */
1
N/A
{
1
N/A
pvindex
arg
;
1
N/A
BGET_pvindex
(
arg
);
1
N/A
HvNAME
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XHV_PMROOT
:
/* 68 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
*(
OP
**)&
HvPMROOT
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_HV_STORE
:
/* 69 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
BSET_hv_store
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_SV_MAGIC
:
/* 70 */
1
N/A
{
1
N/A
char
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
BSET_sv_magic
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_MG_OBJ
:
/* 71 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
SvMAGIC
(
bstate
->
bs_sv
)->
mg_obj
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_MG_PRIVATE
:
/* 72 */
1
N/A
{
1
N/A
U16
arg
;
1
N/A
BGET_U16
(
arg
);
1
N/A
SvMAGIC
(
bstate
->
bs_sv
)->
mg_private
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_MG_FLAGS
:
/* 73 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
SvMAGIC
(
bstate
->
bs_sv
)->
mg_flags
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_MG_NAME
:
/* 74 */
1
N/A
{
1
N/A
pvcontents
arg
;
1
N/A
BGET_pvcontents
(
arg
);
1
N/A
BSET_mg_name
(
SvMAGIC
(
bstate
->
bs_sv
),
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_MG_NAMEX
:
/* 75 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
BSET_mg_namex
(
SvMAGIC
(
bstate
->
bs_sv
),
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XMG_STASH
:
/* 76 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
SvSTASH
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GV_FETCHPV
:
/* 77 */
1
N/A
{
1
N/A
strconst
arg
;
1
N/A
BGET_strconst
(
arg
);
1
N/A
BSET_gv_fetchpv
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GV_FETCHPVX
:
/* 78 */
1
N/A
{
1
N/A
strconst
arg
;
1
N/A
BGET_strconst
(
arg
);
1
N/A
BSET_gv_fetchpvx
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GV_STASHPV
:
/* 79 */
1
N/A
{
1
N/A
strconst
arg
;
1
N/A
BGET_strconst
(
arg
);
1
N/A
BSET_gv_stashpv
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GV_STASHPVX
:
/* 80 */
1
N/A
{
1
N/A
strconst
arg
;
1
N/A
BGET_strconst
(
arg
);
1
N/A
BSET_gv_stashpvx
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GP_SV
:
/* 81 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
GvSV
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GP_REFCNT
:
/* 82 */
1
N/A
{
1
N/A
U32
arg
;
1
N/A
BGET_U32
(
arg
);
1
N/A
GvREFCNT
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GP_REFCNT_ADD
:
/* 83 */
1
N/A
{
1
N/A
I32
arg
;
1
N/A
BGET_I32
(
arg
);
1
N/A
BSET_gp_refcnt_add
(
GvREFCNT
(
bstate
->
bs_sv
),
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GP_AV
:
/* 84 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
GvAV
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GP_HV
:
/* 85 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
GvHV
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GP_CV
:
/* 86 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
GvCV
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GP_FILE
:
/* 87 */
1
N/A
{
1
N/A
pvindex
arg
;
1
N/A
BGET_pvindex
(
arg
);
1
N/A
GvFILE
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GP_IO
:
/* 88 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
GvIOp
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GP_FORM
:
/* 89 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
GvFORM
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GP_CVGEN
:
/* 90 */
1
N/A
{
1
N/A
U32
arg
;
1
N/A
BGET_U32
(
arg
);
1
N/A
GvCVGEN
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GP_LINE
:
/* 91 */
1
N/A
{
1
N/A
line_t
arg
;
1
N/A
BGET_U32
(
arg
);
1
N/A
GvLINE
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_GP_SHARE
:
/* 92 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
BSET_gp_share
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XGV_FLAGS
:
/* 93 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
GvFLAGS
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_NEXT
:
/* 94 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
PL_op
->
op_next
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_SIBLING
:
/* 95 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
PL_op
->
op_sibling
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PPADDR
:
/* 96 */
1
N/A
{
1
N/A
strconst
arg
;
1
N/A
BGET_strconst
(
arg
);
1
N/A
BSET_op_ppaddr
(
PL_op
->
op_ppaddr
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_TARG
:
/* 97 */
1
N/A
{
1
N/A
PADOFFSET
arg
;
1
N/A
BGET_PADOFFSET
(
arg
);
1
N/A
PL_op
->
op_targ
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_TYPE
:
/* 98 */
1
N/A
{
1
N/A
OPCODE
arg
;
1
N/A
BGET_U16
(
arg
);
1
N/A
BSET_op_type
(
PL_op
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_SEQ
:
/* 99 */
1
N/A
{
1
N/A
U16
arg
;
1
N/A
BGET_U16
(
arg
);
1
N/A
PL_op
->
op_seq
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_FLAGS
:
/* 100 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
PL_op
->
op_flags
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PRIVATE
:
/* 101 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
PL_op
->
op_private
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_FIRST
:
/* 102 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
cUNOP
->
op_first
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_LAST
:
/* 103 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
cBINOP
->
op_last
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_OTHER
:
/* 104 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
cLOGOP
->
op_other
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PMREPLROOT
:
/* 105 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
cPMOP
->
op_pmreplroot
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PMREPLSTART
:
/* 106 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
cPMOP
->
op_pmreplstart
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PMNEXT
:
/* 107 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
*(
OP
**)&
cPMOP
->
op_pmnext
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
#
ifdef
USE_ITHREADS
1
N/A
case
INSN_OP_PMSTASHPV
:
/* 108 */
1
N/A
{
1
N/A
pvindex
arg
;
1
N/A
BGET_pvindex
(
arg
);
1
N/A
BSET_op_pmstashpv
(
cPMOP
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PMREPLROOTPO
:
/* 109 */
1
N/A
{
1
N/A
PADOFFSET
arg
;
1
N/A
BGET_PADOFFSET
(
arg
);
1
N/A
cPMOP
->
op_pmreplroot
= (
OP
*)
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
#
else
1
N/A
case
INSN_OP_PMSTASH
:
/* 110 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
cPMOP
->
op_pmstash
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PMREPLROOTGV
:
/* 111 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
cPMOP
->
op_pmreplroot
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
#
endif
1
N/A
case
INSN_PREGCOMP
:
/* 112 */
1
N/A
{
1
N/A
pvcontents
arg
;
1
N/A
BGET_pvcontents
(
arg
);
1
N/A
BSET_pregcomp
(
PL_op
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PMFLAGS
:
/* 113 */
1
N/A
{
1
N/A
U16
arg
;
1
N/A
BGET_U16
(
arg
);
1
N/A
cPMOP
->
op_pmflags
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PMPERMFLAGS
:
/* 114 */
1
N/A
{
1
N/A
U16
arg
;
1
N/A
BGET_U16
(
arg
);
1
N/A
cPMOP
->
op_pmpermflags
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PMDYNFLAGS
:
/* 115 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
cPMOP
->
op_pmdynflags
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_SV
:
/* 116 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
cSVOP
->
op_sv
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PADIX
:
/* 117 */
1
N/A
{
1
N/A
PADOFFSET
arg
;
1
N/A
BGET_PADOFFSET
(
arg
);
1
N/A
cPADOP
->
op_padix
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PV
:
/* 118 */
1
N/A
{
1
N/A
pvcontents
arg
;
1
N/A
BGET_pvcontents
(
arg
);
1
N/A
cPVOP
->
op_pv
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_PV_TR
:
/* 119 */
1
N/A
{
1
N/A
op_tr_array
arg
;
1
N/A
BGET_op_tr_array
(
arg
);
1
N/A
cPVOP
->
op_pv
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_REDOOP
:
/* 120 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
cLOOP
->
op_redoop
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_NEXTOP
:
/* 121 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
cLOOP
->
op_nextop
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_OP_LASTOP
:
/* 122 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
cLOOP
->
op_lastop
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_COP_LABEL
:
/* 123 */
1
N/A
{
1
N/A
pvindex
arg
;
1
N/A
BGET_pvindex
(
arg
);
1
N/A
cCOP
->
cop_label
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
#
ifdef
USE_ITHREADS
1
N/A
case
INSN_COP_STASHPV
:
/* 124 */
1
N/A
{
1
N/A
pvindex
arg
;
1
N/A
BGET_pvindex
(
arg
);
1
N/A
BSET_cop_stashpv
(
cCOP
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_COP_FILE
:
/* 125 */
1
N/A
{
1
N/A
pvindex
arg
;
1
N/A
BGET_pvindex
(
arg
);
1
N/A
BSET_cop_file
(
cCOP
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
#
else
1
N/A
case
INSN_COP_STASH
:
/* 126 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
BSET_cop_stash
(
cCOP
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_COP_FILEGV
:
/* 127 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
BSET_cop_filegv
(
cCOP
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
#
endif
1
N/A
case
INSN_COP_SEQ
:
/* 128 */
1
N/A
{
1
N/A
U32
arg
;
1
N/A
BGET_U32
(
arg
);
1
N/A
cCOP
->
cop_seq
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_COP_ARYBASE
:
/* 129 */
1
N/A
{
1
N/A
I32
arg
;
1
N/A
BGET_I32
(
arg
);
1
N/A
cCOP
->
cop_arybase
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_COP_LINE
:
/* 130 */
1
N/A
{
1
N/A
line_t
arg
;
1
N/A
BGET_U32
(
arg
);
1
N/A
cCOP
->
cop_line
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_COP_IO
:
/* 131 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
cCOP
->
cop_io
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_COP_WARNINGS
:
/* 132 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
cCOP
->
cop_warnings
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_MAIN_START
:
/* 133 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
PL_main_start
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_MAIN_ROOT
:
/* 134 */
1
N/A
{
1
N/A
opindex
arg
;
1
N/A
BGET_opindex
(
arg
);
1
N/A
PL_main_root
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_MAIN_CV
:
/* 135 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
PL_main_cv
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_CURPAD
:
/* 136 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
BSET_curpad
(
PL_curpad
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_PUSH_BEGIN
:
/* 137 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
BSET_push_begin
(
PL_beginav
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_PUSH_INIT
:
/* 138 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
BSET_push_init
(
PL_initav
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_PUSH_END
:
/* 139 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
BSET_push_end
(
PL_endav
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_CURSTASH
:
/* 140 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
PL_curstash
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_DEFSTASH
:
/* 141 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
PL_defstash
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_DATA
:
/* 142 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
BSET_data
(
none
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_INCAV
:
/* 143 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
GvAV
(
PL_incgv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_LOAD_GLOB
:
/* 144 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
BSET_load_glob
(
none
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
#
ifdef
USE_ITHREADS
1
N/A
case
INSN_REGEX_PADAV
:
/* 145 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
PL_regex_padav
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
#
endif
1
N/A
case
INSN_DOWARN
:
/* 146 */
1
N/A
{
1
N/A
U8
arg
;
1
N/A
BGET_U8
(
arg
);
1
N/A
PL_dowarn
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_COMPPAD_NAME
:
/* 147 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
PL_comppad_name
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_XGV_STASH
:
/* 148 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
*(
SV
**)&
GvSTASH
(
bstate
->
bs_sv
) =
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_SIGNAL
:
/* 149 */
1
N/A
{
1
N/A
strconst
arg
;
1
N/A
BGET_strconst
(
arg
);
1
N/A
BSET_signal
(
bstate
->
bs_sv
,
arg
);
1
N/A
break
;
1
N/A
}
1
N/A
case
INSN_FORMFEED
:
/* 150 */
1
N/A
{
1
N/A
svindex
arg
;
1
N/A
BGET_svindex
(
arg
);
1
N/A
PL_formfeed
=
arg
;
1
N/A
break
;
1
N/A
}
1
N/A
default
:
1
N/A
Perl_croak
(
aTHX_
"Illegal bytecode instruction %d\n"
,
insn
);
1
N/A
/* NOTREACHED */
1
N/A
}
1
N/A
}
1
N/A
return
0;
1
N/A
}