NAME
B::Asmdata - Autogenerated data about Perl ops, used to generate bytecode
SYNOPSIS
DESCRIPTION
Provides information about Perl ops in order to generate bytecode via a bunch of exported variables. Its mostly used by B::Assembler and B::Disassembler.
- %insn_data
-
my
(
$bytecode_num
,
$put_sub
,
$get_meth
) =
@$insn_data
{
$op_name
};
For a given $op_name (for example, 'cop_label', 'sv_flags', etc...) you get an array ref containing the bytecode number of the op, a reference to the subroutine used to 'PUT', and the name of the method used to 'GET'.
- @insn_name
-
my
$op_name
=
$insn_name
[
$bytecode_num
];
A simple mapping of the bytecode number to the name of the op. Suitable for using with %insn_data like so:
my
$op_info
=
$insn_data
{
$insn_name
[
$bytecode_num
]};
- @optype
-
my
$op_type
=
$optype
[
$op_type_num
];
A simple mapping of the op type number to its type (like 'COP' or 'BINOP').
- @specialsv_name
-
my
$sv_name
=
$specialsv_name
[
$sv_index
];
Certain SV types are considered 'special'. They're represented by B::SPECIAL and are refered to by a number from the specialsv_list. This array maps that number back to the name of the SV (like 'Nullsv' or '&PL_sv_undef').
AUTHOR
Malcolm Beattie, mbeattie@sable.ox.ac.uk