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 | /* |
4ac71550 |
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"] |
a0d0e21e |
34 | */ |
35 | |
a0d0e21e |
36 | int |
864dbfa3 |
37 | Perl_runops_standard(pTHX) |
17c3b450 |
38 | { |
97aff369 |
39 | dVAR; |
155aba94 |
40 | while ((PL_op = CALL_FPTR(PL_op->op_ppaddr)(aTHX))) { |
da927450 |
41 | PERL_ASYNC_CHECK(); |
cd39f2b6 |
42 | } |
fd18d308 |
43 | |
44 | TAINT_NOT; |
a0d0e21e |
45 | return 0; |
79072805 |
46 | } |
47 | |
66610fdd |
48 | /* |
49 | * Local variables: |
50 | * c-indentation-style: bsd |
51 | * c-basic-offset: 4 |
52 | * indent-tabs-mode: t |
53 | * End: |
54 | * |
37442d52 |
55 | * ex: set ts=8 sts=4 sw=4 noet: |
56 | */ |