pike.git/
src/
interpret.h
Branch:
Tag:
Non-build tags
All tags
No tags
2003-12-05
2003-12-05 13:35:10 by Henrik Grubbström (Grubba) <grubba@grubba.org>
0edf50f0a37dc6db0fd5ea1d27b0c530f4ee8ae4 (
14
lines) (+
9
/-
5
)
[
Show
|
Annotate
]
Branch:
7.9
POP_PIKE_FRAME() now discards expendible.
Rev: src/interpret.h:1.145
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.h,v 1.
144
2003/
11
/
25
22:
13:
58
mast
Exp $
+
|| $Id: interpret.h,v 1.
145
2003/
12
/
05
13:
35:10
grubba
Exp $
*/ #ifndef INTERPRET_H
455:
{ \ really_free_pike_frame(_fp_); \ }else{ \
+
ptrdiff_t num_expendible = _fp_->expendible - _fp_->locals; \
DO_IF_DEBUG( \ if( (_fp_->locals + _fp_->num_locals > Pike_sp) || \
-
(Pike_sp < _fp_->expendible)
)
\
+
(Pike_sp < _fp_->expendible)
||
\
+
(num_expendible < 0) || (num_expendible > _fp_->num_locals))
\
Pike_fatal("Stack failure in POP_PIKE_FRAME %p+%d=%p %p %p!\n", \ _fp_->locals, _fp_->num_locals, \ _fp_->locals+_fp_->num_locals, \ Pike_sp,_fp_->expendible)); \ debug_malloc_touch(_fp_); \
-
if(
_fp_->
num_
locals
) \
+
if(num_
expendible
)
\
{ \ struct svalue *s=(struct svalue *)xalloc(sizeof(struct svalue)* \
-
_fp_->num_locals
)
; \
-
assign_svalues_no_free(s, _fp_->locals,
_fp_->
num_
locals
, \
+
num
_
expendible); \
+
_
fp_->num_locals
= num_expendible
;
\
+
assign_svalues_no_free(s, _fp_->locals, num_
expendible
,
\
BIT_MIXED); \ _fp_->locals=s; \ _fp_->flags|=PIKE_FRAME_MALLOCED_LOCALS; \