open(ASMDATA_PM, ">ext/B/B/Asmdata.pm") or die "ext/B/B/Asmdata.pm: $!";
print ASMDATA_PM $perl_header, <<'EOT';
package B::Asmdata;
+
+our $VERSION = '1.00';
+
use Exporter;
@ISA = qw(Exporter);
@EXPORT_OK = qw(%insn_data @insn_name @optype @specialsv_name);
#define NO_XSLOCKS
#include "XSUB.h"
-#ifdef PERL_OBJECT
-#undef CALL_FPTR
-#define CALL_FPTR(fptr) (pPerl->*fptr)
-#undef PL_ppaddr
-#define PL_ppaddr (*get_ppaddr())
-#endif
-
#include "byterun.h"
#include "bytecode.h"
};
void *
-bset_obj_store(pTHXo_ struct byteloader_state *bstate, void *obj, I32 ix)
+bset_obj_store(pTHX_ struct byteloader_state *bstate, void *obj, I32 ix)
{
if (ix > bstate->bs_obj_list_fill) {
Renew(bstate->bs_obj_list, ix + 32, void*);
}
void
-byterun(pTHXo_ register struct byteloader_state *bstate)
+byterun(pTHX_ register struct byteloader_state *bstate)
{
register int insn;
U32 ix;
EOT
-for (my $i = 0; $i < @specialsv; $i++) {
+for my $i ( 0 .. $#specialsv ) {
print BYTERUN_C " specialsv_list[$i] = $specialsv[$i];\n";
}
int bl_getc(struct byteloader_fdata *);
int bl_read(struct byteloader_fdata *, char *, size_t, size_t);
-extern void byterun(pTHXo_ struct byteloader_state *);
+extern void byterun(pTHX_ struct byteloader_state *);
enum {
EOT
my $add_enum_value = 0;
my $max_insn;
-for ($i = 0; $i < @insn_name; $i++) {
+for $i ( 0 .. $#insn_name ) {
$insn = uc($insn_name[$i]);
if (defined($insn)) {
$max_insn = $i;
xbm_useful BmUSEFUL(bstate->bs_sv) I32
xbm_previous BmPREVIOUS(bstate->bs_sv) U16
xbm_rare BmRARE(bstate->bs_sv) U8
-xfm_lines FmLINES(bstate->bs_sv) I32
-xio_lines IoLINES(bstate->bs_sv) long
-xio_page IoPAGE(bstate->bs_sv) long
-xio_page_len IoPAGE_LEN(bstate->bs_sv) long
-xio_lines_left IoLINES_LEFT(bstate->bs_sv) long
+xfm_lines FmLINES(bstate->bs_sv) IV
+xio_lines IoLINES(bstate->bs_sv) IV
+xio_page IoPAGE(bstate->bs_sv) IV
+xio_page_len IoPAGE_LEN(bstate->bs_sv) IV
+xio_lines_left IoLINES_LEFT(bstate->bs_sv) IV
xio_top_name IoTOP_NAME(bstate->bs_sv) pvcontents
xio_top_gv *(SV**)&IoTOP_GV(bstate->bs_sv) svindex
xio_fmt_name IoFMT_NAME(bstate->bs_sv) pvcontents