pike.git / src / interpret.h

version» Context lines:

pike.git/src/interpret.h: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.h,v 1.164 2005/12/31 03:37:14 nilsson Exp $ + || $Id: interpret.h,v 1.165 2006/02/27 12:07:10 mast Exp $   */      #ifndef INTERPRET_H   #define INTERPRET_H      #include "global.h"   #include "program.h"   #include "pike_error.h"   #include "object.h"   #include "pike_rusage.h"    -  + struct catch_context + { +  struct catch_context *prev; +  JMP_BUF recovery; +  struct svalue *save_expendible; +  PIKE_OPCODE_T *next_addr; +  ptrdiff_t continue_reladdr; + #ifdef PIKE_DEBUG +  struct pike_frame *frame; + #endif + }; +    struct Pike_interpreter {    /* Swapped variables */    struct svalue *stack_pointer;    struct svalue *evaluator_stack;    struct svalue **mark_stack_pointer;    struct svalue **mark_stack;    struct pike_frame *frame_pointer; -  int evaluator_stack_malloced; -  int mark_stack_malloced; +     JMP_BUF *recoveries;   #ifdef PIKE_THREADS    struct thread_state *thread_state;   #endif    char *stack_top;    DO_IF_SECURITY(struct object *current_creds;)    -  +  struct catch_context *catch_ctx; +  LOW_JMP_BUF *catching_eval_jmpbuf; +     int svalue_stack_margin;    int c_stack_margin;    -  +  INT16 evaluator_stack_malloced; +  INT16 mark_stack_malloced; +    #ifdef PROFILING    cpu_time_t accounted_time; /** Time spent and accounted for so far. */    cpu_time_t unlocked_time; /** Time spent unlocked so far. */    char *stack_bottom;   #endif       int trace_level;   };      #ifndef STRUCT_FRAME_DECLARED
pike.git/src/interpret.h:677:    struct svalue *stack_p, struct svalue *stack);   PMOD_EXPORT int low_init_interpreter(struct Pike_interpreter *interpreter);   PMOD_EXPORT void init_interpreter(void);   void lvalue_to_svalue_no_free(struct svalue *to,struct svalue *lval);   PMOD_EXPORT void assign_lvalue(struct svalue *lval,struct svalue *from);   PMOD_EXPORT union anything *get_pointer_if_this_type(struct svalue *lval, TYPE_T t);   void print_return_value(void);   void reset_evaluator(void);   struct backlog;   void dump_backlog(void); + BLOCK_ALLOC (catch_context, 0);   BLOCK_ALLOC(pike_frame,128);      #ifdef PIKE_USE_MACHINE_CODE   #if defined(OPCODE_INLINE_BRANCH) || defined(INS_F_JUMP) || \    defined(INS_F_JUMP_WITH_ARG) || defined(INS_F_JUMP_WITH_TWO_ARGS)   void branch_check_threads_etc();   #endif   #ifdef PIKE_DEBUG   void simple_debug_instr_prologue_0 (PIKE_INSTR_T instr);   void simple_debug_instr_prologue_1 (PIKE_INSTR_T instr, INT32 arg);