pike.git / src / interpret.c

version» Context lines:

pike.git/src/interpret.c:1:   /*   || 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.298 2003/03/21 14:36:01 mast Exp $ + || $Id: interpret.c,v 1.299 2003/03/22 13:38:42 mast Exp $   */      #include "global.h" - RCSID("$Id: interpret.c,v 1.298 2003/03/21 14:36:01 mast Exp $"); + RCSID("$Id: interpret.c,v 1.299 2003/03/22 13:38:42 mast Exp $");   #include "interpret.h"   #include "object.h"   #include "program.h"   #include "svalue.h"   #include "array.h"   #include "mapping.h"   #include "pike_error.h"   #include "language.h"   #include "stralloc.h"   #include "constants.h"
pike.git/src/interpret.c:945:    do { \    /* The test is needed to get the labels to work... */ \    if (pc) { \    /* No extra setup needed! \    */ \    return ((int (*)(void))(pc))(); \    } \    } while(0)   #endif /* !CALL_MACHINE_CODE */    + #ifndef EXIT_MACHINE_CODE + #define EXIT_MACHINE_CODE + #endif +    #ifdef PIKE_DEBUG      static void debug_instr_prologue (PIKE_INSTR_T instr)   {    low_debug_instr_prologue (instr);   }      #define DEBUG_PROLOGUE(OPCODE, EXTRA) do { \    if (d_flag || Pike_interpreter.trace_level > 2) { \    debug_instr_prologue ((OPCODE) - F_OFFSET); \
pike.git/src/interpret.c:1136: Inside #if defined(__GNUC__)
      CALL_MACHINE_CODE(pc);       /* This code is never reached, but will    * prevent gcc from optimizing the labels below too much    */       fprintf(stderr,"We have reached the end of the world!\n");    goto *dummy_label;    -  /* %%esp will be slightly buggered after -  * returning from the function code (8 bytes off), but that -  * should not matter to these return statements. -Hubbe -  */ +  inter_escape_catch_label: +  EXIT_MACHINE_CODE(); +  return -2;    -  inter_escape_catch_label: return -2; -  inter_return_label: return -1; +  inter_return_label: +  EXIT_MACHINE_CODE(); +  return -1;   }      #endif /* __GNUC__ */      #ifndef SET_PROG_COUNTER   #define SET_PROG_COUNTER(X) (PROG_COUNTER=(X))   #endif /* SET_PROG_COUNTER */      #undef DONE   #undef FETCH