File Coverage

run.c
Criterion Covered Total %
statement 6 6 100.0
branch 3 4 75.0
condition n/a
subroutine n/a
total 9 10 90.0


line stmt bran cond sub time code
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 30754661         Perl_runops_standard(pTHX)
38           {
39           dVAR;
40 30754661         OP *op = PL_op;
41           OP_ENTRY_PROBE(OP_NAME(op));
42 10637835526 100       while ((PL_op = op = op->op_ppaddr(aTHX))) {
43           OP_ENTRY_PROBE(OP_NAME(op));
44           }
45 30433814 50       PERL_ASYNC_CHECK();
46            
47 30433814         TAINT_NOT;
48 30433814         return 0;
49           }
50            
51           /*
52           * Local variables:
53           * c-indentation-style: bsd
54           * c-basic-offset: 4
55           * indent-tabs-mode: nil
56           * End:
57           *
58           * ex: set ts=8 sts=4 sw=4 et:
59           */