pike.git/
src/
interpret.c
Branch:
Tag:
Non-build tags
All tags
No tags
2003-08-08
2003-08-08 11:02:15 by Martin Stjernholm <mast@lysator.liu.se>
56854af2b5890d0a043910e47e515b2c9dffdf40 (
27
lines) (+
14
/-
13
)
[
Show
|
Annotate
]
Branch:
7.9
Working fix.
Rev: src/interpret.c:1.324
2:
|| This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
-
|| $Id: interpret.c,v 1.
323
2003/08/08
10
:
28
:
48
grubba
Exp $
+
|| $Id: interpret.c,v 1.
324
2003/08/08
11
:
02
:
15
mast
Exp $
*/ #include "global.h"
-
RCSID("$Id: interpret.c,v 1.
323
2003/08/08
10
:
28
:
48
grubba
Exp $");
+
RCSID("$Id: interpret.c,v 1.
324
2003/08/08
11
:
02
:
15
mast
Exp $");
#include "interpret.h" #include "object.h" #include "program.h"
1673:
#endif
-
#define basic_low_return()
do
{
\
-
struct svalue *save_sp=Pike_fp->save_sp; \
-
DO_IF_DEBUG( \
+
#define basic_low_return(
save_sp
) \
+
DO_IF_DEBUG(
\
if(Pike_mark_sp < Pike_fp->save_mark_sp) \ Pike_fatal("Popped below save_mark_sp!\n"); \ if(Pike_sp<Pike_interpreter.evaluator_stack) \
1684:
\ Pike_mark_sp=Pike_fp->save_mark_sp; \ \
-
POP_PIKE_FRAME()
; \
-
} while(0)
+
POP_PIKE_FRAME()
void low_return(void) {
-
+
struct svalue *save_sp = Pike_fp->save_sp;
#if defined (PIKE_USE_MACHINE_CODE) && defined (OPCODE_RETURN_JUMPADDR) /* If the function that returns is the only ref to the current * object and its program then the program would be freed in
1702:
add_ref (o); #endif
-
basic_low_return();
+
basic_low_return
(
save_sp
);
if(save_sp+1 > Pike_sp) { push_int(0);
1725:
void low_return_pop(void) {
+
struct svalue *save_sp = Pike_fp->save_sp;
#if defined (PIKE_USE_MACHINE_CODE) && defined (OPCODE_RETURN_JUMPADDR) /* See note above. */ struct object *o = Pike_fp->current_object; add_ref (o); #endif
-
basic_low_return();
+
basic_low_return
(
save_sp
);
if(save_sp < Pike_sp) {