pike.git / src / interpret.h

version» Context lines:

pike.git/src/interpret.h:21:    struct object *current_object;    struct inherit context;    char *current_storage;    INT32 fun;    INT16 num_locals;    INT16 num_args;   };      #ifdef DEBUG   #define debug_check_stack() do{if(sp<evaluator_stack)fatal("Stack error.\n");}while(0) + #define check__positive(X,Y) if((X)<0) fatal(Y) + #include "error.h"   #else -  + #define check__positive(X,Y)   #define debug_check_stack()   #endif      #define pop_stack() do{ free_svalue(--sp); debug_check_stack(); }while(0)    -  + #define pop_n_elems(X) \ +  do { int x_=(X); if(x_) { \ +  check__positive(x_,"Popping negative number of args....\n"); \ +  sp-=x_; debug_check_stack(); \ +  free_svalues(sp,x_,BIT_MIXED); \ +  } } while (0) +    #define push_program(P) do{ struct program *_=(P); debug_malloc_touch(_); sp->u.program=_; sp++->type=T_PROGRAM; }while(0)   #define push_int(I) do{ INT32 _=(I); sp->u.integer=_;sp->type=T_INT;sp++->subtype=NUMBER_NUMBER; }while(0)   #define push_mapping(M) do{ struct mapping *_=(M); debug_malloc_touch(_); sp->u.mapping=_; sp++->type=T_MAPPING; }while(0)   #define push_array(A) do{ struct array *_=(A); debug_malloc_touch(_); sp->u.array=_ ;sp++->type=T_ARRAY; }while(0)   #define push_multiset(L) do{ struct multiset *_=(L); debug_malloc_touch(_); sp->u.multiset=_; sp++->type=T_MULTISET; }while(0)   #define push_string(S) do{ struct pike_string *_=(S); debug_malloc_touch(_); sp->subtype=0; sp->u.string=_; sp++->type=T_STRING; }while(0)   #define push_object(O) do{ struct object *_=(O); debug_malloc_touch(_); sp->u.object=_; sp++->type=T_OBJECT; }while(0)   #define push_float(F) do{ float _=(F); sp->u.float_number=_; sp++->type=T_FLOAT; }while(0)   #define push_text(T) push_string(make_shared_string((T)))   #define push_constant_text(T) do{ sp->subtype=0; MAKE_CONSTANT_SHARED_STRING(sp->u.string,T); sp++->type=T_STRING; }while(0)
pike.git/src/interpret.h:110:   /* Prototypes begin here */   void push_sp_mark(void);   int pop_sp_mark(void);   void init_interpreter(void);   void check_stack(INT32 size);   void check_mark_stack(INT32 size);   void lvalue_to_svalue_no_free(struct svalue *to,struct svalue *lval);   void assign_lvalue(struct svalue *lval,struct svalue *from);   union anything *get_pointer_if_this_type(struct svalue *lval, TYPE_T t);   void print_return_value(void); - void pop_n_elems(INT32 x); +    void reset_evaluator(void);   struct backlog;   void dump_backlog(void);   void mega_apply(enum apply_type type, INT32 args, void *arg1, void *arg2);   void f_call_function(INT32 args);   int apply_low_safe_and_stupid(struct object *o, INT32 offset);   void safe_apply_low(struct object *o,int fun,int args);   void safe_apply(struct object *o, char *fun ,INT32 args);   void apply_lfun(struct object *o, int fun, int args);   void apply_shared(struct object *o,