Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^2: Perl 5 interpreter

by Anonymous Monk
on Jan 12, 2011 at 08:49 UTC ( #881845=note: print w/ replies, xml ) Need Help??


in reply to Re: Perl 5 interpreter
in thread Perl 5 interpreter

That throws text like this for example

(void)( { while (PL_curstack != PL_mainstack) { Perl_dounwind(-1); + (void)( { SV **sp = PL_stack_sp; PERL_SI * const prev = PL_curstacki +nfo->si_prev; if (!prev) { fprintf((PL_stderrgv && (((svtype)((PL_std +errgv)->sv_flags & 0xff)) == SVt_PVGV) && (((PL_stderrgv)->sv_u.svu_g +p)->gp_io) && ((XPVIO*) ((((PL_stderrgv)->sv_u.svu_gp)->gp_io))->sv_a +ny)->xio_ofp ? ((XPVIO*) ((((PL_stderrgv)->sv_u.svu_gp)->gp_io))->sv_ +any)->xio_ofp : stderr), "panic: POPSTACK\n"); Perl_my_exit(1); } (vo +id)( { ((XPVAV*) (PL_curstack)->sv_any)->xav_fill = sp - PL_stack_bas +e; PL_stack_base = ((prev->si_stack)->sv_u.svu_array); PL_stack_max = + PL_stack_base + ((XPVAV*) (prev->si_stack)->sv_any)->xav_max; sp = P +L_stack_sp = PL_stack_base + ((XPVAV*) (prev->si_stack)->sv_any)->xav +_fill; PL_curstack = prev->si_stack; } ); PL_curstackinfo = prev; } ) +; } } );

That is unreadable


Comment on Re^2: Perl 5 interpreter
Download Code
Re^3: Perl 5 interpreter
by Corion (Pope) on Jan 12, 2011 at 08:52 UTC

    Which is why Perl programmers use macros, to hide the complexity.

    I guess this is code from the preamble to an XS sub that marks the Perl stack, or maybe code from the end of an XS sub that restores the previous stack state. If you show the original macros, it's maybe easier to explain.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://881845]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (5)
As of 2014-09-21 05:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (166 votes), past polls