pike.git
/
src
/
builtin.cmod
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/builtin.cmod:1:
/* -*- c -*-
-
* $Id: builtin.cmod,v 1.
85
2002/04/
24
15
:
45
:
06
grubba
Exp $
+
* $Id: builtin.cmod,v 1.
86
2002/04/
28
02
:
08
:
30
mast
Exp $
*/ #include "global.h" #include "interpret.h" #include "svalue.h" #include "opcodes.h" #include "pike_macros.h" #include "object.h" #include "program.h" #include "array.h"
pike.git/src/builtin.cmod:1185:
size--; res->item[size].u.object = o; res->item[size].type = PIKE_T_OBJECT; res->item[size].subtype = 0; bf = OBJ2_BACKTRACE_FRAME(o); if ((bf->prog = f->context.prog)) { add_ref(bf->prog);
-
bf->pc
=
f->pc
+
(
(
f
->flags & PIKE_FRAME_RETURN_INTERNAL)
?
-
1
:
0)
;
-
+
if
(
f->pc
)
{
+
if
(
of
&& of
->flags & PIKE_FRAME_RETURN_INTERNAL)
+
/* If the called frame has PIKE_FRAME_RETURN_INTERNAL set
+
* then the pc to continue at is stored in f
-
>pc. */
+
bf->pc = f->pc -
1
;
+
else
+
bf->pc = f->pc
;
}
-
+
}
if ((bf->fun.u.object = f->current_object) && (bf->fun.u.object->prog)) { add_ref(bf->fun.u.object); bf->fun.subtype = f->fun; bf->fun.type = PIKE_T_FUNCTION; function = ID_FROM_INT(f->current_object->prog, f->fun); } else { bf->fun.u.integer = 0; bf->fun.subtype = NUMBER_DESTRUCTED;