root/lang/perl/Acme-NabeAtzz/trunk/NabeAtzz.xs

Revision 14466, 0.5 kB (checked in by yappo, 7 months ago)

Perlのオペコードの数字が3の倍数の命令を実行する時だけPerl VMがアホになります。 これでいいんかなぁ?

Line 
1#define PERL_CORE
2
3#include "EXTERN.h"
4#include "perl.h"
5#include "XSUB.h"
6
7#include "ppport.h"
8
9static OP *(*PL_ppaddr_bak[OP_max + 1])(pTHX);
10
11OP * aho(pTHX) {
12    if (!(PL_op->op_type % 3)) PerlIO_printf(PerlIO_stderr(), "AHO: %d\n", PL_op->op_type);
13    return PL_ppaddr_bak[PL_op->op_type](aTHX);
14}
15
16MODULE = Acme::NabeAtzz         PACKAGE = Acme::NabeAtzz
17
18PROTOTYPES: ENABLE
19
20void
21_setup()
22    PROTOTYPE:
23    CODE:
24        int i;
25        for (i = 0;i < OP_max;i++) {
26            PL_ppaddr_bak[i] = PL_ppaddr[i];
27            PL_ppaddr[i]     = aho;
28        }
Note: See TracBrowser for help on using the browser.