Commit | Line | Data |
a0d0e21e |
1 | /* run.c |
2 | * |
4bb101f2 |
3 | * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
54ca4ee7 |
4 | * 2000, 2001, 2004, 2005, 2006, by Larry Wall and others |
a0d0e21e |
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 | |
166f8a29 |
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 |
ddfa107c |
14 | * it's the end of the sub or program or whatever. |
166f8a29 |
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 | |
79072805 |
24 | #include "EXTERN.h" |
864dbfa3 |
25 | #define PERL_IN_RUN_C |
79072805 |
26 | #include "perl.h" |
27 | |
a0d0e21e |
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 | |
a0d0e21e |
34 | int |
864dbfa3 |
35 | Perl_runops_standard(pTHX) |
17c3b450 |
36 | { |
97aff369 |
37 | dVAR; |
155aba94 |
38 | while ((PL_op = CALL_FPTR(PL_op->op_ppaddr)(aTHX))) { |
da927450 |
39 | PERL_ASYNC_CHECK(); |
cd39f2b6 |
40 | } |
fd18d308 |
41 | |
42 | TAINT_NOT; |
a0d0e21e |
43 | return 0; |
79072805 |
44 | } |
45 | |
66610fdd |
46 | /* |
47 | * Local variables: |
48 | * c-indentation-style: bsd |
49 | * c-basic-offset: 4 |
50 | * indent-tabs-mode: t |
51 | * End: |
52 | * |
37442d52 |
53 | * ex: set ts=8 sts=4 sw=4 noet: |
54 | */ |