The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
TYPEMAP

B::OP T_OP_OBJ
B::AV T_SV_OBJ

INPUT
T_OP_OBJ
    if (SvROK($arg)) {
        IV tmp = SvIV((SV*)SvRV($arg));
        $var = INT2PTR($type,tmp);
    }
    else
        croak(\"$var is not a reference\")

T_SV_OBJ
    if (SvROK($arg)) {
        IV tmp = SvIV((SV*)SvRV($arg));
        $var = INT2PTR($type,tmp);
    }
    else
        croak(\"$var is not a reference\")


OUTPUT
T_OP_OBJ
    sv_setiv(newSVrv($arg, cc_opclassname(aTHX_ (OP*)$var)), PTR2IV($var));

T_SV_OBJ
    make_sv_object(aTHX_ ($arg), (SV*)($var));