B-CompilerPhase-Hook

 view release on metacpan or  search on metacpan

Hook.xs  view on Meta::CPAN

#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"

MODULE = B::CompilerPhase::Hook  PACKAGE = B::CompilerPhase::Hook

PROTOTYPES: ENABLE

# UNITCHECK

void
prepend_UNITCHECK(handler)
        SV* handler
    PROTOTYPE: &
    CODE:
        if ( !PL_unitcheckav ) {
            PL_unitcheckav = newAV();
        }
        SvREFCNT_inc(handler);
        av_unshift(PL_unitcheckav, 1);
        av_store(PL_unitcheckav, 0, handler);

void
append_UNITCHECK(handler)
        SV* handler
    PROTOTYPE: &
    CODE:
        if ( !PL_unitcheckav ) {
            PL_unitcheckav = newAV();
        }
        SvREFCNT_inc(handler);
        av_push(PL_unitcheckav, handler);

# CHECK

void
prepend_CHECK(handler)
        SV* handler
    PROTOTYPE: &
    CODE:
        if ( !PL_checkav ) {
            PL_checkav = newAV();
        }
        SvREFCNT_inc(handler);
        av_unshift(PL_checkav, 1);
        av_store(PL_checkav, 0, handler);

void
append_CHECK(handler)
        SV* handler
    PROTOTYPE: &
    CODE:
        if ( !PL_checkav ) {
            PL_checkav = newAV();
        }
        SvREFCNT_inc(handler);
        av_push(PL_checkav, handler);

# INIT

void
prepend_INIT(handler)
        SV* handler
    PROTOTYPE: &
    CODE:
        if ( !PL_initav ) {
            PL_initav = newAV();
        }
        SvREFCNT_inc(handler);
        av_unshift(PL_initav, 1);
        av_store(PL_initav, 0, handler);

void
append_INIT(handler)
        SV* handler
    PROTOTYPE: &
    CODE:
        if ( !PL_initav ) {
            PL_initav = newAV();
        }
        SvREFCNT_inc(handler);
        av_push(PL_initav, handler);


 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 0.735 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )