2008-11-18
2008-11-18 19:06:23 by Martin Stjernholm <mast@lysator.liu.se>
-
51d7d8d18a77ac65211deaf79bc526b88288950c
(9 lines)
(+6/-3)
[
Show
| Annotate
]
Branch: 7.9
Fixed problems with uneven distribution of evaluator callback calls in the
interpreter loop: Changed to a single shared counter for
fast_check_threads_etc(), use the same fast_check_threads_etc interval for
all types of apply calls, and for all types of backward branch calls.
Rev: src/apply_low.h:1.35
Rev: src/interpret.c:1.409
Rev: src/interpret.h:1.176
Rev: src/interpret_functions.h:1.210
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.408 2008/08/18 15:16:47 mast Exp $
+ || $Id: interpret.c,v 1.409 2008/11/18 19:06:23 mast Exp $
*/
#include "global.h"
103:
#endif
+ int fast_check_threads_counter = 0;
+
/* Pike_sp points to first unused value on stack
* (much simpler than letting it point at the last used value.)
*/
1133: Inside #if defined(OPCODE_INLINE_BRANCH) || defined(INS_F_JUMP) || \
* to ensure thread switching. */
void branch_check_threads_etc()
{
- fast_check_threads_etc (6);
+ FAST_CHECK_THREADS_ON_BRANCH();
}
#endif
1841:
my_strcat (s->u.efun->name->str);
do_trace_call(args, &save_buf);
}
- check_threads_etc();
+ FAST_CHECK_THREADS_ON_CALL();
(*(s->u.efun->function))(args);
#ifdef PIKE_DEBUG