| 1 | /* run.c |
| 2 | * |
| 3 | * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
| 4 | * 2000, 2001, 2004, 2005, 2006, by Larry Wall and others |
| 5 | * |
| 6 | * You may distribute under the terms of either the GNU General Public |
| 7 | * License or the Artistic License, as specified in the README file. |
| 8 | * |
| 9 | */ |
| 10 | |
| 11 | /* This file contains the main Perl opcode execution loop. It just |
| 12 | * calls the pp_foo() function associated with each op, and expects that |
| 13 | * function to return a pointer to the next op to be executed, or null if |
| 14 | * it's the end of the sub or program or whatever. |
| 15 | * |
| 16 | * There is a similar loop in dump.c, Perl_runops_debug(), which does |
| 17 | * the same, but also checks for various debug flags each time round the |
| 18 | * loop. |
| 19 | * |
| 20 | * Why this function requires a file all of its own is anybody's guess. |
| 21 | * DAPM. |
| 22 | */ |
| 23 | |
| 24 | #include "EXTERN.h" |
| 25 | #define PERL_IN_RUN_C |
| 26 | #include "perl.h" |
| 27 | |
| 28 | /* |
| 29 | * 'Away now, Shadowfax! Run, greatheart, run as you have never run before! |
| 30 | * Now we are come to the lands where you were foaled, and every stone you |
| 31 | * know. Run now! Hope is in speed!' --Gandalf |
| 32 | * |
| 33 | * [p.600 of _The Lord of the Rings_, III/xi: "The PalantÃr"] |
| 34 | */ |
| 35 | |
| 36 | int |
| 37 | Perl_runops_standard(pTHX) |
| 38 | { |
| 39 | dVAR; |
| 40 | OP *op = PL_op; |
| 41 | OP_ENTRY_PROBE(OP_NAME(op)); |
| 42 | while ((PL_op = op = op->op_ppaddr(aTHX))) { |
| 43 | OP_ENTRY_PROBE(OP_NAME(op)); |
| 44 | } |
| 45 | |
| 46 | TAINT_NOT; |
| 47 | return 0; |
| 48 | } |
| 49 | |
| 50 | /* |
| 51 | * Local variables: |
| 52 | * c-indentation-style: bsd |
| 53 | * c-basic-offset: 4 |
| 54 | * indent-tabs-mode: nil |
| 55 | * End: |
| 56 | * |
| 57 | * ex: set ts=8 sts=4 sw=4 et: |
| 58 | */ |