Branch: Tag:

2003-11-25

2003-11-25 22:13:58 by Martin Stjernholm <mast@lysator.liu.se>

Fixed thread yield bug for tight loops when OPCODE_INLINE_BRANCH is used.
Note: The ppc backend needs fixing too.

Rev: src/code/README.txt:1.23
Rev: src/code/ia32.c:1.37
Rev: src/code/ia32.h:1.23
Rev: src/interpret.c:1.340
Rev: src/interpret.h:1.144
Rev: src/peep.c:1.96

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.339 2003/11/22 13:57:48 grubba Exp $ + || $Id: interpret.c,v 1.340 2003/11/25 22:13:58 mast Exp $   */      #include "global.h" - RCSID("$Id: interpret.c,v 1.339 2003/11/22 13:57:48 grubba Exp $"); + RCSID("$Id: interpret.c,v 1.340 2003/11/25 22:13:58 mast Exp $");   #include "interpret.h"   #include "object.h"   #include "program.h"
989:   #define EXIT_MACHINE_CODE()   #endif    + #ifdef OPCODE_INLINE_BRANCH + /* Intended to be called from machine code on backward branch jumps, +  * to ensure thread switching. */ + void branch_check_threads_etc() + { +  fast_check_threads_etc (6); + } + #endif +    #ifdef PIKE_DEBUG      static void debug_instr_prologue (PIKE_INSTR_T instr)