		/*
		 * This file was generated automatically by ExtUtils::ParseXS version 2.10 from the
		 * contents of B.xs. Do not edit this file, edit B.xs instead.
		 *
		 *	ANY CHANGES MADE HERE WILL BE LOST! 
		 *
		 */
		
		#line 1 "B.xs"
		/*	B.xs
		 *
		 *	Copyright (c) 1996 Malcolm Beattie
		 *
		 *	You may distribute under the terms of either the GNU General Public
		 *	License or the Artistic License, as specified in the README file.
		 *
		 */
		
		#define PERL_NO_GET_CONTEXT
		#include "EXTERN.h"
		#include "perl.h"
		#include "XSUB.h"
		
		#ifdef PerlIO
		typedef PerlIO * InputStream;
		#else
		typedef FILE * InputStream;
		#endif
		
		
		static const char* const svclassnames[] = {
		    "B::NULL",
		    "B::IV",
		    "B::NV",
		    "B::RV",
		    "B::PV",
		    "B::PVIV",
		    "B::PVNV",
		    "B::PVMG",
		    "B::BM",
		#if PERL_VERSION >= 9
		    "B::GV",
		#endif
		    "B::PVLV",
		    "B::AV",
		    "B::HV",
		    "B::CV",
		#if PERL_VERSION <= 8
		    "B::GV",
		#endif
		    "B::FM",
		    "B::IO",
		};
		
		typedef enum {
		    OPc_NULL,	/* 0 */
		    OPc_BASEOP,	/* 1 */
		    OPc_UNOP,	/* 2 */
		    OPc_BINOP,	/* 3 */
		    OPc_LOGOP,	/* 4 */
		    OPc_LISTOP,	/* 5 */
		    OPc_PMOP,	/* 6 */
		    OPc_SVOP,	/* 7 */
		    OPc_PADOP,	/* 8 */
		    OPc_PVOP,	/* 9 */
		    OPc_LOOP,	/* 10 */
		    OPc_COP	/* 11 */
		} opclass;
		
		static const char* const opclassnames[] = {
		    "B::NULL",
		    "B::OP",
		    "B::UNOP",
		    "B::BINOP",
		    "B::LOGOP",
		    "B::LISTOP",
		    "B::PMOP",
		    "B::SVOP",
		    "B::PADOP",
		    "B::PVOP",
		    "B::LOOP",
		    "B::COP"	
		};
		
		static const size_t opsizes[] = {
		    0,	
		    sizeof(OP),
		    sizeof(UNOP),
		    sizeof(BINOP),
		    sizeof(LOGOP),
		    sizeof(LISTOP),
		    sizeof(PMOP),
		    sizeof(SVOP),
		    sizeof(PADOP),
		    sizeof(PVOP),
		    sizeof(LOOP),
		    sizeof(COP)	
		};
		
		#define MY_CXT_KEY "B::_guts" XS_VERSION
		
		typedef struct {
		    int		x_walkoptree_debug;	/* Flag for walkoptree debug hook */
		    SV *	x_specialsv_list[7];
		} my_cxt_t;
		
		START_MY_CXT
		
		#define walkoptree_debug	(MY_CXT.x_walkoptree_debug)
		#define specialsv_list		(MY_CXT.x_specialsv_list)
		
		static opclass
		cc_opclass(pTHX_ const OP *o)
		{
		    if (!o)
			return OPc_NULL;
		
		    if (o->op_type == 0)
			return (o->op_flags & OPf_KIDS) ? OPc_UNOP : OPc_BASEOP;
		
		    if (o->op_type == OP_SASSIGN)
			return ((o->op_private & OPpASSIGN_BACKWARDS) ? OPc_UNOP : OPc_BINOP);
		
		#ifdef USE_ITHREADS
		    if (o->op_type == OP_GV || o->op_type == OP_GVSV ||
			o->op_type == OP_AELEMFAST || o->op_type == OP_RCATLINE)
			return OPc_PADOP;
		#endif
		
		    switch (PL_opargs[o->op_type] & OA_CLASS_MASK) {
		    case OA_BASEOP:
			return OPc_BASEOP;
		
		    case OA_UNOP:
			return OPc_UNOP;
		
		    case OA_BINOP:
			return OPc_BINOP;
		
		    case OA_LOGOP:
			return OPc_LOGOP;
		
		    case OA_LISTOP:
			return OPc_LISTOP;
		
		    case OA_PMOP:
			return OPc_PMOP;
		
		    case OA_SVOP:
			return OPc_SVOP;
		
		    case OA_PADOP:
			return OPc_PADOP;
		
		    case OA_PVOP_OR_SVOP:
		        /*
		         * Character translations (tr///) are usually a PVOP, keeping a 
		         * pointer to a table of shorts used to look up translations.
		         * Under utf8, however, a simple table isn't practical; instead,
		         * the OP is an SVOP, and the SV is a reference to a swash
		         * (i.e., an RV pointing to an HV).
		         */
			return (o->op_private & (OPpTRANS_TO_UTF|OPpTRANS_FROM_UTF))
				? OPc_SVOP : OPc_PVOP;
		
		    case OA_LOOP:
			return OPc_LOOP;
		
		    case OA_COP:
			return OPc_COP;
		
		    case OA_BASEOP_OR_UNOP:
			/*
			 * UNI(OP_foo) in toke.c returns token UNI or FUNC1 depending on
			 * whether parens were seen. perly.y uses OPf_SPECIAL to
			 * signal whether a BASEOP had empty parens or none.
			 * Some other UNOPs are created later, though, so the best
			 * test is OPf_KIDS, which is set in newUNOP.
			 */
			return (o->op_flags & OPf_KIDS) ? OPc_UNOP : OPc_BASEOP;
		
		    case OA_FILESTATOP:
			/*
			 * The file stat OPs are created via UNI(OP_foo) in toke.c but use
			 * the OPf_REF flag to distinguish between OP types instead of the
			 * usual OPf_SPECIAL flag. As usual, if OPf_KIDS is set, then we
			 * return OPc_UNOP so that walkoptree can find our children. If
			 * OPf_KIDS is not set then we check OPf_REF. Without OPf_REF set
			 * (no argument to the operator) it's an OP; with OPf_REF set it's
			 * an SVOP (and op_sv is the GV for the filehandle argument).
			 */
			return ((o->op_flags & OPf_KIDS) ? OPc_UNOP :
		#ifdef USE_ITHREADS
				(o->op_flags & OPf_REF) ? OPc_PADOP : OPc_BASEOP);
		#else
				(o->op_flags & OPf_REF) ? OPc_SVOP : OPc_BASEOP);
		#endif
		    case OA_LOOPEXOP:
			/*
			 * next, last, redo, dump and goto use OPf_SPECIAL to indicate that a
			 * label was omitted (in which case it's a BASEOP) or else a term was
			 * seen. In this last case, all except goto are definitely PVOP but
			 * goto is either a PVOP (with an ordinary constant label), an UNOP
			 * with OPf_STACKED (with a non-constant non-sub) or an UNOP for
			 * OP_REFGEN (with goto &sub) in which case OPf_STACKED also seems to
			 * get set.
			 */
			if (o->op_flags & OPf_STACKED)
			    return OPc_UNOP;
			else if (o->op_flags & OPf_SPECIAL)
			    return OPc_BASEOP;
			else
			    return OPc_PVOP;
		    }
		    warn("can't determine class of operator %s, assuming BASEOP\n",
			 PL_op_name[o->op_type]);
		    return OPc_BASEOP;
		}
		
		static char *
		cc_opclassname(pTHX_ const OP *o)
		{
		    return (char *)opclassnames[cc_opclass(aTHX_ o)];
		}
		
		static SV *
		make_sv_object(pTHX_ SV *arg, SV *sv)
		{
		    const char *type = 0;
		    IV iv;
		    dMY_CXT;
		    
		    for (iv = 0; iv < sizeof(specialsv_list)/sizeof(SV*); iv++) {
			if (sv == specialsv_list[iv]) {
			    type = "B::SPECIAL";
			    break;
			}
		    }
		    if (!type) {
			type = svclassnames[SvTYPE(sv)];
			iv = PTR2IV(sv);
		    }
		    sv_setiv(newSVrv(arg, type), iv);
		    return arg;
		}
		
		static SV *
		make_mg_object(pTHX_ SV *arg, MAGIC *mg)
		{
		    sv_setiv(newSVrv(arg, "B::MAGIC"), PTR2IV(mg));
		    return arg;
		}
		
		static SV *
		cstring(pTHX_ SV *sv, bool perlstyle)
		{
		    SV *sstr = newSVpvn("", 0);
		
		    if (!SvOK(sv))
			sv_setpvn(sstr, "0", 1);
		    else if (perlstyle && SvUTF8(sv)) {
			SV *tmpsv = sv_newmortal(); /* Temporary SV to feed sv_uni_display */
			const STRLEN len = SvCUR(sv);
			const char *s = sv_uni_display(tmpsv, sv, 8*len, UNI_DISPLAY_QQ);
			sv_setpvn(sstr,"\"",1);
			while (*s)
			{
			    if (*s == '"')
				sv_catpvn(sstr, "\\\"", 2);
			    else if (*s == '$')
				sv_catpvn(sstr, "\\$", 2);
			    else if (*s == '@')
				sv_catpvn(sstr, "\\@", 2);
			    else if (*s == '\\')
			    {
				if (strchr("nrftax\\",*(s+1)))
				    sv_catpvn(sstr, s++, 2);
				else
				    sv_catpvn(sstr, "\\\\", 2);
			    }
			    else /* should always be printable */
				sv_catpvn(sstr, s, 1);
			    ++s;
			}
			sv_catpv(sstr, "\"");
			return sstr;
		    }
		    else
		    {
			/* XXX Optimise? */
			STRLEN len;
			const char *s = SvPV(sv, len);
			sv_catpv(sstr, "\"");
			for (; len; len--, s++)
			{
			    /* At least try a little for readability */
			    if (*s == '"')
				sv_catpv(sstr, "\\\"");
			    else if (*s == '\\')
				sv_catpv(sstr, "\\\\");
		            /* trigraphs - bleagh */
		            else if (!perlstyle && *s == '?' && len>=3 && s[1] == '?') {
				char escbuff[5]; /* to fit backslash, 3 octals + trailing \0 */
		                sprintf(escbuff, "\\%03o", '?');
		                sv_catpv(sstr, escbuff);
		            }
			    else if (perlstyle && *s == '$')
				sv_catpv(sstr, "\\$");
			    else if (perlstyle && *s == '@')
				sv_catpv(sstr, "\\@");
		#ifdef EBCDIC
			    else if (isPRINT(*s))
		#else
			    else if (*s >= ' ' && *s < 127)
		#endif /* EBCDIC */
				sv_catpvn(sstr, s, 1);
			    else if (*s == '\n')
				sv_catpv(sstr, "\\n");
			    else if (*s == '\r')
				sv_catpv(sstr, "\\r");
			    else if (*s == '\t')
				sv_catpv(sstr, "\\t");
			    else if (*s == '\a')
				sv_catpv(sstr, "\\a");
			    else if (*s == '\b')
				sv_catpv(sstr, "\\b");
			    else if (*s == '\f')
				sv_catpv(sstr, "\\f");
			    else if (!perlstyle && *s == '\v')
				sv_catpv(sstr, "\\v");
			    else
			    {
				/* Don't want promotion of a signed -1 char in sprintf args */
				char escbuff[5]; /* to fit backslash, 3 octals + trailing \0 */
				const unsigned char c = (unsigned char) *s;
				sprintf(escbuff, "\\%03o", c);
				sv_catpv(sstr, escbuff);
			    }
			    /* XXX Add line breaks if string is long */
			}
			sv_catpv(sstr, "\"");
		    }
		    return sstr;
		}
		
		static SV *
		cchar(pTHX_ SV *sv)
		{
		    SV *sstr = newSVpvn("'", 1);
		    const char *s = SvPV_nolen(sv);
		
		    if (*s == '\'')
			sv_catpvn(sstr, "\\'", 2);
		    else if (*s == '\\')
			sv_catpvn(sstr, "\\\\", 2);
		#ifdef EBCDIC
		    else if (isPRINT(*s))
		#else
		    else if (*s >= ' ' && *s < 127)
		#endif /* EBCDIC */
			sv_catpvn(sstr, s, 1);
		    else if (*s == '\n')
			sv_catpvn(sstr, "\\n", 2);
		    else if (*s == '\r')
			sv_catpvn(sstr, "\\r", 2);
		    else if (*s == '\t')
			sv_catpvn(sstr, "\\t", 2);
		    else if (*s == '\a')
			sv_catpvn(sstr, "\\a", 2);
		    else if (*s == '\b')
			sv_catpvn(sstr, "\\b", 2);
		    else if (*s == '\f')
			sv_catpvn(sstr, "\\f", 2);
		    else if (*s == '\v')
			sv_catpvn(sstr, "\\v", 2);
		    else
		    {
			/* no trigraph support */
			char escbuff[5]; /* to fit backslash, 3 octals + trailing \0 */
			/* Don't want promotion of a signed -1 char in sprintf args */
			unsigned char c = (unsigned char) *s;
			sprintf(escbuff, "\\%03o", c);
			sv_catpv(sstr, escbuff);
		    }
		    sv_catpvn(sstr, "'", 1);
		    return sstr;
		}
		
		static void
		walkoptree(pTHX_ SV *opsv, const char *method)
		{
		    dSP;
		    OP *o, *kid;
		    dMY_CXT;
		
		    if (!SvROK(opsv))
			croak("opsv is not a reference");
		    opsv = sv_mortalcopy(opsv);
		    o = INT2PTR(OP*,SvIV((SV*)SvRV(opsv)));
		    if (walkoptree_debug) {
			PUSHMARK(sp);
			XPUSHs(opsv);
			PUTBACK;
			perl_call_method("walkoptree_debug", G_DISCARD);
		    }
		    PUSHMARK(sp);
		    XPUSHs(opsv);
		    PUTBACK;
		    perl_call_method(method, G_DISCARD);
		    if (o && (o->op_flags & OPf_KIDS)) {
			for (kid = ((UNOP*)o)->op_first; kid; kid = kid->op_sibling) {
			    /* Use the same opsv. Rely on methods not to mess it up. */
			    sv_setiv(newSVrv(opsv, cc_opclassname(aTHX_ kid)), PTR2IV(kid));
			    walkoptree(aTHX_ opsv, method);
			}
		    }
		    if (o && (cc_opclass(aTHX_ o) == OPc_PMOP) && o->op_type != OP_PUSHRE
			    && (kid = cPMOPo->op_pmreplroot))
		    {
			sv_setiv(newSVrv(opsv, cc_opclassname(aTHX_ kid)), PTR2IV(kid));
			walkoptree(aTHX_ opsv, method);
		    }
		}
		
		static SV **
		oplist(pTHX_ OP *o, SV **SP)
		{
		    for(; o; o = o->op_next) {
			SV *opsv;
		#if PERL_VERSION >= 9
			if (o->op_opt == 0)
			    break;
			o->op_opt = 0;
		#else
			if (o->op_seq == 0)
			    break;
			o->op_seq = 0;
		#endif
			opsv = sv_newmortal();
			sv_setiv(newSVrv(opsv, cc_opclassname(aTHX_ (OP*)o)), PTR2IV(o));
			XPUSHs(opsv);
		        switch (o->op_type) {
			case OP_SUBST:
		            SP = oplist(aTHX_ cPMOPo->op_pmreplstart, SP);
		            continue;
			case OP_SORT:
			    if (o->op_flags & OPf_STACKED && o->op_flags & OPf_SPECIAL) {
				OP *kid = cLISTOPo->op_first->op_sibling;   /* pass pushmark */
				kid = kUNOP->op_first;                      /* pass rv2gv */
				kid = kUNOP->op_first;                      /* pass leave */
				SP = oplist(aTHX_ kid->op_next, SP);
			    }
			    continue;
		        }
			switch (PL_opargs[o->op_type] & OA_CLASS_MASK) {
			case OA_LOGOP:
			    SP = oplist(aTHX_ cLOGOPo->op_other, SP);
			    break;
			case OA_LOOP:
			    SP = oplist(aTHX_ cLOOPo->op_lastop, SP);
			    SP = oplist(aTHX_ cLOOPo->op_nextop, SP);
			    SP = oplist(aTHX_ cLOOPo->op_redoop, SP);
			    break;
			}
		    }
		    return SP;
		}
		
		typedef OP	*B__OP;
		typedef UNOP	*B__UNOP;
		typedef BINOP	*B__BINOP;
		typedef LOGOP	*B__LOGOP;
		typedef LISTOP	*B__LISTOP;
		typedef PMOP	*B__PMOP;
		typedef SVOP	*B__SVOP;
		typedef PADOP	*B__PADOP;
		typedef PVOP	*B__PVOP;
		typedef LOOP	*B__LOOP;
		typedef COP	*B__COP;
		
		typedef SV	*B__SV;
		typedef SV	*B__IV;
		typedef SV	*B__PV;
		typedef SV	*B__NV;
		typedef SV	*B__PVMG;
		typedef SV	*B__PVLV;
		typedef SV	*B__BM;
		typedef SV	*B__RV;
		typedef SV	*B__FM;
		typedef AV	*B__AV;
		typedef HV	*B__HV;
		typedef CV	*B__CV;
		typedef GV	*B__GV;
		typedef IO	*B__IO;
		
		typedef MAGIC	*B__MAGIC;
		
		#ifndef PERL_UNUSED_VAR
		#  define PERL_UNUSED_VAR(var) if (0) var = var
		#endif
		
		#line 503 "B.c"
		#define B_main_cv()	PL_main_cv
		#define B_init_av()	PL_initav
		#define B_inc_gv()	PL_incgv
		#define B_check_av()	PL_checkav_save
		#define B_begin_av()	PL_beginav_save
		#define B_end_av()	PL_endav
		#define B_main_root()	PL_main_root
		#define B_main_start()	PL_main_start
		#define B_amagic_generation()	PL_amagic_generation
		#define B_defstash()	PL_defstash
		#define B_curstash()	PL_curstash
		#define B_dowarn()	PL_dowarn
		#define B_comppadlist()	(PL_main_cv ? CvPADLIST(PL_main_cv) : CvPADLIST(PL_compcv))
		#define B_sv_undef()	&PL_sv_undef
		#define B_sv_yes()	&PL_sv_yes
		#define B_sv_no()	&PL_sv_no
		#define B_formfeed()	PL_formfeed
		#ifdef USE_ITHREADS
		#define B_regex_padav()	PL_regex_padav
		#endif
		
		XS(XS_B_init_av); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_init_av)
          25    {
          25        dXSARGS;
          25        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::init_av()");
          25        PERL_UNUSED_VAR(cv); /* -W */
		    {
          25    	B__AV	RETVAL;
		
          25    	RETVAL = B_init_av();
          25    	ST(0) = sv_newmortal();
          25    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
          25        XSRETURN(1);
		}
		
		
		XS(XS_B_check_av); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_check_av)
           8    {
           8        dXSARGS;
           8        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::check_av()");
           8        PERL_UNUSED_VAR(cv); /* -W */
		    {
           8    	B__AV	RETVAL;
		
           8    	RETVAL = B_check_av();
           8    	ST(0) = sv_newmortal();
           8    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
           8        XSRETURN(1);
		}
		
		
		XS(XS_B_begin_av); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_begin_av)
          27    {
          27        dXSARGS;
          27        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::begin_av()");
          27        PERL_UNUSED_VAR(cv); /* -W */
		    {
          27    	B__AV	RETVAL;
		
          27    	RETVAL = B_begin_av();
          27    	ST(0) = sv_newmortal();
          27    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
          27        XSRETURN(1);
		}
		
		
		XS(XS_B_end_av); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_end_av)
          25    {
          25        dXSARGS;
          25        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::end_av()");
          25        PERL_UNUSED_VAR(cv); /* -W */
		    {
          25    	B__AV	RETVAL;
		
          25    	RETVAL = B_end_av();
          25    	ST(0) = sv_newmortal();
          25    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
          25        XSRETURN(1);
		}
		
		
		XS(XS_B_inc_gv); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_inc_gv)
      ######    {
      ######        dXSARGS;
      ######        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::inc_gv()");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__GV	RETVAL;
		
      ######    	RETVAL = B_inc_gv();
      ######    	ST(0) = sv_newmortal();
      ######    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
      ######        XSRETURN(1);
		}
		
		#ifdef USE_ITHREADS
		#define XSubPPtmpAAAA 1
		
		
		XS(XS_B_regex_padav); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_regex_padav)
		{
		    dXSARGS;
		    if (items != 0)
			Perl_croak(aTHX_ "Usage: B::regex_padav()");
		    PERL_UNUSED_VAR(cv); /* -W */
		    {
			B__AV	RETVAL;
		
			RETVAL = B_regex_padav();
			ST(0) = sv_newmortal();
			make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
		    XSRETURN(1);
		}
		
		#endif
		
		XS(XS_B_main_cv); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_main_cv)
          48    {
          48        dXSARGS;
          48        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::main_cv()");
          48        PERL_UNUSED_VAR(cv); /* -W */
		    {
          48    	B__CV	RETVAL;
		
          48    	RETVAL = B_main_cv();
          48    	ST(0) = sv_newmortal();
          48    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
          48        XSRETURN(1);
		}
		
		
		XS(XS_B_main_root); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_main_root)
          80    {
          80        dXSARGS;
          80        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::main_root()");
          80        PERL_UNUSED_VAR(cv); /* -W */
		    {
          80    	B__OP	RETVAL;
		
          80    	RETVAL = B_main_root();
          80    	ST(0) = sv_newmortal();
          80    	sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ (OP*)RETVAL)), PTR2IV(RETVAL));
		
		    }
          80        XSRETURN(1);
		}
		
		
		XS(XS_B_main_start); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_main_start)
          76    {
          76        dXSARGS;
          76        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::main_start()");
          76        PERL_UNUSED_VAR(cv); /* -W */
		    {
          76    	B__OP	RETVAL;
		
          76    	RETVAL = B_main_start();
          76    	ST(0) = sv_newmortal();
          76    	sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ (OP*)RETVAL)), PTR2IV(RETVAL));
		
		    }
          76        XSRETURN(1);
		}
		
		
		XS(XS_B_amagic_generation); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_amagic_generation)
      ######    {
      ######        dXSARGS;
      ######        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::amagic_generation()");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	long	RETVAL;
      ######    	dXSTARG;
		
      ######    	RETVAL = B_amagic_generation();
      ######    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B_comppadlist); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_comppadlist)
          23    {
          23        dXSARGS;
          23        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::comppadlist()");
          23        PERL_UNUSED_VAR(cv); /* -W */
		    {
          23    	B__AV	RETVAL;
		
          23    	RETVAL = B_comppadlist();
          23    	ST(0) = sv_newmortal();
          23    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
          23        XSRETURN(1);
		}
		
		
		XS(XS_B_sv_undef); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_sv_undef)
      ######    {
      ######        dXSARGS;
      ######        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::sv_undef()");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__SV	RETVAL;
		
      ######    	RETVAL = B_sv_undef();
      ######    	ST(0) = sv_newmortal();
      ######    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B_sv_yes); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_sv_yes)
      ######    {
      ######        dXSARGS;
      ######        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::sv_yes()");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__SV	RETVAL;
		
      ######    	RETVAL = B_sv_yes();
      ######    	ST(0) = sv_newmortal();
      ######    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B_sv_no); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_sv_no)
      ######    {
      ######        dXSARGS;
      ######        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::sv_no()");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__SV	RETVAL;
		
      ######    	RETVAL = B_sv_no();
      ######    	ST(0) = sv_newmortal();
      ######    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B_curstash); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_curstash)
      ######    {
      ######        dXSARGS;
      ######        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::curstash()");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__HV	RETVAL;
		
      ######    	RETVAL = B_curstash();
      ######    	ST(0) = sv_newmortal();
      ######    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B_defstash); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_defstash)
          38    {
          38        dXSARGS;
          38        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::defstash()");
          38        PERL_UNUSED_VAR(cv); /* -W */
		    {
          38    	B__HV	RETVAL;
		
          38    	RETVAL = B_defstash();
          38    	ST(0) = sv_newmortal();
          38    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
          38        XSRETURN(1);
		}
		
		
		XS(XS_B_dowarn); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_dowarn)
          19    {
          19        dXSARGS;
          19        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::dowarn()");
          19        PERL_UNUSED_VAR(cv); /* -W */
		    {
          19    	U8	RETVAL;
          19    	dXSTARG;
		
          19    	RETVAL = B_dowarn();
          19    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
          19        XSRETURN(1);
		}
		
		
		XS(XS_B_formfeed); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_formfeed)
      ######    {
      ######        dXSARGS;
      ######        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::formfeed()");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__SV	RETVAL;
		
      ######    	RETVAL = B_formfeed();
      ######    	ST(0) = sv_newmortal();
      ######    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B_warnhook); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_warnhook)
          19    {
          19        dXSARGS;
          19        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::warnhook()");
          19        PERL_UNUSED_VAR(cv); /* -W */
		    {
		#line 593 "B.xs"
			ST(0) = make_sv_object(aTHX_ sv_newmortal(), PL_warnhook);
		#line 893 "B.c"
		    }
          19        XSRETURN(1);
		}
		
		
		XS(XS_B_diehook); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_diehook)
      ######    {
      ######        dXSARGS;
      ######        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::diehook()");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
		#line 598 "B.xs"
			ST(0) = make_sv_object(aTHX_ sv_newmortal(), PL_diehook);
		#line 909 "B.c"
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B_walkoptree); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_walkoptree)
           1    {
           1        dXSARGS;
           1        if (items != 2)
      ######    	Perl_croak(aTHX_ "Usage: B::walkoptree(opsv, method)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	SV *	opsv = ST(0);
           1    	const char *	method = (const char *)SvPV_nolen(ST(1));
		#line 607 "B.xs"
			walkoptree(aTHX_ opsv, method);
		#line 927 "B.c"
		    }
           1        XSRETURN_EMPTY;
		}
		
		
		XS(XS_B_walkoptree_debug); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_walkoptree_debug)
      ######    {
      ######        dXSARGS;
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	int	RETVAL;
      ######    	dXSTARG;
		#line 612 "B.xs"
			dMY_CXT;
			RETVAL = walkoptree_debug;
			if (items > 0 && SvTRUE(ST(1)))
			    walkoptree_debug = 1;
		#line 946 "B.c"
      ######    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		#define address(sv) PTR2IV(sv)
		
		XS(XS_B_address); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_address)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::address(sv)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	SV *	sv = ST(0);
      ######    	IV	RETVAL;
      ######    	dXSTARG;
		
      ######    	RETVAL = address(sv);
      ######    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B_svref_2object); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_svref_2object)
        2793    {
        2793        dXSARGS;
        2793        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::svref_2object(sv)");
        2793        PERL_UNUSED_VAR(cv); /* -W */
		    {
        2793    	SV *	sv = ST(0);
        2793    	B__SV	RETVAL;
		#line 629 "B.xs"
			if (!SvROK(sv))
			    croak("argument is not a reference");
			RETVAL = (SV*)SvRV(sv);
		#line 987 "B.c"
        2792    	ST(0) = sv_newmortal();
        2792    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
        2792        XSRETURN(1);
		}
		
		
		XS(XS_B_opnumber); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_opnumber)
          26    {
          26        dXSARGS;
          26        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::opnumber(name)");
          26        PERL_UNUSED_VAR(cv); /* -W */
		    {
          26    	const char *	name = (const char *)SvPV_nolen(ST(0));
		#line 639 "B.xs"
		{
		 int i; 
		 IV  result = -1;
		 ST(0) = sv_newmortal();
		 if (strncmp(name,"pp_",3) == 0)
		   name += 3;
		 for (i = 0; i < PL_maxo; i++)
		  {
		   if (strcmp(name, PL_op_name[i]) == 0)
		    {
		     result = i;
		     break;
		    }
		  }
		 sv_setiv(ST(0),result);
		}
		#line 1023 "B.c"
		    }
          26        XSRETURN(1);
		}
		
		
		XS(XS_B_ppname); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_ppname)
        9941    {
        9941        dXSARGS;
        9941        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::ppname(opnum)");
        9941        PERL_UNUSED_VAR(cv); /* -W */
		    {
        9941    	int	opnum = (int)SvIV(ST(0));
		#line 660 "B.xs"
			ST(0) = sv_newmortal();
			if (opnum >= 0 && opnum < PL_maxo) {
			    sv_setpvn(ST(0), "pp_", 3);
			    sv_catpv(ST(0), PL_op_name[opnum]);
			}
		#line 1044 "B.c"
		    }
        9941        XSRETURN(1);
		}
		
		
		XS(XS_B_hash); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_hash)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::hash(sv)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	SV *	sv = ST(0);
		#line 670 "B.xs"
			STRLEN len;
			U32 hash = 0;
			char hexhash[19]; /* must fit "0xffffffffffffffff" plus trailing \0 */
			const char *s = SvPV(sv, len);
			PERL_HASH(hash, s, len);
			sprintf(hexhash, "0x%"UVxf, (UV)hash);
			ST(0) = sv_2mortal(newSVpv(hexhash, 0));
		#line 1067 "B.c"
		    }
      ######        XSRETURN(1);
		}
		
		#define cast_I32(foo) (I32)foo
		
		XS(XS_B_cast_I32); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_cast_I32)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::cast_I32(i)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	IV	i = (IV)SvIV(ST(0));
      ######    	IV	RETVAL;
      ######    	dXSTARG;
		
      ######    	RETVAL = cast_I32(i);
      ######    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B_minus_c); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_minus_c)
          79    {
          79        dXSARGS;
          79        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::minus_c()");
          79        PERL_UNUSED_VAR(cv); /* -W */
		    {
		#line 686 "B.xs"
			PL_minus_c = TRUE;
		#line 1103 "B.c"
		    }
          79        XSRETURN_EMPTY;
		}
		
		
		XS(XS_B_save_BEGINs); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_save_BEGINs)
          79    {
          79        dXSARGS;
          79        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::save_BEGINs()");
          79        PERL_UNUSED_VAR(cv); /* -W */
		    {
		#line 691 "B.xs"
			PL_savebegin = TRUE;
		#line 1119 "B.c"
		    }
          79        XSRETURN_EMPTY;
		}
		
		
		XS(XS_B_cstring); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_cstring)
        3837    {
        3837        dXSARGS;
        3837        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::cstring(sv)");
        3837        PERL_UNUSED_VAR(cv); /* -W */
		    {
        3837    	SV *	sv = ST(0);
        3837    	SV *	RETVAL;
		#line 697 "B.xs"
			RETVAL = cstring(aTHX_ sv, 0);
		#line 1137 "B.c"
        3837    	ST(0) = RETVAL;
        3837    	sv_2mortal(ST(0));
		    }
        3837        XSRETURN(1);
		}
		
		
		XS(XS_B_perlstring); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_perlstring)
           3    {
           3        dXSARGS;
           3        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::perlstring(sv)");
           3        PERL_UNUSED_VAR(cv); /* -W */
		    {
           3    	SV *	sv = ST(0);
           3    	SV *	RETVAL;
		#line 705 "B.xs"
			RETVAL = cstring(aTHX_ sv, 1);
		#line 1157 "B.c"
           3    	ST(0) = RETVAL;
           3    	sv_2mortal(ST(0));
		    }
           3        XSRETURN(1);
		}
		
		
		XS(XS_B_cchar); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_cchar)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::cchar(sv)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	SV *	sv = ST(0);
      ######    	SV *	RETVAL;
		#line 713 "B.xs"
			RETVAL = cchar(aTHX_ sv);
		#line 1177 "B.c"
      ######    	ST(0) = RETVAL;
      ######    	sv_2mortal(ST(0));
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B_threadsv_names); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B_threadsv_names)
           2    {
           2        dXSARGS;
           2        if (items != 0)
      ######    	Perl_croak(aTHX_ "Usage: B::threadsv_names()");
           2        PERL_UNUSED_VAR(cv); /* -W */
           2        PERL_UNUSED_VAR(ax); /* -Wall */
           2        SP -= items;
		    {
		#line 720 "B.xs"
		#if PERL_VERSION <= 8
		# ifdef USE_5005THREADS
			int i;
			const STRLEN len = strlen(PL_threadsv_names);
		
			EXTEND(sp, len);
			for (i = 0; i < len; i++)
			    PUSHs(sv_2mortal(newSVpvn(&PL_threadsv_names[i], 1)));
		# endif
		#endif
		#line 1206 "B.c"
           2    	PUTBACK;
			return;
		    }
		}
		
		#define OP_next(o)	o->op_next
		#define OP_sibling(o)	o->op_sibling
		#define OP_desc(o)	(char *)PL_op_desc[o->op_type]
		#define OP_targ(o)	o->op_targ
		#define OP_type(o)	o->op_type
		#if PERL_VERSION >= 9
		#  define OP_opt(o)	o->op_opt
		#  define OP_static(o)	o->op_static
		#else
		#  define OP_seq(o)	o->op_seq
		#endif
		#define OP_flags(o)	o->op_flags
		#define OP_private(o)	o->op_private
		#define OP_spare(o)	o->op_spare
		
		XS(XS_B__OP_size); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_size)
         315    {
         315        dXSARGS;
         315        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::size(o)");
         315        PERL_UNUSED_VAR(cv); /* -W */
		    {
         315    	B__OP	o;
         315    	size_t	RETVAL;
         315    	dXSTARG;
		
         315    	if (SvROK(ST(0))) {
         315    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         315    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		#line 752 "B.xs"
			RETVAL = opsizes[cc_opclass(aTHX_ o)];
		#line 1247 "B.c"
         315    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
         315        XSRETURN(1);
		}
		
		
		XS(XS_B__OP_next); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_next)
      126712    {
      126712        dXSARGS;
      126712        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::next(o)");
      126712        PERL_UNUSED_VAR(cv); /* -W */
		    {
      126712    	B__OP	o;
      126712    	B__OP	RETVAL;
		
      126712    	if (SvROK(ST(0))) {
      126712    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      126712    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
      126712    	RETVAL = OP_next(o);
      126712    	ST(0) = sv_newmortal();
      126712    	sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ (OP*)RETVAL)), PTR2IV(RETVAL));
		
		    }
      126712        XSRETURN(1);
		}
		
		
		XS(XS_B__OP_sibling); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_sibling)
       71922    {
       71922        dXSARGS;
       71922        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::sibling(o)");
       71922        PERL_UNUSED_VAR(cv); /* -W */
		    {
       71922    	B__OP	o;
       71922    	B__OP	RETVAL;
		
       71922    	if (SvROK(ST(0))) {
       71922    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       71922    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
       71922    	RETVAL = OP_sibling(o);
       71922    	ST(0) = sv_newmortal();
       71922    	sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ (OP*)RETVAL)), PTR2IV(RETVAL));
		
		    }
       71922        XSRETURN(1);
		}
		
		
		XS(XS_B__OP_name); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_name)
      117131    {
      117131        dXSARGS;
      117131        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::name(o)");
      117131        PERL_UNUSED_VAR(cv); /* -W */
		    {
      117131    	B__OP	o;
      117131    	char *	RETVAL;
      117131    	dXSTARG;
		
      117131    	if (SvROK(ST(0))) {
      117131    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      117131    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		#line 768 "B.xs"
			RETVAL = (char *)PL_op_name[o->op_type];
		#line 1328 "B.c"
      117131    	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
		    }
      117131        XSRETURN(1);
		}
		
		
		XS(XS_B__OP_ppaddr); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_ppaddr)
           4    {
           4        dXSARGS;
           4        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::ppaddr(o)");
           4        PERL_UNUSED_VAR(cv); /* -W */
		    {
           4    	B__OP	o;
		#line 777 "B.xs"
			int i;
			SV *sv = sv_newmortal();
		#line 1347 "B.c"
		
           4    	if (SvROK(ST(0))) {
           4    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           4    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		#line 780 "B.xs"
			sv_setpvn(sv, "PL_ppaddr[OP_", 13);
			sv_catpv(sv, PL_op_name[o->op_type]);
			for (i=13; (STRLEN)i < SvCUR(sv); ++i)
			    SvPVX(sv)[i] = toUPPER(SvPVX(sv)[i]);
			sv_catpv(sv, "]");
			ST(0) = sv;
		#line 1362 "B.c"
		    }
           4        XSRETURN(1);
		}
		
		
		XS(XS_B__OP_desc); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_desc)
           2    {
           2        dXSARGS;
           2        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::desc(o)");
           2        PERL_UNUSED_VAR(cv); /* -W */
		    {
           2    	B__OP	o;
           2    	char *	RETVAL;
           2    	dXSTARG;
		
           2    	if (SvROK(ST(0))) {
           2    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           2    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
           2    	RETVAL = OP_desc(o);
           2    	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
		    }
           2        XSRETURN(1);
		}
		
		
		XS(XS_B__OP_targ); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_targ)
       38942    {
       38942        dXSARGS;
       38942        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::targ(o)");
       38942        PERL_UNUSED_VAR(cv); /* -W */
		    {
       38942    	B__OP	o;
       38942    	PADOFFSET	RETVAL;
       38942    	dXSTARG;
		
       38942    	if (SvROK(ST(0))) {
       38942    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       38942    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
       38942    	RETVAL = OP_targ(o);
       38942    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
       38942        XSRETURN(1);
		}
		
		
		XS(XS_B__OP_type); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_type)
       62626    {
       62626        dXSARGS;
       62626        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::type(o)");
       62626        PERL_UNUSED_VAR(cv); /* -W */
		    {
       62626    	B__OP	o;
       62626    	U16	RETVAL;
       62626    	dXSTARG;
		
       62626    	if (SvROK(ST(0))) {
       62626    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       62626    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
       62626    	RETVAL = OP_type(o);
       62626    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
       62626        XSRETURN(1);
		}
		
		#if PERL_VERSION >= 9
		#define XSubPPtmpAAAB 1
		
		
		XS(XS_B__OP_opt); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_opt)
       31000    {
       31000        dXSARGS;
       31000        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::opt(o)");
       31000        PERL_UNUSED_VAR(cv); /* -W */
		    {
       31000    	B__OP	o;
       31000    	U8	RETVAL;
       31000    	dXSTARG;
		
       31000    	if (SvROK(ST(0))) {
       31000    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       31000    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
       31000    	RETVAL = OP_opt(o);
       31000    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
       31000        XSRETURN(1);
		}
		
		
		XS(XS_B__OP_static); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_static)
       31000    {
       31000        dXSARGS;
       31000        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::static(o)");
       31000        PERL_UNUSED_VAR(cv); /* -W */
		    {
       31000    	B__OP	o;
       31000    	U8	RETVAL;
       31000    	dXSTARG;
		
       31000    	if (SvROK(ST(0))) {
       31000    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       31000    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
       31000    	RETVAL = OP_static(o);
       31000    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
       31000        XSRETURN(1);
		}
		
		#else
		#define XSubPPtmpAAAC 1
		
		
		XS(XS_B__OP_seq); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_seq)
		{
		    dXSARGS;
		    if (items != 1)
			Perl_croak(aTHX_ "Usage: B::OP::seq(o)");
		    PERL_UNUSED_VAR(cv); /* -W */
		    {
			B__OP	o;
			U16	RETVAL;
			dXSTARG;
		
			if (SvROK(ST(0))) {
			    IV tmp = SvIV((SV*)SvRV(ST(0)));
			    o = INT2PTR(B__OP,tmp);
			}
			else
			    croak("o is not a reference");
		
			RETVAL = OP_seq(o);
			XSprePUSH; PUSHu((UV)RETVAL);
		    }
		    XSRETURN(1);
		}
		
		#endif
		
		XS(XS_B__OP_flags); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_flags)
      105541    {
      105541        dXSARGS;
      105541        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::flags(o)");
      105541        PERL_UNUSED_VAR(cv); /* -W */
		    {
      105541    	B__OP	o;
      105541    	U8	RETVAL;
      105541    	dXSTARG;
		
      105541    	if (SvROK(ST(0))) {
      105541    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      105541    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
      105541    	RETVAL = OP_flags(o);
      105541    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
      105541        XSRETURN(1);
		}
		
		
		XS(XS_B__OP_private); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_private)
       68409    {
       68409        dXSARGS;
       68409        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::private(o)");
       68409        PERL_UNUSED_VAR(cv); /* -W */
		    {
       68409    	B__OP	o;
       68409    	U8	RETVAL;
       68409    	dXSTARG;
		
       68409    	if (SvROK(ST(0))) {
       68409    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       68409    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
       68409    	RETVAL = OP_private(o);
       68409    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
       68409        XSRETURN(1);
		}
		
		#if PERL_VERSION >= 9
		#define XSubPPtmpAAAD 1
		
		
		XS(XS_B__OP_spare); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_spare)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::spare(o)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__OP	o;
      ######    	U8	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
      ######    	RETVAL = OP_spare(o);
      ######    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		#endif
		
		XS(XS_B__OP_oplist); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__OP_oplist)
          26    {
          26        dXSARGS;
          26        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::OP::oplist(o)");
          26        PERL_UNUSED_VAR(cv); /* -W */
          26        PERL_UNUSED_VAR(ax); /* -Wall */
          26        SP -= items;
		    {
          26    	B__OP	o;
		
          26    	if (SvROK(ST(0))) {
          26    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          26    	    o = INT2PTR(B__OP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		#line 837 "B.xs"
			SP = oplist(aTHX_ o, SP);
		#line 1633 "B.c"
          26    	PUTBACK;
			return;
		    }
		}
		
		#define UNOP_first(o)	o->op_first
		
		XS(XS_B__UNOP_first); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__UNOP_first)
       34864    {
       34864        dXSARGS;
       34864        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::UNOP::first(o)");
       34864        PERL_UNUSED_VAR(cv); /* -W */
		    {
       34864    	B__UNOP	o;
       34864    	B__OP	RETVAL;
		
       34864    	if (SvROK(ST(0))) {
       34864    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       34864    	    o = INT2PTR(B__UNOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
       34864    	RETVAL = UNOP_first(o);
       34864    	ST(0) = sv_newmortal();
       34864    	sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ (OP*)RETVAL)), PTR2IV(RETVAL));
		
		    }
       34864        XSRETURN(1);
		}
		
		#define BINOP_last(o)	o->op_last
		
		XS(XS_B__BINOP_last); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__BINOP_last)
        5699    {
        5699        dXSARGS;
        5699        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::BINOP::last(o)");
        5699        PERL_UNUSED_VAR(cv); /* -W */
		    {
        5699    	B__BINOP	o;
        5699    	B__OP	RETVAL;
		
        5699    	if (SvROK(ST(0))) {
        5699    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        5699    	    o = INT2PTR(B__BINOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
        5699    	RETVAL = BINOP_last(o);
        5699    	ST(0) = sv_newmortal();
        5699    	sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ (OP*)RETVAL)), PTR2IV(RETVAL));
		
		    }
        5699        XSRETURN(1);
		}
		
		#define LOGOP_other(o)	o->op_other
		
		XS(XS_B__LOGOP_other); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__LOGOP_other)
        2525    {
        2525        dXSARGS;
        2525        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::LOGOP::other(o)");
        2525        PERL_UNUSED_VAR(cv); /* -W */
		    {
        2525    	B__LOGOP	o;
        2525    	B__OP	RETVAL;
		
        2525    	if (SvROK(ST(0))) {
        2525    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        2525    	    o = INT2PTR(B__LOGOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
        2525    	RETVAL = LOGOP_other(o);
        2525    	ST(0) = sv_newmortal();
        2525    	sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ (OP*)RETVAL)), PTR2IV(RETVAL));
		
		    }
        2525        XSRETURN(1);
		}
		
		
		XS(XS_B__LISTOP_children); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__LISTOP_children)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::LISTOP::children(o)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__LISTOP	o;
           1    	OP *	kid;
           1    	int	i;
           1    	U32	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    o = INT2PTR(B__LISTOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		#line 871 "B.xs"
			i = 0;
			for (kid = o->op_first; kid; kid = kid->op_sibling)
			    i++;
			RETVAL = i;
		#line 1749 "B.c"
           1    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
           1        XSRETURN(1);
		}
		
		#define PMOP_pmreplroot(o)	o->op_pmreplroot
		#define PMOP_pmreplstart(o)	o->op_pmreplstart
		#define PMOP_pmnext(o)		o->op_pmnext
		#define PMOP_pmregexp(o)	PM_GETRE(o)
		#ifdef USE_ITHREADS
		#define PMOP_pmoffset(o)	o->op_pmoffset
		#define PMOP_pmstashpv(o)	o->op_pmstashpv
		#else
		#define PMOP_pmstash(o)		o->op_pmstash
		#endif
		#define PMOP_pmflags(o)		o->op_pmflags
		#define PMOP_pmpermflags(o)	o->op_pmpermflags
		#define PMOP_pmdynflags(o)      o->op_pmdynflags
		
		XS(XS_B__PMOP_pmreplroot); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PMOP_pmreplroot)
         194    {
         194        dXSARGS;
         194        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PMOP::pmreplroot(o)");
         194        PERL_UNUSED_VAR(cv); /* -W */
		    {
         194    	B__PMOP	o;
         194    	OP *	root;
		
         194    	if (SvROK(ST(0))) {
         194    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         194    	    o = INT2PTR(B__PMOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		#line 899 "B.xs"
			ST(0) = sv_newmortal();
			root = o->op_pmreplroot;
			/* OP_PUSHRE stores an SV* instead of an OP* in op_pmreplroot */
			if (o->op_type == OP_PUSHRE) {
		#ifdef USE_ITHREADS
		            sv_setiv(ST(0), INT2PTR(PADOFFSET,root) );
		#else
			    sv_setiv(newSVrv(ST(0), root ?
					     svclassnames[SvTYPE((SV*)root)] : "B::SV"),
				     PTR2IV(root));
		#endif
			}
			else {
			    sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ root)), PTR2IV(root));
			}
		#line 1802 "B.c"
		    }
         194        XSRETURN(1);
		}
		
		
		XS(XS_B__PMOP_pmreplstart); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PMOP_pmreplstart)
         309    {
         309        dXSARGS;
         309        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PMOP::pmreplstart(o)");
         309        PERL_UNUSED_VAR(cv); /* -W */
		    {
         309    	B__PMOP	o;
         309    	B__OP	RETVAL;
		
         309    	if (SvROK(ST(0))) {
         309    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         309    	    o = INT2PTR(B__PMOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
         309    	RETVAL = PMOP_pmreplstart(o);
         309    	ST(0) = sv_newmortal();
         309    	sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ (OP*)RETVAL)), PTR2IV(RETVAL));
		
		    }
         309        XSRETURN(1);
		}
		
		
		XS(XS_B__PMOP_pmnext); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PMOP_pmnext)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PMOP::pmnext(o)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__PMOP	o;
      ######    	B__PMOP	RETVAL;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    o = INT2PTR(B__PMOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
      ######    	RETVAL = PMOP_pmnext(o);
      ######    	ST(0) = sv_newmortal();
      ######    	sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ (OP*)RETVAL)), PTR2IV(RETVAL));
		
		    }
      ######        XSRETURN(1);
		}
		
		#ifdef USE_ITHREADS
		#define XSubPPtmpAAAE 1
		
		
		XS(XS_B__PMOP_pmoffset); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PMOP_pmoffset)
		{
		    dXSARGS;
		    if (items != 1)
			Perl_croak(aTHX_ "Usage: B::PMOP::pmoffset(o)");
		    PERL_UNUSED_VAR(cv); /* -W */
		    {
			B__PMOP	o;
			IV	RETVAL;
			dXSTARG;
		
			if (SvROK(ST(0))) {
			    IV tmp = SvIV((SV*)SvRV(ST(0)));
			    o = INT2PTR(B__PMOP,tmp);
			}
			else
			    croak("o is not a reference");
		
			RETVAL = PMOP_pmoffset(o);
			XSprePUSH; PUSHi((IV)RETVAL);
		    }
		    XSRETURN(1);
		}
		
		
		XS(XS_B__PMOP_pmstashpv); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PMOP_pmstashpv)
		{
		    dXSARGS;
		    if (items != 1)
			Perl_croak(aTHX_ "Usage: B::PMOP::pmstashpv(o)");
		    PERL_UNUSED_VAR(cv); /* -W */
		    {
			B__PMOP	o;
			char *	RETVAL;
			dXSTARG;
		
			if (SvROK(ST(0))) {
			    IV tmp = SvIV((SV*)SvRV(ST(0)));
			    o = INT2PTR(B__PMOP,tmp);
			}
			else
			    croak("o is not a reference");
		
			RETVAL = PMOP_pmstashpv(o);
			sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
		    }
		    XSRETURN(1);
		}
		
		#else
		#define XSubPPtmpAAAF 1
		
		
		XS(XS_B__PMOP_pmstash); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PMOP_pmstash)
           5    {
           5        dXSARGS;
           5        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PMOP::pmstash(o)");
           5        PERL_UNUSED_VAR(cv); /* -W */
		    {
           5    	B__PMOP	o;
           5    	B__HV	RETVAL;
		
           5    	if (SvROK(ST(0))) {
           5    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           5    	    o = INT2PTR(B__PMOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
           5    	RETVAL = PMOP_pmstash(o);
           5    	ST(0) = sv_newmortal();
           5    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
           5        XSRETURN(1);
		}
		
		#endif
		
		XS(XS_B__PMOP_pmflags); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PMOP_pmflags)
         239    {
         239        dXSARGS;
         239        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PMOP::pmflags(o)");
         239        PERL_UNUSED_VAR(cv); /* -W */
		    {
         239    	B__PMOP	o;
         239    	U32	RETVAL;
         239    	dXSTARG;
		
         239    	if (SvROK(ST(0))) {
         239    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         239    	    o = INT2PTR(B__PMOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
         239    	RETVAL = PMOP_pmflags(o);
         239    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
         239        XSRETURN(1);
		}
		
		
		XS(XS_B__PMOP_pmpermflags); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PMOP_pmpermflags)
           5    {
           5        dXSARGS;
           5        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PMOP::pmpermflags(o)");
           5        PERL_UNUSED_VAR(cv); /* -W */
		    {
           5    	B__PMOP	o;
           5    	U32	RETVAL;
           5    	dXSTARG;
		
           5    	if (SvROK(ST(0))) {
           5    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           5    	    o = INT2PTR(B__PMOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
           5    	RETVAL = PMOP_pmpermflags(o);
           5    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
           5        XSRETURN(1);
		}
		
		
		XS(XS_B__PMOP_pmdynflags); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PMOP_pmdynflags)
           5    {
           5        dXSARGS;
           5        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PMOP::pmdynflags(o)");
           5        PERL_UNUSED_VAR(cv); /* -W */
		    {
           5    	B__PMOP	o;
           5    	U8	RETVAL;
           5    	dXSTARG;
		
           5    	if (SvROK(ST(0))) {
           5    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           5    	    o = INT2PTR(B__PMOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
           5    	RETVAL = PMOP_pmdynflags(o);
           5    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
           5        XSRETURN(1);
		}
		
		
		XS(XS_B__PMOP_precomp); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PMOP_precomp)
         177    {
         177        dXSARGS;
         177        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PMOP::precomp(o)");
         177        PERL_UNUSED_VAR(cv); /* -W */
		    {
         177    	B__PMOP	o;
         177    	REGEXP *	rx;
		
         177    	if (SvROK(ST(0))) {
         177    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         177    	    o = INT2PTR(B__PMOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		#line 958 "B.xs"
			ST(0) = sv_newmortal();
			rx = PM_GETRE(o);
			if (rx)
			    sv_setpvn(ST(0), rx->precomp, rx->prelen);
		#line 2049 "B.c"
		    }
         177        XSRETURN(1);
		}
		
		#define SVOP_sv(o)     cSVOPo->op_sv
		#define SVOP_gv(o)     ((GV*)cSVOPo->op_sv)
		
		XS(XS_B__SVOP_sv); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__SVOP_sv)
       11841    {
       11841        dXSARGS;
       11841        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::SVOP::sv(o)");
       11841        PERL_UNUSED_VAR(cv); /* -W */
		    {
       11841    	B__SVOP	o;
       11841    	B__SV	RETVAL;
		
       11841    	if (SvROK(ST(0))) {
       11841    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       11841    	    o = INT2PTR(B__SVOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
       11841    	RETVAL = SVOP_sv(o);
       11841    	ST(0) = sv_newmortal();
       11841    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
       11841        XSRETURN(1);
		}
		
		
		XS(XS_B__SVOP_gv); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__SVOP_gv)
         603    {
         603        dXSARGS;
         603        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::SVOP::gv(o)");
         603        PERL_UNUSED_VAR(cv); /* -W */
		    {
         603    	B__SVOP	o;
         603    	B__GV	RETVAL;
		
         603    	if (SvROK(ST(0))) {
         603    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         603    	    o = INT2PTR(B__SVOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
         603    	RETVAL = SVOP_gv(o);
         603    	ST(0) = sv_newmortal();
         603    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
         603        XSRETURN(1);
		}
		
		#define PADOP_padix(o)	o->op_padix
		#define PADOP_sv(o)	(o->op_padix ? PAD_SVl(o->op_padix) : Nullsv)
		#define PADOP_gv(o)	((o->op_padix \
					  && SvTYPE(PAD_SVl(o->op_padix)) == SVt_PVGV) \
					 ? (GV*)PAD_SVl(o->op_padix) : Nullgv)
		
		XS(XS_B__PADOP_padix); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PADOP_padix)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PADOP::padix(o)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__PADOP	o;
      ######    	PADOFFSET	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    o = INT2PTR(B__PADOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
      ######    	RETVAL = PADOP_padix(o);
      ######    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__PADOP_sv); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PADOP_sv)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PADOP::sv(o)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__PADOP	o;
      ######    	B__SV	RETVAL;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    o = INT2PTR(B__PADOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
      ######    	RETVAL = PADOP_sv(o);
      ######    	ST(0) = sv_newmortal();
      ######    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__PADOP_gv); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PADOP_gv)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PADOP::gv(o)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__PADOP	o;
      ######    	B__GV	RETVAL;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    o = INT2PTR(B__PADOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
      ######    	RETVAL = PADOP_gv(o);
      ######    	ST(0) = sv_newmortal();
      ######    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__PVOP_pv); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PVOP_pv)
           2    {
           2        dXSARGS;
           2        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PVOP::pv(o)");
           2        PERL_UNUSED_VAR(cv); /* -W */
		    {
           2    	B__PVOP	o;
		
           2    	if (SvROK(ST(0))) {
           2    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           2    	    o = INT2PTR(B__PVOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		#line 1002 "B.xs"
			/*
			 * OP_TRANS uses op_pv to point to a table of 256 or >=258 shorts
			 * whereas other PVOPs point to a null terminated string.
			 */
			if (o->op_type == OP_TRANS &&
				(o->op_private & OPpTRANS_COMPLEMENT) &&
				!(o->op_private & OPpTRANS_DELETE))
			{
			    const short* const tbl = (short*)o->op_pv;
			    const short entries = 257 + tbl[256];
			    ST(0) = sv_2mortal(newSVpv(o->op_pv, entries * sizeof(short)));
			}
			else if (o->op_type == OP_TRANS) {
			    ST(0) = sv_2mortal(newSVpv(o->op_pv, 256 * sizeof(short)));
			}
			else
			    ST(0) = sv_2mortal(newSVpv(o->op_pv, 0));
		#line 2234 "B.c"
		    }
           2        XSRETURN(1);
		}
		
		#define LOOP_redoop(o)	o->op_redoop
		#define LOOP_nextop(o)	o->op_nextop
		#define LOOP_lastop(o)	o->op_lastop
		
		XS(XS_B__LOOP_redoop); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__LOOP_redoop)
         201    {
         201        dXSARGS;
         201        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::LOOP::redoop(o)");
         201        PERL_UNUSED_VAR(cv); /* -W */
		    {
         201    	B__LOOP	o;
         201    	B__OP	RETVAL;
		
         201    	if (SvROK(ST(0))) {
         201    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         201    	    o = INT2PTR(B__LOOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
         201    	RETVAL = LOOP_redoop(o);
         201    	ST(0) = sv_newmortal();
         201    	sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ (OP*)RETVAL)), PTR2IV(RETVAL));
		
		    }
         201        XSRETURN(1);
		}
		
		
		XS(XS_B__LOOP_nextop); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__LOOP_nextop)
         219    {
         219        dXSARGS;
         219        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::LOOP::nextop(o)");
         219        PERL_UNUSED_VAR(cv); /* -W */
		    {
         219    	B__LOOP	o;
         219    	B__OP	RETVAL;
		
         219    	if (SvROK(ST(0))) {
         219    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         219    	    o = INT2PTR(B__LOOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
         219    	RETVAL = LOOP_nextop(o);
         219    	ST(0) = sv_newmortal();
         219    	sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ (OP*)RETVAL)), PTR2IV(RETVAL));
		
		    }
         219        XSRETURN(1);
		}
		
		
		XS(XS_B__LOOP_lastop); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__LOOP_lastop)
         201    {
         201        dXSARGS;
         201        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::LOOP::lastop(o)");
         201        PERL_UNUSED_VAR(cv); /* -W */
		    {
         201    	B__LOOP	o;
         201    	B__OP	RETVAL;
		
         201    	if (SvROK(ST(0))) {
         201    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         201    	    o = INT2PTR(B__LOOP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
         201    	RETVAL = LOOP_lastop(o);
         201    	ST(0) = sv_newmortal();
         201    	sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ (OP*)RETVAL)), PTR2IV(RETVAL));
		
		    }
         201        XSRETURN(1);
		}
		
		#define COP_label(o)	o->cop_label
		#define COP_stashpv(o)	CopSTASHPV(o)
		#define COP_stash(o)	CopSTASH(o)
		#define COP_file(o)	CopFILE(o)
		#define COP_filegv(o)	CopFILEGV(o)
		#define COP_cop_seq(o)	o->cop_seq
		#define COP_arybase(o)	o->cop_arybase
		#define COP_line(o)	CopLINE(o)
		#define COP_warnings(o)	o->cop_warnings
		#define COP_io(o)	o->cop_io
		
		XS(XS_B__COP_label); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__COP_label)
        2812    {
        2812        dXSARGS;
        2812        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::COP::label(o)");
        2812        PERL_UNUSED_VAR(cv); /* -W */
		    {
        2812    	B__COP	o;
        2812    	char *	RETVAL;
        2812    	dXSTARG;
		
        2812    	if (SvROK(ST(0))) {
        2812    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        2812    	    o = INT2PTR(B__COP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
        2812    	RETVAL = COP_label(o);
        2812    	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
		    }
        2812        XSRETURN(1);
		}
		
		
		XS(XS_B__COP_stashpv); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__COP_stashpv)
         292    {
         292        dXSARGS;
         292        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::COP::stashpv(o)");
         292        PERL_UNUSED_VAR(cv); /* -W */
		    {
         292    	B__COP	o;
         292    	char *	RETVAL;
         292    	dXSTARG;
		
         292    	if (SvROK(ST(0))) {
         292    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         292    	    o = INT2PTR(B__COP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
         292    	RETVAL = COP_stashpv(o);
         292    	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
		    }
         292        XSRETURN(1);
		}
		
		
		XS(XS_B__COP_stash); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__COP_stash)
        2537    {
        2537        dXSARGS;
        2537        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::COP::stash(o)");
        2537        PERL_UNUSED_VAR(cv); /* -W */
		    {
        2537    	B__COP	o;
        2537    	B__HV	RETVAL;
		
        2537    	if (SvROK(ST(0))) {
        2537    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        2537    	    o = INT2PTR(B__COP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
        2537    	RETVAL = COP_stash(o);
        2537    	ST(0) = sv_newmortal();
        2537    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
        2537        XSRETURN(1);
		}
		
		
		XS(XS_B__COP_file); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__COP_file)
        3186    {
        3186        dXSARGS;
        3186        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::COP::file(o)");
        3186        PERL_UNUSED_VAR(cv); /* -W */
		    {
        3186    	B__COP	o;
        3186    	char *	RETVAL;
        3186    	dXSTARG;
		
        3186    	if (SvROK(ST(0))) {
        3186    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        3186    	    o = INT2PTR(B__COP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
        3186    	RETVAL = COP_file(o);
        3186    	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
		    }
        3186        XSRETURN(1);
		}
		
		
		XS(XS_B__COP_filegv); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__COP_filegv)
          48    {
          48        dXSARGS;
          48        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::COP::filegv(o)");
          48        PERL_UNUSED_VAR(cv); /* -W */
		    {
          48    	B__COP	o;
          48    	B__GV	RETVAL;
		
          48    	if (SvROK(ST(0))) {
          48    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          48    	    o = INT2PTR(B__COP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
          48    	RETVAL = COP_filegv(o);
          48    	ST(0) = sv_newmortal();
          48    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
          48        XSRETURN(1);
		}
		
		
		XS(XS_B__COP_cop_seq); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__COP_cop_seq)
        3627    {
        3627        dXSARGS;
        3627        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::COP::cop_seq(o)");
        3627        PERL_UNUSED_VAR(cv); /* -W */
		    {
        3627    	B__COP	o;
        3627    	U32	RETVAL;
        3627    	dXSTARG;
		
        3627    	if (SvROK(ST(0))) {
        3627    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        3627    	    o = INT2PTR(B__COP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
        3627    	RETVAL = COP_cop_seq(o);
        3627    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
        3627        XSRETURN(1);
		}
		
		
		XS(XS_B__COP_arybase); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__COP_arybase)
        2811    {
        2811        dXSARGS;
        2811        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::COP::arybase(o)");
        2811        PERL_UNUSED_VAR(cv); /* -W */
		    {
        2811    	B__COP	o;
        2811    	I32	RETVAL;
        2811    	dXSTARG;
		
        2811    	if (SvROK(ST(0))) {
        2811    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        2811    	    o = INT2PTR(B__COP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
        2811    	RETVAL = COP_arybase(o);
        2811    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
        2811        XSRETURN(1);
		}
		
		
		XS(XS_B__COP_line); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__COP_line)
        3234    {
        3234        dXSARGS;
        3234        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::COP::line(o)");
        3234        PERL_UNUSED_VAR(cv); /* -W */
		    {
        3234    	B__COP	o;
        3234    	U32	RETVAL;
        3234    	dXSTARG;
		
        3234    	if (SvROK(ST(0))) {
        3234    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        3234    	    o = INT2PTR(B__COP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
        3234    	RETVAL = COP_line(o);
        3234    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
        3234        XSRETURN(1);
		}
		
		
		XS(XS_B__COP_warnings); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__COP_warnings)
         340    {
         340        dXSARGS;
         340        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::COP::warnings(o)");
         340        PERL_UNUSED_VAR(cv); /* -W */
		    {
         340    	B__COP	o;
         340    	B__SV	RETVAL;
		
         340    	if (SvROK(ST(0))) {
         340    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         340    	    o = INT2PTR(B__COP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
         340    	RETVAL = COP_warnings(o);
         340    	ST(0) = sv_newmortal();
         340    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
         340        XSRETURN(1);
		}
		
		
		XS(XS_B__COP_io); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__COP_io)
          49    {
          49        dXSARGS;
          49        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::COP::io(o)");
          49        PERL_UNUSED_VAR(cv); /* -W */
		    {
          49    	B__COP	o;
          49    	B__SV	RETVAL;
		
          49    	if (SvROK(ST(0))) {
          49    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          49    	    o = INT2PTR(B__COP,tmp);
			}
			else
      ######    	    croak("o is not a reference");
		
          49    	RETVAL = COP_io(o);
          49    	ST(0) = sv_newmortal();
          49    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
          49        XSRETURN(1);
		}
		
		
		XS(XS_B__SV_SvTYPE); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__SV_SvTYPE)
       16999    {
       16999        dXSARGS;
       16999        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::SV::SvTYPE(sv)");
       16999        PERL_UNUSED_VAR(cv); /* -W */
		    {
       16999    	B__SV	sv;
       16999    	U32	RETVAL;
       16999    	dXSTARG;
		
       16999    	if (SvROK(ST(0))) {
       16999    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       16999    	    sv = INT2PTR(B__SV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
       16999    	RETVAL = SvTYPE(sv);
       16999    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
       16999        XSRETURN(1);
		}
		
		#define object_2svref(sv)	sv
		#define SVREF SV *
		
		XS(XS_B__SV_object_2svref); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__SV_object_2svref)
           5    {
           5        dXSARGS;
           5        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::SV::object_2svref(sv)");
           5        PERL_UNUSED_VAR(cv); /* -W */
		    {
           5    	B__SV	sv;
           5    	SVREF	RETVAL;
		
           5    	if (SvROK(ST(0))) {
           5    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           5    	    sv = INT2PTR(B__SV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
           5    	RETVAL = object_2svref(sv);
           5    	ST(0) = newRV((SV*)RETVAL);
           5    	sv_2mortal(ST(0));
		    }
           5        XSRETURN(1);
		}
		
		
		XS(XS_B__SV_REFCNT); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__SV_REFCNT)
         320    {
         320        dXSARGS;
         320        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::SV::REFCNT(sv)");
         320        PERL_UNUSED_VAR(cv); /* -W */
		    {
         320    	B__SV	sv;
         320    	U32	RETVAL;
         320    	dXSTARG;
		
         320    	if (SvROK(ST(0))) {
         320    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         320    	    sv = INT2PTR(B__SV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
         320    	RETVAL = SvREFCNT(sv);
         320    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
         320        XSRETURN(1);
		}
		
		
		XS(XS_B__SV_FLAGS); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__SV_FLAGS)
       19495    {
       19495        dXSARGS;
       19495        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::SV::FLAGS(sv)");
       19495        PERL_UNUSED_VAR(cv); /* -W */
		    {
       19495    	B__SV	sv;
       19495    	U32	RETVAL;
       19495    	dXSTARG;
		
       19495    	if (SvROK(ST(0))) {
       19495    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       19495    	    sv = INT2PTR(B__SV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
       19495    	RETVAL = SvFLAGS(sv);
       19495    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
       19495        XSRETURN(1);
		}
		
		
		XS(XS_B__SV_POK); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__SV_POK)
          43    {
          43        dXSARGS;
          43        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::SV::POK(sv)");
          43        PERL_UNUSED_VAR(cv); /* -W */
		    {
          43    	B__SV	sv;
          43    	U32	RETVAL;
          43    	dXSTARG;
		
          43    	if (SvROK(ST(0))) {
          43    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          43    	    sv = INT2PTR(B__SV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
          43    	RETVAL = SvPOK(sv);
          43    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
          43        XSRETURN(1);
		}
		
		
		XS(XS_B__SV_ROK); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__SV_ROK)
          30    {
          30        dXSARGS;
          30        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::SV::ROK(sv)");
          30        PERL_UNUSED_VAR(cv); /* -W */
		    {
          30    	B__SV	sv;
          30    	U32	RETVAL;
          30    	dXSTARG;
		
          30    	if (SvROK(ST(0))) {
          30    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          30    	    sv = INT2PTR(B__SV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
          30    	RETVAL = SvROK(sv);
          30    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
          30        XSRETURN(1);
		}
		
		
		XS(XS_B__SV_MAGICAL); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__SV_MAGICAL)
         115    {
         115        dXSARGS;
         115        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::SV::MAGICAL(sv)");
         115        PERL_UNUSED_VAR(cv); /* -W */
		    {
         115    	B__SV	sv;
         115    	U32	RETVAL;
         115    	dXSTARG;
		
         115    	if (SvROK(ST(0))) {
         115    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         115    	    sv = INT2PTR(B__SV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
         115    	RETVAL = SvMAGICAL(sv);
         115    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
         115        XSRETURN(1);
		}
		
		
		XS(XS_B__IV_IV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IV_IV)
         896    {
         896        dXSARGS;
         896        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IV::IV(sv)");
         896        PERL_UNUSED_VAR(cv); /* -W */
		    {
         896    	B__IV	sv;
         896    	IV	RETVAL;
         896    	dXSTARG;
		
         896    	if (SvROK(ST(0))) {
         896    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         896    	    sv = INT2PTR(B__IV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
         896    	RETVAL = SvIV(sv);
         896    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
         896        XSRETURN(1);
		}
		
		
		XS(XS_B__IV_IVX); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IV_IVX)
        5308    {
        5308        dXSARGS;
        5308        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IV::IVX(sv)");
        5308        PERL_UNUSED_VAR(cv); /* -W */
		    {
        5308    	B__IV	sv;
        5308    	IV	RETVAL;
        5308    	dXSTARG;
		
        5308    	if (SvROK(ST(0))) {
        5308    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        5308    	    sv = INT2PTR(B__IV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
        5308    	RETVAL = SvIVX(sv);
        5308    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
        5308        XSRETURN(1);
		}
		
		
		XS(XS_B__IV_UVX); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IV_UVX)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IV::UVX(sv)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IV	sv;
           1    	UV	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    sv = INT2PTR(B__IV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
           1    	RETVAL = SvUVX(sv);
           1    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
           1        XSRETURN(1);
		}
		
		#define needs64bits(sv) ((I32)SvIVX(sv) != SvIVX(sv))
		
		XS(XS_B__IV_needs64bits); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IV_needs64bits)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IV::needs64bits(sv)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__IV	sv;
      ######    	int	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    sv = INT2PTR(B__IV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
      ######    	RETVAL = needs64bits(sv);
      ######    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__IV_packiv); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IV_packiv)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IV::packiv(sv)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__IV	sv;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    sv = INT2PTR(B__IV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		#line 1155 "B.xs"
			if (sizeof(IV) == 8) {
			    U32 wp[2];
			    const IV iv = SvIVX(sv);
			    /*
			     * The following way of spelling 32 is to stop compilers on
			     * 32-bit architectures from moaning about the shift count
			     * being >= the width of the type. Such architectures don't
			     * reach this code anyway (unless sizeof(IV) > 8 but then
			     * everything else breaks too so I'm not fussed at the moment).
			     */
		#ifdef UV_IS_QUAD
			    wp[0] = htonl(((UV)iv) >> (sizeof(UV)*4));
		#else
			    wp[0] = htonl(((U32)iv) >> (sizeof(UV)*4));
		#endif
			    wp[1] = htonl(iv & 0xffffffff);
			    ST(0) = sv_2mortal(newSVpvn((char *)wp, 8));
			} else {
			    U32 w = htonl((U32)SvIVX(sv));
			    ST(0) = sv_2mortal(newSVpvn((char *)&w, 4));
			}
		#line 2929 "B.c"
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__NV_NV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__NV_NV)
           7    {
           7        dXSARGS;
           7        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::NV::NV(sv)");
           7        PERL_UNUSED_VAR(cv); /* -W */
		    {
           7    	B__NV	sv;
           7    	NV	RETVAL;
           7    	dXSTARG;
		
           7    	if (SvROK(ST(0))) {
           7    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           7    	    sv = INT2PTR(B__NV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
           7    	RETVAL = SvNV(sv);
           7    	XSprePUSH; PUSHn((NV)RETVAL);
		    }
           7        XSRETURN(1);
		}
		
		
		XS(XS_B__NV_NVX); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__NV_NVX)
        5224    {
        5224        dXSARGS;
        5224        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::NV::NVX(sv)");
        5224        PERL_UNUSED_VAR(cv); /* -W */
		    {
        5224    	B__NV	sv;
        5224    	NV	RETVAL;
        5224    	dXSTARG;
		
        5224    	if (SvROK(ST(0))) {
        5224    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        5224    	    sv = INT2PTR(B__NV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
        5224    	RETVAL = SvNVX(sv);
        5224    	XSprePUSH; PUSHn((NV)RETVAL);
		    }
        5224        XSRETURN(1);
		}
		
		
		XS(XS_B__RV_RV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__RV_RV)
           2    {
           2        dXSARGS;
           2        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::RV::RV(sv)");
           2        PERL_UNUSED_VAR(cv); /* -W */
		    {
           2    	B__RV	sv;
           2    	B__SV	RETVAL;
		
           2    	if (SvROK(ST(0))) {
           2    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           2    	    sv = INT2PTR(B__RV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
           2    	RETVAL = SvRV(sv);
           2    	ST(0) = sv_newmortal();
           2    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
           2        XSRETURN(1);
		}
		
		
		XS(XS_B__PV_PVX); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PV_PVX)
        5446    {
        5446        dXSARGS;
        5446        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PV::PVX(sv)");
        5446        PERL_UNUSED_VAR(cv); /* -W */
		    {
        5446    	B__PV	sv;
        5446    	char *	RETVAL;
        5446    	dXSTARG;
		
        5446    	if (SvROK(ST(0))) {
        5446    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        5446    	    sv = INT2PTR(B__PV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
        5446    	RETVAL = SvPVX(sv);
        5446    	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
		    }
        5446        XSRETURN(1);
		}
		
		
		XS(XS_B__PV_RV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PV_RV)
           2    {
           2        dXSARGS;
           2        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PV::RV(sv)");
           2        PERL_UNUSED_VAR(cv); /* -W */
		    {
           2    	B__PV	sv;
           2    	B__SV	RETVAL;
		
           2    	if (SvROK(ST(0))) {
           2    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           2    	    sv = INT2PTR(B__PV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		#line 1203 "B.xs"
		        if( SvROK(sv) ) {
		            RETVAL = SvRV(sv);
		        }
		        else {
		            croak( "argument is not SvROK" );
		        }
		#line 3065 "B.c"
           1    	ST(0) = sv_newmortal();
           1    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__PV_PV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PV_PV)
        4039    {
        4039        dXSARGS;
        4039        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PV::PV(sv)");
        4039        PERL_UNUSED_VAR(cv); /* -W */
		    {
        4039    	B__PV	sv;
		
        4039    	if (SvROK(ST(0))) {
        4039    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        4039    	    sv = INT2PTR(B__PV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		#line 1216 "B.xs"
		        ST(0) = sv_newmortal();
		        if( SvPOK(sv) ) {
			    /* FIXME - we need a better way for B to identify PVs that are
			       in the pads as variable names.  */
			    if((SvLEN(sv) && SvCUR(sv) >= SvLEN(sv))) {
				/* It claims to be longer than the space allocated for it -
				   presuambly it's a variable name in the pad  */
				sv_setpv(ST(0), SvPV_nolen_const(sv));
			    } else {
				sv_setpvn(ST(0), SvPVX_const(sv), SvCUR(sv));
			    }
		            SvFLAGS(ST(0)) |= SvUTF8(sv);
		        }
		        else {
		            /* XXX for backward compatibility, but should fail */
		            /* croak( "argument is not SvPOK" ); */
		            sv_setpvn(ST(0), NULL, 0);
		        }
		#line 3110 "B.c"
		    }
        4039        XSRETURN(1);
		}
		
		
		XS(XS_B__PV_PVBM); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PV_PVBM)
          51    {
          51        dXSARGS;
          51        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PV::PVBM(sv)");
          51        PERL_UNUSED_VAR(cv); /* -W */
		    {
          51    	B__PV	sv;
		
          51    	if (SvROK(ST(0))) {
          51    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          51    	    sv = INT2PTR(B__PV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		#line 1239 "B.xs"
		        ST(0) = sv_newmortal();
			sv_setpvn(ST(0), SvPVX_const(sv),
			    SvCUR(sv) + (SvTYPE(sv) == SVt_PVBM ? 257 : 0));
		#line 3136 "B.c"
		    }
          51        XSRETURN(1);
		}
		
		
		XS(XS_B__PV_LEN); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PV_LEN)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PV::LEN(sv)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__PV	sv;
      ######    	STRLEN	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    sv = INT2PTR(B__PV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
      ######    	RETVAL = SvLEN(sv);
      ######    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__PV_CUR); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PV_CUR)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PV::CUR(sv)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__PV	sv;
           1    	STRLEN	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    sv = INT2PTR(B__PV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
           1    	RETVAL = SvCUR(sv);
           1    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__PVMG_MAGIC); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PVMG_MAGIC)
           4    {
           4        dXSARGS;
           4        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PVMG::MAGIC(sv)");
           4        PERL_UNUSED_VAR(cv); /* -W */
           4        PERL_UNUSED_VAR(ax); /* -Wall */
           4        SP -= items;
		    {
           4    	B__PVMG	sv;
           4    	MAGIC *	mg;
		
           4    	if (SvROK(ST(0))) {
           4    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           4    	    sv = INT2PTR(B__PVMG,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		#line 1259 "B.xs"
			for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic)
			    XPUSHs(make_mg_object(aTHX_ sv_newmortal(), mg));
		#line 3216 "B.c"
           4    	PUTBACK;
			return;
		    }
		}
		
		
		XS(XS_B__PVMG_SvSTASH); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PVMG_SvSTASH)
         118    {
         118        dXSARGS;
         118        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PVMG::SvSTASH(sv)");
         118        PERL_UNUSED_VAR(cv); /* -W */
		    {
         118    	B__PVMG	sv;
         118    	B__HV	RETVAL;
		
         118    	if (SvROK(ST(0))) {
         118    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         118    	    sv = INT2PTR(B__PVMG,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
         118    	RETVAL = SvSTASH(sv);
         118    	ST(0) = sv_newmortal();
         118    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
         118        XSRETURN(1);
		}
		
		#define MgMOREMAGIC(mg) mg->mg_moremagic
		#define MgPRIVATE(mg) mg->mg_private
		#define MgTYPE(mg) mg->mg_type
		#define MgFLAGS(mg) mg->mg_flags
		#define MgOBJ(mg) mg->mg_obj
		#define MgLENGTH(mg) mg->mg_len
		#define MgREGEX(mg) PTR2IV(mg->mg_obj)
		
		XS(XS_B__MAGIC_MOREMAGIC); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__MAGIC_MOREMAGIC)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::MAGIC::MOREMAGIC(mg)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__MAGIC	mg;
           1    	B__MAGIC	RETVAL;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    mg = INT2PTR(B__MAGIC,tmp);
			}
			else
      ######    	    croak("mg is not a reference");
		#line 1282 "B.xs"
			if( MgMOREMAGIC(mg) ) {
			    RETVAL = MgMOREMAGIC(mg);
			}
			else {
			    XSRETURN_UNDEF;
			}
		#line 3282 "B.c"
      ######    	ST(0) = sv_newmortal();
      ######    	sv_setiv(newSVrv(ST(0), "B::MAGIC"), PTR2IV(RETVAL));
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__MAGIC_PRIVATE); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__MAGIC_PRIVATE)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::MAGIC::PRIVATE(mg)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__MAGIC	mg;
      ######    	U16	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    mg = INT2PTR(B__MAGIC,tmp);
			}
			else
      ######    	    croak("mg is not a reference");
		
      ######    	RETVAL = MgPRIVATE(mg);
      ######    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__MAGIC_TYPE); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__MAGIC_TYPE)
           3    {
           3        dXSARGS;
           3        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::MAGIC::TYPE(mg)");
           3        PERL_UNUSED_VAR(cv); /* -W */
		    {
           3    	B__MAGIC	mg;
           3    	char	RETVAL;
           3    	dXSTARG;
		
           3    	if (SvROK(ST(0))) {
           3    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           3    	    mg = INT2PTR(B__MAGIC,tmp);
			}
			else
      ######    	    croak("mg is not a reference");
		
           3    	RETVAL = MgTYPE(mg);
           3    	XSprePUSH; PUSHp((char *)&RETVAL, 1);
		    }
           3        XSRETURN(1);
		}
		
		
		XS(XS_B__MAGIC_FLAGS); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__MAGIC_FLAGS)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::MAGIC::FLAGS(mg)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__MAGIC	mg;
      ######    	U8	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    mg = INT2PTR(B__MAGIC,tmp);
			}
			else
      ######    	    croak("mg is not a reference");
		
      ######    	RETVAL = MgFLAGS(mg);
      ######    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__MAGIC_OBJ); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__MAGIC_OBJ)
           2    {
           2        dXSARGS;
           2        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::MAGIC::OBJ(mg)");
           2        PERL_UNUSED_VAR(cv); /* -W */
		    {
           2    	B__MAGIC	mg;
           2    	B__SV	RETVAL;
		
           2    	if (SvROK(ST(0))) {
           2    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           2    	    mg = INT2PTR(B__MAGIC,tmp);
			}
			else
      ######    	    croak("mg is not a reference");
		
           2    	RETVAL = MgOBJ(mg);
           2    	ST(0) = sv_newmortal();
           2    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
           2        XSRETURN(1);
		}
		
		
		XS(XS_B__MAGIC_REGEX); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__MAGIC_REGEX)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::MAGIC::REGEX(mg)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__MAGIC	mg;
      ######    	IV	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    mg = INT2PTR(B__MAGIC,tmp);
			}
			else
      ######    	    croak("mg is not a reference");
		#line 1311 "B.xs"
		        if( mg->mg_type == 'r' ) {
		            RETVAL = MgREGEX(mg);
		        }
		        else {
		            croak( "REGEX is only meaningful on r-magic" );
		        }
		#line 3421 "B.c"
      ######    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__MAGIC_precomp); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__MAGIC_precomp)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::MAGIC::precomp(mg)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__MAGIC	mg;
      ######    	SV *	RETVAL;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    mg = INT2PTR(B__MAGIC,tmp);
			}
			else
      ######    	    croak("mg is not a reference");
		#line 1324 "B.xs"
		        if (mg->mg_type == 'r') {
		            REGEXP* rx = (REGEXP*)mg->mg_obj;
		            if( rx )
		                RETVAL = newSVpvn( rx->precomp, rx->prelen );
		        }
		        else {
		            croak( "precomp is only meaningful on r-magic" );
		        }
		#line 3454 "B.c"
      ######    	ST(0) = RETVAL;
      ######    	sv_2mortal(ST(0));
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__MAGIC_LENGTH); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__MAGIC_LENGTH)
           4    {
           4        dXSARGS;
           4        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::MAGIC::LENGTH(mg)");
           4        PERL_UNUSED_VAR(cv); /* -W */
		    {
           4    	B__MAGIC	mg;
           4    	I32	RETVAL;
           4    	dXSTARG;
		
           4    	if (SvROK(ST(0))) {
           4    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           4    	    mg = INT2PTR(B__MAGIC,tmp);
			}
			else
      ######    	    croak("mg is not a reference");
		
           4    	RETVAL = MgLENGTH(mg);
           4    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
           4        XSRETURN(1);
		}
		
		
		XS(XS_B__MAGIC_PTR); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__MAGIC_PTR)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::MAGIC::PTR(mg)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__MAGIC	mg;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    mg = INT2PTR(B__MAGIC,tmp);
			}
			else
      ######    	    croak("mg is not a reference");
		#line 1343 "B.xs"
			ST(0) = sv_newmortal();
		 	if (mg->mg_ptr){
				if (mg->mg_len >= 0){
			    		sv_setpvn(ST(0), mg->mg_ptr, mg->mg_len);
				} else if (mg->mg_len == HEf_SVKEY) {
					ST(0) = make_sv_object(aTHX_
						    sv_newmortal(), (SV*)mg->mg_ptr);
				}
			}
		#line 3514 "B.c"
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__PVLV_TARGOFF); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PVLV_TARGOFF)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PVLV::TARGOFF(sv)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__PVLV	sv;
      ######    	U32	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    sv = INT2PTR(B__PVLV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
      ######    	RETVAL = LvTARGOFF(sv);
      ######    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__PVLV_TARGLEN); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PVLV_TARGLEN)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PVLV::TARGLEN(sv)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__PVLV	sv;
      ######    	U32	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    sv = INT2PTR(B__PVLV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
      ######    	RETVAL = LvTARGLEN(sv);
      ######    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__PVLV_TYPE); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PVLV_TYPE)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PVLV::TYPE(sv)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__PVLV	sv;
      ######    	char	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    sv = INT2PTR(B__PVLV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
      ######    	RETVAL = LvTYPE(sv);
      ######    	XSprePUSH; PUSHp((char *)&RETVAL, 1);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__PVLV_TARG); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__PVLV_TARG)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::PVLV::TARG(sv)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__PVLV	sv;
      ######    	B__SV	RETVAL;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    sv = INT2PTR(B__PVLV,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
      ######    	RETVAL = LvTARG(sv);
      ######    	ST(0) = sv_newmortal();
      ######    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__BM_USEFUL); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__BM_USEFUL)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::BM::USEFUL(sv)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__BM	sv;
           1    	I32	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    sv = INT2PTR(B__BM,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
           1    	RETVAL = BmUSEFUL(sv);
           1    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__BM_PREVIOUS); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__BM_PREVIOUS)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::BM::PREVIOUS(sv)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__BM	sv;
           1    	U16	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    sv = INT2PTR(B__BM,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
           1    	RETVAL = BmPREVIOUS(sv);
           1    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__BM_RARE); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__BM_RARE)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::BM::RARE(sv)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__BM	sv;
           1    	U8	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    sv = INT2PTR(B__BM,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		
           1    	RETVAL = BmRARE(sv);
           1    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__BM_TABLE); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__BM_TABLE)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::BM::TABLE(sv)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__BM	sv;
      ######    	STRLEN	len;
      ######    	char *	str;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    sv = INT2PTR(B__BM,tmp);
			}
			else
      ######    	    croak("sv is not a reference");
		#line 1391 "B.xs"
			str = SvPV(sv, len);
			/* Boyer-Moore table is just after string and its safety-margin \0 */
			ST(0) = sv_2mortal(newSVpvn(str + len + 1, 256));
		#line 3726 "B.c"
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_NAME); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_NAME)
        4269    {
        4269        dXSARGS;
        4269        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::NAME(gv)");
        4269        PERL_UNUSED_VAR(cv); /* -W */
		    {
        4269    	B__GV	gv;
		
        4269    	if (SvROK(ST(0))) {
        4269    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        4269    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		#line 1401 "B.xs"
			ST(0) = sv_2mortal(newSVpvn(GvNAME(gv), GvNAMELEN(gv)));
		#line 3750 "B.c"
		    }
        4269        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_is_empty); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_is_empty)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::is_empty(gv)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__GV	gv;
           1    	bool	RETVAL;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		#line 1407 "B.xs"
		        RETVAL = GvGP(gv) == Null(GP*);
		#line 3775 "B.c"
           1    	ST(0) = boolSV(RETVAL);
           1    	sv_2mortal(ST(0));
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_GP); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_GP)
          48    {
          48        dXSARGS;
          48        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::GP(gv)");
          48        PERL_UNUSED_VAR(cv); /* -W */
		    {
          48    	B__GV	gv;
          48    	void *	RETVAL;
          48    	dXSTARG;
		
          48    	if (SvROK(ST(0))) {
          48    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          48    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
          48    	RETVAL = GvGP(gv);
          48    	XSprePUSH; PUSHi(PTR2IV(RETVAL));
		    }
          48        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_STASH); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_STASH)
        2586    {
        2586        dXSARGS;
        2586        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::STASH(gv)");
        2586        PERL_UNUSED_VAR(cv); /* -W */
		    {
        2586    	B__GV	gv;
        2586    	B__HV	RETVAL;
		
        2586    	if (SvROK(ST(0))) {
        2586    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        2586    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
        2586    	RETVAL = GvSTASH(gv);
        2586    	ST(0) = sv_newmortal();
        2586    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
        2586        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_SV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_SV)
          41    {
          41        dXSARGS;
          41        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::SV(gv)");
          41        PERL_UNUSED_VAR(cv); /* -W */
		    {
          41    	B__GV	gv;
          41    	B__SV	RETVAL;
		
          41    	if (SvROK(ST(0))) {
          41    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          41    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
          41    	RETVAL = GvSV(gv);
          41    	ST(0) = sv_newmortal();
          41    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
          41        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_IO); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_IO)
          41    {
          41        dXSARGS;
          41        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::IO(gv)");
          41        PERL_UNUSED_VAR(cv); /* -W */
		    {
          41    	B__GV	gv;
          41    	B__IO	RETVAL;
		
          41    	if (SvROK(ST(0))) {
          41    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          41    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
          41    	RETVAL = GvIO(gv);
          41    	ST(0) = sv_newmortal();
          41    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
          41        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_FORM); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_FORM)
       18429    {
       18429        dXSARGS;
       18429        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::FORM(gv)");
       18429        PERL_UNUSED_VAR(cv); /* -W */
		    {
       18429    	B__GV	gv;
       18429    	B__FM	RETVAL;
		
       18429    	if (SvROK(ST(0))) {
       18429    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       18429    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		#line 1431 "B.xs"
			RETVAL = (SV*)GvFORM(gv);
		#line 3912 "B.c"
       18429    	ST(0) = sv_newmortal();
       18429    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
       18429        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_AV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_AV)
          41    {
          41        dXSARGS;
          41        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::AV(gv)");
          41        PERL_UNUSED_VAR(cv); /* -W */
		    {
          41    	B__GV	gv;
          41    	B__AV	RETVAL;
		
          41    	if (SvROK(ST(0))) {
          41    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          41    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
          41    	RETVAL = GvAV(gv);
          41    	ST(0) = sv_newmortal();
          41    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
          41        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_HV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_HV)
       18188    {
       18188        dXSARGS;
       18188        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::HV(gv)");
       18188        PERL_UNUSED_VAR(cv); /* -W */
		    {
       18188    	B__GV	gv;
       18188    	B__HV	RETVAL;
		
       18188    	if (SvROK(ST(0))) {
       18188    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       18188    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
       18188    	RETVAL = GvHV(gv);
       18188    	ST(0) = sv_newmortal();
       18188    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
       18188        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_EGV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_EGV)
         687    {
         687        dXSARGS;
         687        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::EGV(gv)");
         687        PERL_UNUSED_VAR(cv); /* -W */
		    {
         687    	B__GV	gv;
         687    	B__GV	RETVAL;
		
         687    	if (SvROK(ST(0))) {
         687    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         687    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
         687    	RETVAL = GvEGV(gv);
         687    	ST(0) = sv_newmortal();
         687    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
         687        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_CV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_CV)
       19930    {
       19930        dXSARGS;
       19930        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::CV(gv)");
       19930        PERL_UNUSED_VAR(cv); /* -W */
		    {
       19930    	B__GV	gv;
       19930    	B__CV	RETVAL;
		
       19930    	if (SvROK(ST(0))) {
       19930    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       19930    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
       19930    	RETVAL = GvCV(gv);
       19930    	ST(0) = sv_newmortal();
       19930    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
       19930        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_CVGEN); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_CVGEN)
          41    {
          41        dXSARGS;
          41        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::CVGEN(gv)");
          41        PERL_UNUSED_VAR(cv); /* -W */
		    {
          41    	B__GV	gv;
          41    	U32	RETVAL;
          41    	dXSTARG;
		
          41    	if (SvROK(ST(0))) {
          41    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          41    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
          41    	RETVAL = GvCVGEN(gv);
          41    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
          41        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_LINE); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_LINE)
        1522    {
        1522        dXSARGS;
        1522        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::LINE(gv)");
        1522        PERL_UNUSED_VAR(cv); /* -W */
		    {
        1522    	B__GV	gv;
        1522    	U32	RETVAL;
        1522    	dXSTARG;
		
        1522    	if (SvROK(ST(0))) {
        1522    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        1522    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
        1522    	RETVAL = GvLINE(gv);
        1522    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
        1522        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_FILE); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_FILE)
       17194    {
       17194        dXSARGS;
       17194        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::FILE(gv)");
       17194        PERL_UNUSED_VAR(cv); /* -W */
		    {
       17194    	B__GV	gv;
       17194    	char *	RETVAL;
       17194    	dXSTARG;
		
       17194    	if (SvROK(ST(0))) {
       17194    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       17194    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
       17194    	RETVAL = GvFILE(gv);
       17194    	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
		    }
       17194        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_FILEGV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_FILEGV)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::FILEGV(gv)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__GV	gv;
      ######    	B__GV	RETVAL;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
      ######    	RETVAL = GvFILEGV(gv);
      ######    	ST(0) = sv_newmortal();
      ######    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_GvREFCNT); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_GvREFCNT)
          47    {
          47        dXSARGS;
          47        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::GvREFCNT(gv)");
          47        PERL_UNUSED_VAR(cv); /* -W */
		    {
          47    	B__GV	gv;
          47    	U32	RETVAL;
          47    	dXSTARG;
		
          47    	if (SvROK(ST(0))) {
          47    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          47    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
          47    	RETVAL = GvREFCNT(gv);
          47    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
          47        XSRETURN(1);
		}
		
		
		XS(XS_B__GV_GvFLAGS); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__GV_GvFLAGS)
          48    {
          48        dXSARGS;
          48        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::GV::GvFLAGS(gv)");
          48        PERL_UNUSED_VAR(cv); /* -W */
		    {
          48    	B__GV	gv;
          48    	U8	RETVAL;
          48    	dXSTARG;
		
          48    	if (SvROK(ST(0))) {
          48    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          48    	    gv = INT2PTR(B__GV,tmp);
			}
			else
      ######    	    croak("gv is not a reference");
		
          48    	RETVAL = GvFLAGS(gv);
          48    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
          48        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_LINES); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_LINES)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::LINES(io)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IO	io;
           1    	long	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
           1    	RETVAL = IoLINES(io);
           1    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_PAGE); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_PAGE)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::PAGE(io)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IO	io;
           1    	long	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
           1    	RETVAL = IoPAGE(io);
           1    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_PAGE_LEN); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_PAGE_LEN)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::PAGE_LEN(io)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IO	io;
           1    	long	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
           1    	RETVAL = IoPAGE_LEN(io);
           1    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_LINES_LEFT); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_LINES_LEFT)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::LINES_LEFT(io)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IO	io;
           1    	long	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
           1    	RETVAL = IoLINES_LEFT(io);
           1    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_TOP_NAME); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_TOP_NAME)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::TOP_NAME(io)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IO	io;
           1    	char *	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
           1    	RETVAL = IoTOP_NAME(io);
           1    	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_TOP_GV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_TOP_GV)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::TOP_GV(io)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IO	io;
           1    	B__GV	RETVAL;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
           1    	RETVAL = IoTOP_GV(io);
           1    	ST(0) = sv_newmortal();
           1    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_FMT_NAME); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_FMT_NAME)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::FMT_NAME(io)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IO	io;
           1    	char *	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
           1    	RETVAL = IoFMT_NAME(io);
           1    	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_FMT_GV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_FMT_GV)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::FMT_GV(io)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IO	io;
           1    	B__GV	RETVAL;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
           1    	RETVAL = IoFMT_GV(io);
           1    	ST(0) = sv_newmortal();
           1    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_BOTTOM_NAME); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_BOTTOM_NAME)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::BOTTOM_NAME(io)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IO	io;
           1    	char *	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
           1    	RETVAL = IoBOTTOM_NAME(io);
           1    	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_BOTTOM_GV); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_BOTTOM_GV)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::BOTTOM_GV(io)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IO	io;
           1    	B__GV	RETVAL;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
           1    	RETVAL = IoBOTTOM_GV(io);
           1    	ST(0) = sv_newmortal();
           1    	make_sv_object(aTHX_ (ST(0)), (SV*)(RETVAL));
		
		
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_SUBPROCESS); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_SUBPROCESS)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::SUBPROCESS(io)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IO	io;
           1    	short	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
           1    	RETVAL = IoSUBPROCESS(io);
           1    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_IsSTD); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_IsSTD)
      ######    {
      ######        dXSARGS;
      ######        if (items != 2)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::IsSTD(io, name)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__IO	io;
      ######    	const char*	name = (const char *)SvPV_nolen(ST(1));
		#line 1528 "B.xs"
			PerlIO* handle = 0;
		#line 4496 "B.c"
      ######    	bool	RETVAL;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		#line 1530 "B.xs"
			if( strEQ( name, "stdin" ) ) {
			    handle = PerlIO_stdin();
			}
			else if( strEQ( name, "stdout" ) ) {
			    handle = PerlIO_stdout();
			}
			else if( strEQ( name, "stderr" ) ) {
			    handle = PerlIO_stderr();
			}
			else {
			    croak( "Invalid value '%s'", name );
			}
			RETVAL = handle == IoIFP(io);
		#line 4519 "B.c"
      ######    	ST(0) = boolSV(RETVAL);
      ######    	sv_2mortal(ST(0));
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_IoTYPE); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_IoTYPE)
           1    {
           1        dXSARGS;
           1        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::IoTYPE(io)");
           1        PERL_UNUSED_VAR(cv); /* -W */
		    {
           1    	B__IO	io;
           1    	char	RETVAL;
           1    	dXSTARG;
		
           1    	if (SvROK(ST(0))) {
           1    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
           1    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
           1    	RETVAL = IoTYPE(io);
           1    	XSprePUSH; PUSHp((char *)&RETVAL, 1);
		    }
           1        XSRETURN(1);
		}
		
		
		XS(XS_B__IO_IoFLAGS); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__IO_IoFLAGS)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::IO::IoFLAGS(io)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__IO	io;
      ######    	U8	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    io = INT2PTR(B__IO,tmp);
			}
			else
      ######    	    croak("io is not a reference");
		
      ######    	RETVAL = IoFLAGS(io);
      ######    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__AV_FILL); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__AV_FILL)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::AV::FILL(av)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__AV	av;
      ######    	SSize_t	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    av = INT2PTR(B__AV,tmp);
			}
			else
      ######    	    croak("av is not a reference");
		
      ######    	RETVAL = AvFILL(av);
      ######    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__AV_MAX); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__AV_MAX)
         155    {
         155        dXSARGS;
         155        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::AV::MAX(av)");
         155        PERL_UNUSED_VAR(cv); /* -W */
		    {
         155    	B__AV	av;
         155    	SSize_t	RETVAL;
         155    	dXSTARG;
		
         155    	if (SvROK(ST(0))) {
         155    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
         155    	    av = INT2PTR(B__AV,tmp);
			}
			else
      ######    	    croak("av is not a reference");
		
         155    	RETVAL = AvMAX(av);
         155    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
         155        XSRETURN(1);
		}
		
		
		XS(XS_B__AV_ARRAY); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__AV_ARRAY)
       18755    {
       18755        dXSARGS;
       18755        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::AV::ARRAY(av)");
       18755        PERL_UNUSED_VAR(cv); /* -W */
       18755        PERL_UNUSED_VAR(ax); /* -Wall */
       18755        SP -= items;
		    {
       18755    	B__AV	av;
		
       18755    	if (SvROK(ST(0))) {
       18755    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
       18755    	    av = INT2PTR(B__AV,tmp);
			}
			else
      ######    	    croak("av is not a reference");
		#line 1570 "B.xs"
			if (AvFILL(av) >= 0) {
			    SV **svp = AvARRAY(av);
			    I32 i;
			    for (i = 0; i <= AvFILL(av); i++)
				XPUSHs(make_sv_object(aTHX_ sv_newmortal(), svp[i]));
			}
		#line 4656 "B.c"
       18755    	PUTBACK;
			return;
		    }
		}
		
		
		XS(XS_B__AV_ARRAYelt); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__AV_ARRAYelt)
        1690    {
        1690        dXSARGS;
        1690        if (items != 2)
      ######    	Perl_croak(aTHX_ "Usage: B::AV::ARRAYelt(av, idx)");
        1690        PERL_UNUSED_VAR(cv); /* -W */
        1690        PERL_UNUSED_VAR(ax); /* -Wall */
        1690        SP -= items;
		    {
        1690    	B__AV	av;
        1690    	int	idx = (int)SvIV(ST(1));
		
        1690    	if (SvROK(ST(0))) {
        1690    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
        1690    	    av = INT2PTR(B__AV,tmp);
			}
			else
      ######    	    croak("av is not a reference");
		#line 1582 "B.xs"
		    	if (idx >= 0 && AvFILL(av) >= 0 && idx <= AvFILL(av))
			    XPUSHs(make_sv_object(aTHX_ sv_newmortal(), (AvARRAY(av)[idx])));
			else
			    XPUSHs(make_sv_object(aTHX_ sv_newmortal(), NULL));
		#line 4687 "B.c"
        1690    	PUTBACK;
			return;
		    }
		}
		
		
		XS(XS_B__FM_LINES); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__FM_LINES)
      ######    {
      ######        dXSARGS;
      ######        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::FM::LINES(form)");
      ######        PERL_UNUSED_VAR(cv); /* -W */
		    {
      ######    	B__FM	form;
      ######    	IV	RETVAL;
      ######    	dXSTARG;
		
      ######    	if (SvROK(ST(0))) {
      ######    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
      ######    	    form = INT2PTR(B__FM,tmp);
			}
			else
      ######    	    croak("form is not a reference");
		
      ######    	RETVAL = FmLINES(form);
      ######    	XSprePUSH; PUSHi((IV)RETVAL);
		    }
      ######        XSRETURN(1);
		}
		
		
		XS(XS_B__CV_CONST); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__CV_CONST)
          26    {
          26        dXSARGS;
          26        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::CV::CONST(cv)");
          26        PERL_UNUSED_VAR(cv); /* -W */
		    {
          26    	B__CV	cv;
          26    	U32	RETVAL;
          26    	dXSTARG;
		
          26    	if (SvROK(ST(0))) {
          26    	    IV tmp = SvIV((SV*)SvRV(ST(0)));
          26    	    cv = INT2PTR(B__CV,tmp);
			}
			else
      ######    	    croak("cv is not a reference");
		
          26    	RETVAL = CvCONST(cv);
          26    	XSprePUSH; PUSHu((UV)RETVAL);
		    }
          26        XSRETURN(1);
		}
		
		
		XS(XS_B__CV_STASH); /* prototype to pass -Wmissing-prototypes */
		XS(XS_B__CV_STASH)
          26    {
          26        dXSARGS;
          26        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: B::CV::STASH(cv)");
          26        PERL_UNUSED_VAR(cv); /* -W */
		    {
          26    	B__CV	cv;
          26    	B__HV	R