diff --git a/src/builtin_functions.h b/src/builtin_functions.h index 80aa5ecab2843178df60a4dc3a12e899da2b55ea..043a4aea2e1bd6d3664e58b79642a955405e4960 100644 --- a/src/builtin_functions.h +++ b/src/builtin_functions.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: builtin_functions.h,v 1.11 2000/01/20 23:10:59 noring Exp $ + * $Id: builtin_functions.h,v 1.12 2000/02/17 00:31:07 hubbe Exp $ */ #ifndef BUILTIN_EFUNS_H #define BUILTIN_EFUNS_H @@ -17,7 +17,7 @@ /* Prototypes begin here */ #ifdef DEBUG_MALLOC void _f_aggregate(INT32 args); -#define f_aggregate(X) do { _f_aggregate(X); debug_malloc_touch(sp[-1].u.refs); } while (0) +#define f_aggregate(X) do { _f_aggregate(X); debug_malloc_touch(Pike_sp[-1].u.refs); } while (0) #else void f_aggregate(INT32 args); #endif diff --git a/src/error.h b/src/error.h index cbcbba11fa63389a416c78b09b595ea2a67cd3a5..f27781e0767ff8e54164f5a79cad4bd0db7dafcf 100644 --- a/src/error.h +++ b/src/error.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: error.h,v 1.39 2000/02/07 09:15:54 hubbe Exp $ + * $Id: error.h,v 1.40 2000/02/17 00:31:08 hubbe Exp $ */ #ifndef ERROR_H #define ERROR_H @@ -58,9 +58,9 @@ typedef struct JMP_BUF { struct JMP_BUF *previous; jmp_buf recovery; - struct pike_frame *fp; - INT32 sp; - INT32 mark_sp; + struct pike_frame *Pike_fp; + INT32 Pike_sp; + INT32 Pike_mark_sp; INT32 severity; ONERROR *onerror; #ifdef PIKE_DEBUG @@ -234,19 +234,19 @@ void cleanup_error(void); /* Some useful error macros. */ #define SIMPLE_BAD_ARG_ERROR(FUNC, ARG, EXPECT) \ - bad_arg_error(FUNC, sp-args, args, ARG, EXPECT, sp+ARG-1-args,\ + bad_arg_error(FUNC, Pike_sp-args, args, ARG, EXPECT, Pike_sp+ARG-1-args,\ "Bad argument %d to %s(). Expected %s\n", \ ARG, FUNC, EXPECT) #define SIMPLE_TOO_FEW_ARGS_ERROR(FUNC, ARG) \ - bad_arg_error(FUNC, sp-args, args, ARG, "void", 0,\ + bad_arg_error(FUNC, Pike_sp-args, args, ARG, "void", 0,\ "Too few arguments to %s().\n",FUNC) #define SIMPLE_OUT_OF_MEMORY_ERROR(FUNC, AMOUNT) \ - resource_error(FUNC, sp-args, args, "memory", AMOUNT, "Out of memory.\n") + resource_error(FUNC, Pike_sp-args, args, "memory", AMOUNT, "Out of memory.\n") #define SIMPLE_DIVISION_BY_ZERO_ERROR(FUNC) \ - math_error(FUNC, sp-args, args, 0, "Division by zero.\n") + math_error(FUNC, Pike_sp-args, args, 0, "Division by zero.\n") #endif diff --git a/src/errors.h b/src/errors.h index 0d20e8c5105678f3bdfec5a26053010f850febc4..6da9d52d2714a91490c9896d615b09beb5b2f359 100644 --- a/src/errors.h +++ b/src/errors.h @@ -68,7 +68,7 @@ DECLARE_ERROR(generic, EMPTY , ERR_FUNC("backtrace",f_error_backtrace,tFunc(tVoid,tArr(tMixed)),0) ) -#define GENERIC_ERROR_THIS ((struct generic_error_struct *)fp->current_storage) +#define GENERIC_ERROR_THIS ((struct generic_error_struct *)Pike_fp->current_storage) DECLARE_ERROR(index, ERR_INHERIT(generic), diff --git a/src/interpret.h b/src/interpret.h index ef4dfdb28bbc615e24d4749810c82d5b57e77b27..9005a78cb7fa20c1ce0f544dd41116297e001694 100644 --- a/src/interpret.h +++ b/src/interpret.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: interpret.h,v 1.35 1999/11/18 04:14:46 hubbe Exp $ + * $Id: interpret.h,v 1.36 2000/02/17 00:31:10 hubbe Exp $ */ #ifndef INTERPRET_H #define INTERPRET_H @@ -35,7 +35,7 @@ struct pike_frame }; #ifdef PIKE_DEBUG -#define debug_check_stack() do{if(sp<evaluator_stack)fatal("Stack error.\n");}while(0) +#define debug_check_stack() do{if(Pike_sp<Pike_evaluator_stack)fatal("Stack error.\n");}while(0) #define check__positive(X,Y) if((X)<0) fatal(Y) #include "error.h" #else @@ -44,90 +44,90 @@ struct pike_frame #endif #define check_stack(X) do { \ - if(sp - evaluator_stack + (X) >= stack_size) \ + if(Pike_sp - Pike_evaluator_stack + (X) >= Pike_stack_size) \ error("Svalue stack overflow. " \ "(%d of %d entries on stack, needed %d more entries)\n", \ - sp-evaluator_stack,stack_size,(X)); \ + Pike_sp-Pike_evaluator_stack,Pike_stack_size,(X)); \ }while(0) #define check_mark_stack(X) do { \ - if(mark_sp - mark_stack + (X) >= stack_size) \ + if(Pike_mark_sp - Pike_mark_stack + (X) >= Pike_stack_size) \ error("Mark stack overflow.\n"); \ }while(0) #define check_c_stack(X) do { \ - long x_= ((char *)&x_) + STACK_DIRECTION * (X) - stack_top ; \ + long x_= ((char *)&x_) + STACK_DIRECTION * (X) - Pike_stack_top ; \ x_*=STACK_DIRECTION; \ if(x_>0) \ low_error("C stack overflow.\n"); \ }while(0) -#define pop_stack() do{ free_svalue(--sp); debug_check_stack(); }while(0) +#define pop_stack() do{ free_svalue(--Pike_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); \ + Pike_sp-=x_; debug_check_stack(); \ + free_svalues(Pike_sp,x_,BIT_MIXED); \ } } while (0) #define stack_pop_n_elems_keep_top(X) \ - do { struct svalue s=sp[-1]; sp[-1]=sp[-1-(X)]; sp[-1-(X)]=s; \ + do { struct svalue s=Pike_sp[-1]; Pike_sp[-1]=Pike_sp[-1-(X)]; Pike_sp[-1-(X)]=s; \ pop_n_elems(X); } while (0) -#define push_program(P) do{ struct program *_=(P); debug_malloc_touch(_); sp->u.program=_; sp++->type=PIKE_T_PROGRAM; }while(0) -#define push_int(I) do{ INT32 _=(I); sp->u.integer=_;sp->type=PIKE_T_INT;sp++->subtype=NUMBER_NUMBER; }while(0) -#define push_mapping(M) do{ struct mapping *_=(M); debug_malloc_touch(_); sp->u.mapping=_; sp++->type=PIKE_T_MAPPING; }while(0) -#define push_array(A) do{ struct array *_=(A); debug_malloc_touch(_); sp->u.array=_ ;sp++->type=PIKE_T_ARRAY; }while(0) -#define push_multiset(L) do{ struct multiset *_=(L); debug_malloc_touch(_); sp->u.multiset=_; sp++->type=PIKE_T_MULTISET; }while(0) -#define push_string(S) do{ struct pike_string *_=(S); debug_malloc_touch(_); sp->subtype=0; sp->u.string=_; sp++->type=PIKE_T_STRING; }while(0) -#define push_object(O) do{ struct object *_=(O); debug_malloc_touch(_); sp->u.object=_; sp++->type=PIKE_T_OBJECT; }while(0) -#define push_float(F) do{ float _=(F); sp->u.float_number=_; sp++->type=PIKE_T_FLOAT; }while(0) +#define push_program(P) do{ struct program *_=(P); debug_malloc_touch(_); Pike_sp->u.program=_; Pike_sp++->type=PIKE_T_PROGRAM; }while(0) +#define push_int(I) do{ INT32 _=(I); Pike_sp->u.integer=_;Pike_sp->type=PIKE_T_INT;Pike_sp++->subtype=NUMBER_NUMBER; }while(0) +#define push_mapping(M) do{ struct mapping *_=(M); debug_malloc_touch(_); Pike_sp->u.mapping=_; Pike_sp++->type=PIKE_T_MAPPING; }while(0) +#define push_array(A) do{ struct array *_=(A); debug_malloc_touch(_); Pike_sp->u.array=_ ;Pike_sp++->type=PIKE_T_ARRAY; }while(0) +#define push_multiset(L) do{ struct multiset *_=(L); debug_malloc_touch(_); Pike_sp->u.multiset=_; Pike_sp++->type=PIKE_T_MULTISET; }while(0) +#define push_string(S) do{ struct pike_string *_=(S); debug_malloc_touch(_); Pike_sp->subtype=0; Pike_sp->u.string=_; Pike_sp++->type=PIKE_T_STRING; }while(0) +#define push_object(O) do{ struct object *_=(O); debug_malloc_touch(_); Pike_sp->u.object=_; Pike_sp++->type=PIKE_T_OBJECT; }while(0) +#define push_float(F) do{ float _=(F); Pike_sp->u.float_number=_; Pike_sp++->type=PIKE_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=PIKE_T_STRING; }while(0) +#define push_constant_text(T) do{ Pike_sp->subtype=0; MAKE_CONSTANT_SHARED_STRING(Pike_sp->u.string,T); Pike_sp++->type=PIKE_T_STRING; }while(0) -#define ref_push_program(P) do{ struct program *_=(P); debug_malloc_touch(_); _->refs++; sp->u.program=_; sp++->type=PIKE_T_PROGRAM; }while(0) -#define ref_push_mapping(M) do{ struct mapping *_=(M); debug_malloc_touch(_); _->refs++; sp->u.mapping=_; sp++->type=PIKE_T_MAPPING; }while(0) -#define ref_push_array(A) do{ struct array *_=(A); debug_malloc_touch(_); _->refs++; sp->u.array=_ ;sp++->type=PIKE_T_ARRAY; }while(0) -#define ref_push_multiset(L) do{ struct multiset *_=(L); debug_malloc_touch(_); _->refs++; sp->u.multiset=_; sp++->type=PIKE_T_MULTISET; }while(0) -#define ref_push_string(S) do{ struct pike_string *_=(S); debug_malloc_touch(_); _->refs++; sp->subtype=0; sp->u.string=_; sp++->type=PIKE_T_STRING; }while(0) -#define ref_push_object(O) do{ struct object *_=(O); debug_malloc_touch(_); _->refs++; sp->u.object=_; sp++->type=PIKE_T_OBJECT; }while(0) +#define ref_push_program(P) do{ struct program *_=(P); debug_malloc_touch(_); _->refs++; Pike_sp->u.program=_; Pike_sp++->type=PIKE_T_PROGRAM; }while(0) +#define ref_push_mapping(M) do{ struct mapping *_=(M); debug_malloc_touch(_); _->refs++; Pike_sp->u.mapping=_; Pike_sp++->type=PIKE_T_MAPPING; }while(0) +#define ref_push_array(A) do{ struct array *_=(A); debug_malloc_touch(_); _->refs++; Pike_sp->u.array=_ ;Pike_sp++->type=PIKE_T_ARRAY; }while(0) +#define ref_push_multiset(L) do{ struct multiset *_=(L); debug_malloc_touch(_); _->refs++; Pike_sp->u.multiset=_; Pike_sp++->type=PIKE_T_MULTISET; }while(0) +#define ref_push_string(S) do{ struct pike_string *_=(S); debug_malloc_touch(_); _->refs++; Pike_sp->subtype=0; Pike_sp->u.string=_; Pike_sp++->type=PIKE_T_STRING; }while(0) +#define ref_push_object(O) do{ struct object *_=(O); debug_malloc_touch(_); _->refs++; Pike_sp->u.object=_; Pike_sp++->type=PIKE_T_OBJECT; }while(0) -#define push_svalue(S) do { struct svalue *_=(S); assign_svalue_no_free(sp,_); sp++; }while(0) +#define push_svalue(S) do { struct svalue *_=(S); assign_svalue_no_free(Pike_sp,_); Pike_sp++; }while(0) -#define stack_dup() push_svalue(sp-1) -#define stack_swap() do { struct svalue _=sp[-1]; sp[-1]=sp[-2]; sp[-2]=_; } while(0) +#define stack_dup() push_svalue(Pike_sp-1) +#define stack_swap() do { struct svalue _=Pike_sp[-1]; Pike_sp[-1]=Pike_sp[-2]; Pike_sp[-2]=_; } while(0) /* This pops a number of arguments from the stack but keeps the top * element on top. Used for popping the arguments while keeping the * return value. */ -#define stack_unlink(X) do { if(X) { free_svalue(sp-(X)-1); sp[-(X)-1]=sp[-1]; sp--; pop_n_elems(X-1); } }while(0) +#define stack_unlink(X) do { if(X) { free_svalue(Pike_sp-(X)-1); Pike_sp[-(X)-1]=Pike_sp[-1]; Pike_sp--; pop_n_elems(X-1); } }while(0) #define free_pike_frame(F) do{ struct pike_frame *f_=(F); debug_malloc_touch(f_); if(!--f_->refs) really_free_pike_frame(f_); }while(0) #define POP_PIKE_FRAME() do { \ - struct pike_frame *tmp_=fp->next; \ - if(!--fp->refs) \ + struct pike_frame *tmp_=Pike_fp->next; \ + if(!--Pike_fp->refs) \ { \ - really_free_pike_frame(fp); \ + really_free_pike_frame(Pike_fp); \ }else{ \ - DO_IF_DEBUG(if( fp->locals+fp->num_locals>sp) fatal("Stack failure in POP_PIKE_FRAME!\n")); \ - debug_malloc_touch(fp); \ - if(fp->num_locals) \ + DO_IF_DEBUG(if( Pike_fp->locals+Pike_fp->num_locals>Pike_sp) fatal("Stack failure in POP_PIKE_FRAME!\n")); \ + debug_malloc_touch(Pike_fp); \ + if(Pike_fp->num_locals) \ { \ struct svalue *s=(struct svalue *)xalloc(sizeof(struct svalue)* \ - fp->num_locals); \ - assign_svalues_no_free(s,fp->locals,fp->num_locals,BIT_MIXED); \ - fp->locals=s; \ - fp->malloced_locals=1; \ + Pike_fp->num_locals); \ + assign_svalues_no_free(s,Pike_fp->locals,Pike_fp->num_locals,BIT_MIXED); \ + Pike_fp->locals=s; \ + Pike_fp->malloced_locals=1; \ }else{ \ - fp->locals=0; \ + Pike_fp->locals=0; \ } \ - fp->next=0; \ + Pike_fp->next=0; \ } \ - fp=tmp_; \ + Pike_fp=tmp_; \ }while(0) @@ -211,13 +211,13 @@ void cleanup_interpret(void); void really_clean_up_interpret(void); /* Prototypes end here */ -extern struct svalue *sp; -extern struct svalue **mark_sp; -extern struct svalue *evaluator_stack; -extern struct svalue **mark_stack; -extern struct pike_frame *fp; /* pike_frame pointer */ -extern char *stack_top; -extern int stack_size; +extern struct svalue *Pike_sp; +extern struct svalue **Pike_mark_sp; +extern struct svalue *Pike_evaluator_stack; +extern struct svalue **Pike_mark_stack; +extern struct pike_frame *Pike_fp; /* pike_frame pointer */ +extern char *Pike_stack_top; +extern int Pike_stack_size; extern int evaluator_stack_malloced, mark_stack_malloced; struct callback; extern struct callback_list evaluator_callbacks; @@ -230,5 +230,17 @@ extern long long time_base; #endif #endif +#ifndef NO_PIKE_SHORTHAND + +#define sp Pike_sp +#define fp Pike_fp +#define evaluator_stack Pike_evaluator_stack +#define stack_top Pike_stack_top +#define mark_sp Pike_mark_sp +#define mark_stack Pike_mark_stack +#define stack_size Pike_stack_size + +#endif /* !NO_PIKE_SHORTHAND */ + #endif diff --git a/src/interpreter.h b/src/interpreter.h index 85295baf1c617633d31f8b50427aaa546a21cefa..5fb0203b494fad245b6db25d88c3a57e8e7196b8 100644 --- a/src/interpreter.h +++ b/src/interpreter.h @@ -22,10 +22,10 @@ static int eval_instruction(unsigned char *pc) { unsigned INT32 accumulator=0,instr, prefix=0; - debug_malloc_touch(fp); + debug_malloc_touch(Pike_fp); while(1) { - fp->pc = pc; + Pike_fp->pc = pc; instr=EXTRACT_UCHAR(pc++); #ifdef PIKE_DEBUG @@ -40,25 +40,25 @@ static int eval_instruction(unsigned char *pc) fatal("thread_for_id() (or thread_id) failed in interpreter.h! %p != %p\n",thread_for_id(th_self()),thread_id); #endif - sp[0].type=99; /* an invalid type */ - sp[1].type=99; - sp[2].type=99; - sp[3].type=99; + Pike_sp[0].type=99; /* an invalid type */ + Pike_sp[1].type=99; + Pike_sp[2].type=99; + Pike_sp[3].type=99; - if(sp<evaluator_stack || mark_sp < mark_stack || fp->locals>sp) + if(Pike_sp<Pike_evaluator_stack || Pike_mark_sp < Pike_mark_stack || Pike_fp->locals>Pike_sp) fatal("Stack error (generic).\n"); - if(sp > evaluator_stack+stack_size) + if(Pike_sp > Pike_evaluator_stack+Pike_stack_size) fatal("Stack error (overflow).\n"); - if(fp->fun>=0 && fp->current_object->prog && - fp->locals+fp->num_locals > sp) + if(Pike_fp->fun>=0 && Pike_fp->current_object->prog && + Pike_fp->locals+Pike_fp->num_locals > Pike_sp) fatal("Stack error (stupid!).\n"); - if(recoveries && sp-evaluator_stack < recoveries->sp) + if(recoveries && Pike_sp-Pike_evaluator_stack < recoveries->Pike_sp) fatal("Stack error (underflow).\n"); - if(mark_sp > mark_stack && mark_sp[-1] > sp) + if(Pike_mark_sp > Pike_mark_stack && Pike_mark_sp[-1] > Pike_sp) fatal("Stack error (underflow?)\n"); if(d_flag > 9) do_debug(); @@ -69,24 +69,24 @@ static int eval_instruction(unsigned char *pc) if(backlog[backlogp].program) free_program(backlog[backlogp].program); - backlog[backlogp].program=fp->context.prog; - add_ref(fp->context.prog); + backlog[backlogp].program=Pike_fp->context.prog; + add_ref(Pike_fp->context.prog); backlog[backlogp].instruction=instr; backlog[backlogp].arg=0; backlog[backlogp].pc=pc; - debug_malloc_touch(fp->current_object); + debug_malloc_touch(Pike_fp->current_object); switch(d_flag) { default: case 3: - check_object(fp->current_object); + check_object(Pike_fp->current_object); /* break; */ case 2: - check_object_context(fp->current_object, - fp->context.prog, - fp->current_storage); + check_object_context(Pike_fp->current_object, + Pike_fp->context.prog, + Pike_fp->current_storage); case 1: case 0: break; @@ -98,14 +98,14 @@ static int eval_instruction(unsigned char *pc) char *file, *f; INT32 linep; - file=get_line(pc-1,fp->context.prog,&linep); + file=get_line(pc-1,Pike_fp->context.prog,&linep); while((f=STRCHR(file,'/'))) file=f+1; fprintf(stderr,"- %s:%4ld:(%lx): %-25s %4ld %4ld\n", file,(long)linep, - (long)(pc-fp->context.prog->program-1), + (long)(pc-Pike_fp->context.prog->program-1), get_f_name(instr + F_OFFSET), - (long)(sp-evaluator_stack), - (long)(mark_sp-mark_stack)); + (long)(Pike_sp-Pike_evaluator_stack), + (long)(Pike_mark_sp-Pike_mark_stack)); } if(instr + F_OFFSET < F_MAX_OPCODE) @@ -130,7 +130,7 @@ static int eval_instruction(unsigned char *pc) CASE(F_LDA); accumulator=GET_ARG(); break; /* Push number */ - CASE(F_UNDEFINED); push_int(0); sp[-1].subtype=NUMBER_UNDEFINED; break; + CASE(F_UNDEFINED); push_int(0); Pike_sp[-1].subtype=NUMBER_UNDEFINED; break; CASE(F_CONST0); push_int(0); break; CASE(F_CONST1); push_int(1); break; CASE(F_CONST_1); push_int(-1); break; @@ -140,53 +140,53 @@ static int eval_instruction(unsigned char *pc) /* The rest of the basic 'push value' instructions */ - CASE(F_MARK_AND_STRING); *(mark_sp++)=sp; + CASE(F_MARK_AND_STRING); *(Pike_mark_sp++)=Pike_sp; CASE(F_STRING); - copy_shared_string(sp->u.string,fp->context.prog->strings[GET_ARG()]); - sp->type=PIKE_T_STRING; - sp->subtype=0; - sp++; + copy_shared_string(Pike_sp->u.string,Pike_fp->context.prog->strings[GET_ARG()]); + Pike_sp->type=PIKE_T_STRING; + Pike_sp->subtype=0; + Pike_sp++; print_return_value(); break; CASE(F_ARROW_STRING); - copy_shared_string(sp->u.string,fp->context.prog->strings[GET_ARG()]); - sp->type=PIKE_T_STRING; - sp->subtype=1; /* Magic */ - sp++; + copy_shared_string(Pike_sp->u.string,Pike_fp->context.prog->strings[GET_ARG()]); + Pike_sp->type=PIKE_T_STRING; + Pike_sp->subtype=1; /* Magic */ + Pike_sp++; print_return_value(); break; CASE(F_CONSTANT); - assign_svalue_no_free(sp++,& fp->context.prog->constants[GET_ARG()].sval); + assign_svalue_no_free(Pike_sp++,& Pike_fp->context.prog->constants[GET_ARG()].sval); print_return_value(); break; CASE(F_FLOAT); - sp->type=PIKE_T_FLOAT; - MEMCPY((void *)&sp->u.float_number, pc, sizeof(FLOAT_TYPE)); + Pike_sp->type=PIKE_T_FLOAT; + MEMCPY((void *)&Pike_sp->u.float_number, pc, sizeof(FLOAT_TYPE)); pc+=sizeof(FLOAT_TYPE); - sp++; + Pike_sp++; break; CASE(F_LFUN); - sp->u.object=fp->current_object; - add_ref(fp->current_object); - sp->subtype=GET_ARG()+fp->context.identifier_level; - sp->type=PIKE_T_FUNCTION; - sp++; + Pike_sp->u.object=Pike_fp->current_object; + add_ref(Pike_fp->current_object); + Pike_sp->subtype=GET_ARG()+Pike_fp->context.identifier_level; + Pike_sp->type=PIKE_T_FUNCTION; + Pike_sp++; print_return_value(); break; CASE(F_TRAMPOLINE); { struct object *o=low_clone(pike_trampoline_program); - add_ref( ((struct pike_trampoline *)(o->storage))->frame=fp ); - ((struct pike_trampoline *)(o->storage))->func=GET_ARG()+fp->context.identifier_level; + add_ref( ((struct pike_trampoline *)(o->storage))->frame=Pike_fp ); + ((struct pike_trampoline *)(o->storage))->func=GET_ARG()+Pike_fp->context.identifier_level; push_object(o); /* Make it look like a function. */ - sp[-1].subtype = pike_trampoline_program->lfuns[LFUN_CALL]; - sp[-1].type = T_FUNCTION; + Pike_sp[-1].subtype = pike_trampoline_program->lfuns[LFUN_CALL]; + Pike_sp[-1].type = T_FUNCTION; print_return_value(); break; } @@ -195,10 +195,10 @@ static int eval_instruction(unsigned char *pc) /* The not so basic 'push value' instructions */ CASE(F_GLOBAL); { - low_object_index_no_free(sp, - fp->current_object, - GET_ARG() + fp->context.identifier_level); - sp++; + low_object_index_no_free(Pike_sp, + Pike_fp->current_object, + GET_ARG() + Pike_fp->context.identifier_level); + Pike_sp++; print_return_value(); } break; @@ -210,9 +210,9 @@ static int eval_instruction(unsigned char *pc) struct object *o; INT32 i,id=GET_ARG(); - inherit=&fp->context; + inherit=&Pike_fp->context; - o=fp->current_object; + o=Pike_fp->current_object; if(!o) error("Current object is destructed\n"); @@ -289,10 +289,10 @@ static int eval_instruction(unsigned char *pc) --accumulator; } - low_object_index_no_free(sp, + low_object_index_no_free(Pike_sp, o, id + inherit->identifier_level); - sp++; + Pike_sp++; print_return_value(); break; } @@ -304,8 +304,8 @@ static int eval_instruction(unsigned char *pc) struct object *o; INT32 i,id=GET_ARG(); - inherit=&fp->context; - o=fp->current_object; + inherit=&Pike_fp->context; + o=Pike_fp->current_object; if(!o) error("Current object is destructed\n"); @@ -335,76 +335,76 @@ static int eval_instruction(unsigned char *pc) } ref_push_object(o); - sp->type=T_LVALUE; - sp->u.integer=id + inherit->identifier_level; - sp++; + Pike_sp->type=T_LVALUE; + Pike_sp->u.integer=id + inherit->identifier_level; + Pike_sp++; break; } - CASE(F_MARK_AND_LOCAL); *(mark_sp++)=sp; + CASE(F_MARK_AND_LOCAL); *(Pike_mark_sp++)=Pike_sp; CASE(F_LOCAL); - assign_svalue_no_free(sp++,fp->locals+GET_ARG()); + assign_svalue_no_free(Pike_sp++,Pike_fp->locals+GET_ARG()); print_return_value(); break; CASE(F_2_LOCALS); - assign_svalue_no_free(sp++,fp->locals+GET_ARG()); + assign_svalue_no_free(Pike_sp++,Pike_fp->locals+GET_ARG()); print_return_value(); - assign_svalue_no_free(sp++,fp->locals+GET_ARG2()); + assign_svalue_no_free(Pike_sp++,Pike_fp->locals+GET_ARG2()); print_return_value(); break; CASE(F_LOCAL_2_LOCAL); { int tmp=GET_ARG(); - assign_svalue(fp->locals+tmp, fp->locals+GET_ARG2()); + assign_svalue(Pike_fp->locals+tmp, Pike_fp->locals+GET_ARG2()); break; } CASE(F_LOCAL_2_GLOBAL); { - INT32 tmp=GET_ARG() + fp->context.identifier_level; + INT32 tmp=GET_ARG() + Pike_fp->context.identifier_level; struct identifier *i; - if(!fp->current_object->prog) + if(!Pike_fp->current_object->prog) error("Cannot access global variables in destructed object.\n"); - i=ID_FROM_INT(fp->current_object->prog, tmp); + i=ID_FROM_INT(Pike_fp->current_object->prog, tmp); if(!IDENTIFIER_IS_VARIABLE(i->identifier_flags)) error("Cannot assign functions or constants.\n"); if(i->run_time_type == T_MIXED) { - assign_svalue((struct svalue *)GLOBAL_FROM_INT(tmp), fp->locals + GET_ARG2()); + assign_svalue((struct svalue *)GLOBAL_FROM_INT(tmp), Pike_fp->locals + GET_ARG2()); }else{ assign_to_short_svalue((union anything *)GLOBAL_FROM_INT(tmp), i->run_time_type, - fp->locals + GET_ARG2()); + Pike_fp->locals + GET_ARG2()); } break; } CASE(F_GLOBAL_2_LOCAL); { - INT32 tmp=GET_ARG() + fp->context.identifier_level; + INT32 tmp=GET_ARG() + Pike_fp->context.identifier_level; INT32 tmp2=GET_ARG2(); - free_svalue(fp->locals + tmp2); - low_object_index_no_free(fp->locals + tmp2, - fp->current_object, + free_svalue(Pike_fp->locals + tmp2); + low_object_index_no_free(Pike_fp->locals + tmp2, + Pike_fp->current_object, tmp); break; } CASE(F_LOCAL_LVALUE); - sp[0].type=T_LVALUE; - sp[0].u.lval=fp->locals+GET_ARG(); - sp[1].type=T_VOID; - sp+=2; + Pike_sp[0].type=T_LVALUE; + Pike_sp[0].u.lval=Pike_fp->locals+GET_ARG(); + Pike_sp[1].type=T_VOID; + Pike_sp+=2; break; CASE(F_LEXICAL_LOCAL); { - struct pike_frame *f=fp; + struct pike_frame *f=Pike_fp; while(accumulator--) { f=f->scope; @@ -417,103 +417,103 @@ static int eval_instruction(unsigned char *pc) CASE(F_LEXICAL_LOCAL_LVALUE); { - struct pike_frame *f=fp; + struct pike_frame *f=Pike_fp; while(accumulator--) { f=f->scope; if(!f) error("Lexical scope error.\n"); } - sp[0].type=T_LVALUE; - sp[0].u.lval=f->locals+GET_ARG(); - sp[1].type=T_VOID; - sp+=2; + Pike_sp[0].type=T_LVALUE; + Pike_sp[0].u.lval=f->locals+GET_ARG(); + Pike_sp[1].type=T_VOID; + Pike_sp+=2; break; } CASE(F_ARRAY_LVALUE); f_aggregate(GET_ARG()*2); - sp[-1].u.array->flags |= ARRAY_LVALUE; - sp[-1].u.array->type_field |= BIT_UNFINISHED | BIT_MIXED; - sp[0]=sp[-1]; - sp[-1].type=T_ARRAY_LVALUE; - sp++; + Pike_sp[-1].u.array->flags |= ARRAY_LVALUE; + Pike_sp[-1].u.array->type_field |= BIT_UNFINISHED | BIT_MIXED; + Pike_sp[0]=Pike_sp[-1]; + Pike_sp[-1].type=T_ARRAY_LVALUE; + Pike_sp++; break; CASE(F_CLEAR_2_LOCAL); instr=GET_ARG(); - free_svalues(fp->locals + instr, 2, -1); - fp->locals[instr].type=PIKE_T_INT; - fp->locals[instr].subtype=0; - fp->locals[instr].u.integer=0; - fp->locals[instr+1].type=PIKE_T_INT; - fp->locals[instr+1].subtype=0; - fp->locals[instr+1].u.integer=0; + free_svalues(Pike_fp->locals + instr, 2, -1); + Pike_fp->locals[instr].type=PIKE_T_INT; + Pike_fp->locals[instr].subtype=0; + Pike_fp->locals[instr].u.integer=0; + Pike_fp->locals[instr+1].type=PIKE_T_INT; + Pike_fp->locals[instr+1].subtype=0; + Pike_fp->locals[instr+1].u.integer=0; break; CASE(F_CLEAR_4_LOCAL); { int e; instr=GET_ARG(); - free_svalues(fp->locals + instr, 4, -1); + free_svalues(Pike_fp->locals + instr, 4, -1); for(e=0;e<4;e++) { - fp->locals[instr+e].type=PIKE_T_INT; - fp->locals[instr+e].subtype=0; - fp->locals[instr+e].u.integer=0; + Pike_fp->locals[instr+e].type=PIKE_T_INT; + Pike_fp->locals[instr+e].subtype=0; + Pike_fp->locals[instr+e].u.integer=0; } break; } CASE(F_CLEAR_LOCAL); instr=GET_ARG(); - free_svalue(fp->locals + instr); - fp->locals[instr].type=PIKE_T_INT; - fp->locals[instr].subtype=0; - fp->locals[instr].u.integer=0; + free_svalue(Pike_fp->locals + instr); + Pike_fp->locals[instr].type=PIKE_T_INT; + Pike_fp->locals[instr].subtype=0; + Pike_fp->locals[instr].u.integer=0; break; CASE(F_INC_LOCAL); instr=GET_ARG(); #ifdef AUTO_BIGNUM - if(fp->locals[instr].type == PIKE_T_INT && - !INT_TYPE_ADD_OVERFLOW(fp->locals[instr].u.integer, 1)) + if(Pike_fp->locals[instr].type == PIKE_T_INT && + !INT_TYPE_ADD_OVERFLOW(Pike_fp->locals[instr].u.integer, 1)) #else - if(fp->locals[instr].type == PIKE_T_INT) + if(Pike_fp->locals[instr].type == PIKE_T_INT) #endif /* AUTO_BIGNUM */ { - fp->locals[instr].u.integer++; - assign_svalue_no_free(sp++,fp->locals+instr); + Pike_fp->locals[instr].u.integer++; + assign_svalue_no_free(Pike_sp++,Pike_fp->locals+instr); } else { - assign_svalue_no_free(sp++,fp->locals+instr); + assign_svalue_no_free(Pike_sp++,Pike_fp->locals+instr); push_int(1); f_add(2); - assign_svalue(fp->locals+instr,sp-1); + assign_svalue(Pike_fp->locals+instr,Pike_sp-1); } break; CASE(F_POST_INC_LOCAL); instr=GET_ARG(); - assign_svalue_no_free(sp++,fp->locals+instr); + assign_svalue_no_free(Pike_sp++,Pike_fp->locals+instr); goto inc_local_and_pop; CASE(F_INC_LOCAL_AND_POP); instr=GET_ARG(); inc_local_and_pop: #ifdef AUTO_BIGNUM - if(fp->locals[instr].type == PIKE_T_INT && - !INT_TYPE_ADD_OVERFLOW(fp->locals[instr].u.integer, 1)) + if(Pike_fp->locals[instr].type == PIKE_T_INT && + !INT_TYPE_ADD_OVERFLOW(Pike_fp->locals[instr].u.integer, 1)) #else - if(fp->locals[instr].type == PIKE_T_INT) + if(Pike_fp->locals[instr].type == PIKE_T_INT) #endif /* AUTO_BIGNUM */ { - fp->locals[instr].u.integer++; + Pike_fp->locals[instr].u.integer++; }else{ - assign_svalue_no_free(sp++,fp->locals+instr); + assign_svalue_no_free(Pike_sp++,Pike_fp->locals+instr); push_int(1); f_add(2); - assign_svalue(fp->locals+instr,sp-1); + assign_svalue(Pike_fp->locals+instr,Pike_sp-1); pop_stack(); } break; @@ -521,59 +521,59 @@ static int eval_instruction(unsigned char *pc) CASE(F_DEC_LOCAL); instr=GET_ARG(); #ifdef AUTO_BIGNUM - if(fp->locals[instr].type == PIKE_T_INT && - !INT_TYPE_SUB_OVERFLOW(fp->locals[instr].u.integer, 1)) + if(Pike_fp->locals[instr].type == PIKE_T_INT && + !INT_TYPE_SUB_OVERFLOW(Pike_fp->locals[instr].u.integer, 1)) #else - if(fp->locals[instr].type == PIKE_T_INT) + if(Pike_fp->locals[instr].type == PIKE_T_INT) #endif /* AUTO_BIGNUM */ { - fp->locals[instr].u.integer--; - assign_svalue_no_free(sp++,fp->locals+instr); + Pike_fp->locals[instr].u.integer--; + assign_svalue_no_free(Pike_sp++,Pike_fp->locals+instr); }else{ - assign_svalue_no_free(sp++,fp->locals+instr); + assign_svalue_no_free(Pike_sp++,Pike_fp->locals+instr); push_int(1); o_subtract(); - assign_svalue(fp->locals+instr,sp-1); + assign_svalue(Pike_fp->locals+instr,Pike_sp-1); } break; CASE(F_POST_DEC_LOCAL); instr=GET_ARG(); - assign_svalue_no_free(sp++,fp->locals+instr); + assign_svalue_no_free(Pike_sp++,Pike_fp->locals+instr); goto dec_local_and_pop; - /* fp->locals[instr].u.integer--; */ + /* Pike_fp->locals[instr].u.integer--; */ break; CASE(F_DEC_LOCAL_AND_POP); instr=GET_ARG(); dec_local_and_pop: #ifdef AUTO_BIGNUM - if(fp->locals[instr].type == PIKE_T_INT && - !INT_TYPE_SUB_OVERFLOW(fp->locals[instr].u.integer, 1)) + if(Pike_fp->locals[instr].type == PIKE_T_INT && + !INT_TYPE_SUB_OVERFLOW(Pike_fp->locals[instr].u.integer, 1)) #else - if(fp->locals[instr].type == PIKE_T_INT) + if(Pike_fp->locals[instr].type == PIKE_T_INT) #endif /* AUTO_BIGNUM */ { - fp->locals[instr].u.integer--; + Pike_fp->locals[instr].u.integer--; }else{ - assign_svalue_no_free(sp++,fp->locals+instr); + assign_svalue_no_free(Pike_sp++,Pike_fp->locals+instr); push_int(1); o_subtract(); - assign_svalue(fp->locals+instr,sp-1); + assign_svalue(Pike_fp->locals+instr,Pike_sp-1); pop_stack(); } break; CASE(F_LTOSVAL); - lvalue_to_svalue_no_free(sp,sp-2); - sp++; + lvalue_to_svalue_no_free(Pike_sp,Pike_sp-2); + Pike_sp++; break; CASE(F_LTOSVAL2); - sp[0]=sp[-1]; - sp[-1].type=PIKE_T_INT; - sp++; - lvalue_to_svalue_no_free(sp-2,sp-4); + Pike_sp[0]=Pike_sp[-1]; + Pike_sp[-1].type=PIKE_T_INT; + Pike_sp++; + lvalue_to_svalue_no_free(Pike_sp-2,Pike_sp-4); /* this is so that foo+=bar (and similar things) will be faster, this * is done by freeing the old reference to foo after it has been pushed @@ -581,22 +581,22 @@ static int eval_instruction(unsigned char *pc) * and then the low array/multiset/mapping manipulation routines can be * destructive if they like */ - if( (1 << sp[-2].type) & ( BIT_ARRAY | BIT_MULTISET | BIT_MAPPING | BIT_STRING )) + if( (1 << Pike_sp[-2].type) & ( BIT_ARRAY | BIT_MULTISET | BIT_MAPPING | BIT_STRING )) { struct svalue s; s.type=PIKE_T_INT; s.subtype=0; s.u.integer=0; - assign_lvalue(sp-4,&s); + assign_lvalue(Pike_sp-4,&s); } break; CASE(F_ADD_TO_AND_POP); - sp[0]=sp[-1]; - sp[-1].type=PIKE_T_INT; - sp++; - lvalue_to_svalue_no_free(sp-2,sp-4); + Pike_sp[0]=Pike_sp[-1]; + Pike_sp[-1].type=PIKE_T_INT; + Pike_sp++; + lvalue_to_svalue_no_free(Pike_sp-2,Pike_sp-4); /* this is so that foo+=bar (and similar things) will be faster, this * is done by freeing the old reference to foo after it has been pushed @@ -604,49 +604,49 @@ static int eval_instruction(unsigned char *pc) * and then the low array/multiset/mapping manipulation routines can be * destructive if they like */ - if( (1 << sp[-2].type) & ( BIT_ARRAY | BIT_MULTISET | BIT_MAPPING | BIT_STRING )) + if( (1 << Pike_sp[-2].type) & ( BIT_ARRAY | BIT_MULTISET | BIT_MAPPING | BIT_STRING )) { struct svalue s; s.type=PIKE_T_INT; s.subtype=0; s.u.integer=0; - assign_lvalue(sp-4,&s); + assign_lvalue(Pike_sp-4,&s); } f_add(2); - assign_lvalue(sp-3,sp-1); + assign_lvalue(Pike_sp-3,Pike_sp-1); pop_n_elems(3); break; CASE(F_GLOBAL_LVALUE); { struct identifier *i; - INT32 tmp=GET_ARG() + fp->context.identifier_level; + INT32 tmp=GET_ARG() + Pike_fp->context.identifier_level; - if(!fp->current_object->prog) + if(!Pike_fp->current_object->prog) error("Cannot access global variables in destructed object.\n"); - i=ID_FROM_INT(fp->current_object->prog, tmp); + i=ID_FROM_INT(Pike_fp->current_object->prog, tmp); if(!IDENTIFIER_IS_VARIABLE(i->identifier_flags)) error("Cannot re-assign functions or constants.\n"); if(i->run_time_type == T_MIXED) { - sp[0].type=T_LVALUE; - sp[0].u.lval=(struct svalue *)GLOBAL_FROM_INT(tmp); + Pike_sp[0].type=T_LVALUE; + Pike_sp[0].u.lval=(struct svalue *)GLOBAL_FROM_INT(tmp); }else{ - sp[0].type=T_SHORT_LVALUE; - sp[0].u.short_lval= (union anything *)GLOBAL_FROM_INT(tmp); - sp[0].subtype=i->run_time_type; + Pike_sp[0].type=T_SHORT_LVALUE; + Pike_sp[0].u.short_lval= (union anything *)GLOBAL_FROM_INT(tmp); + Pike_sp[0].subtype=i->run_time_type; } - sp[1].type=T_VOID; - sp+=2; + Pike_sp[1].type=T_VOID; + Pike_sp+=2; break; } CASE(F_INC); { - union anything *u=get_pointer_if_this_type(sp-2, PIKE_T_INT); + union anything *u=get_pointer_if_this_type(Pike_sp-2, PIKE_T_INT); if(u #ifdef AUTO_BIGNUM && !INT_TYPE_ADD_OVERFLOW(u->integer, 1) @@ -658,18 +658,18 @@ static int eval_instruction(unsigned char *pc) push_int(u->integer); break; } - lvalue_to_svalue_no_free(sp, sp-2); sp++; + lvalue_to_svalue_no_free(Pike_sp, Pike_sp-2); Pike_sp++; push_int(1); f_add(2); - assign_lvalue(sp-3, sp-1); - assign_svalue(sp-3, sp-1); + assign_lvalue(Pike_sp-3, Pike_sp-1); + assign_svalue(Pike_sp-3, Pike_sp-1); pop_n_elems(2); break; } CASE(F_DEC); { - union anything *u=get_pointer_if_this_type(sp-2, PIKE_T_INT); + union anything *u=get_pointer_if_this_type(Pike_sp-2, PIKE_T_INT); if(u #ifdef AUTO_BIGNUM && !INT_TYPE_SUB_OVERFLOW(u->integer, 1) @@ -681,18 +681,18 @@ static int eval_instruction(unsigned char *pc) push_int(u->integer); break; } - lvalue_to_svalue_no_free(sp, sp-2); sp++; + lvalue_to_svalue_no_free(Pike_sp, Pike_sp-2); Pike_sp++; push_int(1); o_subtract(); - assign_lvalue(sp-3, sp-1); - assign_svalue(sp-3, sp-1); + assign_lvalue(Pike_sp-3, Pike_sp-1); + assign_svalue(Pike_sp-3, Pike_sp-1); pop_n_elems(2); break; } CASE(F_DEC_AND_POP); { - union anything *u=get_pointer_if_this_type(sp-2, PIKE_T_INT); + union anything *u=get_pointer_if_this_type(Pike_sp-2, PIKE_T_INT); if(u #ifdef AUTO_BIGNUM && !INT_TYPE_SUB_OVERFLOW(u->integer, 1) @@ -702,10 +702,10 @@ static int eval_instruction(unsigned char *pc) instr=-- u->integer; pop_n_elems(2); }else{ - lvalue_to_svalue_no_free(sp, sp-2); sp++; + lvalue_to_svalue_no_free(Pike_sp, Pike_sp-2); Pike_sp++; push_int(1); o_subtract(); - assign_lvalue(sp-3, sp-1); + assign_lvalue(Pike_sp-3, Pike_sp-1); pop_n_elems(3); } break; @@ -713,7 +713,7 @@ static int eval_instruction(unsigned char *pc) CASE(F_INC_AND_POP); { - union anything *u=get_pointer_if_this_type(sp-2, PIKE_T_INT); + union anything *u=get_pointer_if_this_type(Pike_sp-2, PIKE_T_INT); if(u #ifdef AUTO_BIGNUM && !INT_TYPE_ADD_OVERFLOW(u->integer, 1) @@ -724,17 +724,17 @@ static int eval_instruction(unsigned char *pc) pop_n_elems(2); break; } - lvalue_to_svalue_no_free(sp, sp-2); sp++; + lvalue_to_svalue_no_free(Pike_sp, Pike_sp-2); Pike_sp++; push_int(1); f_add(2); - assign_lvalue(sp-3, sp-1); + assign_lvalue(Pike_sp-3, Pike_sp-1); pop_n_elems(3); break; } CASE(F_POST_INC); { - union anything *u=get_pointer_if_this_type(sp-2, PIKE_T_INT); + union anything *u=get_pointer_if_this_type(Pike_sp-2, PIKE_T_INT); if(u #ifdef AUTO_BIGNUM && !INT_TYPE_ADD_OVERFLOW(u->integer, 1) @@ -746,19 +746,19 @@ static int eval_instruction(unsigned char *pc) push_int(instr); break; } - lvalue_to_svalue_no_free(sp, sp-2); sp++; - assign_svalue_no_free(sp,sp-1); sp++; + lvalue_to_svalue_no_free(Pike_sp, Pike_sp-2); Pike_sp++; + assign_svalue_no_free(Pike_sp,Pike_sp-1); Pike_sp++; push_int(1); f_add(2); - assign_lvalue(sp-4, sp-1); - assign_svalue(sp-4, sp-2); + assign_lvalue(Pike_sp-4, Pike_sp-1); + assign_svalue(Pike_sp-4, Pike_sp-2); pop_n_elems(3); break; } CASE(F_POST_DEC); { - union anything *u=get_pointer_if_this_type(sp-2, PIKE_T_INT); + union anything *u=get_pointer_if_this_type(Pike_sp-2, PIKE_T_INT); if(u #ifdef AUTO_BIGNUM && !INT_TYPE_SUB_OVERFLOW(u->integer, 1) @@ -770,65 +770,65 @@ static int eval_instruction(unsigned char *pc) push_int(instr); break; } - lvalue_to_svalue_no_free(sp, sp-2); sp++; - assign_svalue_no_free(sp,sp-1); sp++; + lvalue_to_svalue_no_free(Pike_sp, Pike_sp-2); Pike_sp++; + assign_svalue_no_free(Pike_sp,Pike_sp-1); Pike_sp++; push_int(1); o_subtract(); - assign_lvalue(sp-4, sp-1); - assign_svalue(sp-4, sp-2); + assign_lvalue(Pike_sp-4, Pike_sp-1); + assign_svalue(Pike_sp-4, Pike_sp-2); pop_n_elems(3); break; } CASE(F_ASSIGN); - assign_lvalue(sp-3,sp-1); - free_svalue(sp-3); - free_svalue(sp-2); - sp[-3]=sp[-1]; - sp-=2; + assign_lvalue(Pike_sp-3,Pike_sp-1); + free_svalue(Pike_sp-3); + free_svalue(Pike_sp-2); + Pike_sp[-3]=Pike_sp[-1]; + Pike_sp-=2; break; CASE(F_ASSIGN_AND_POP); - assign_lvalue(sp-3,sp-1); + assign_lvalue(Pike_sp-3,Pike_sp-1); pop_n_elems(3); break; CASE(F_APPLY_ASSIGN_LOCAL); - strict_apply_svalue(fp->context.prog->constants + GET_ARG(), sp - *--mark_sp ); + strict_apply_svalue(Pike_fp->context.prog->constants + GET_ARG(), Pike_sp - *--Pike_mark_sp ); /* Fall through */ CASE(F_ASSIGN_LOCAL); - assign_svalue(fp->locals+GET_ARG(),sp-1); + assign_svalue(Pike_fp->locals+GET_ARG(),Pike_sp-1); break; CASE(F_APPLY_ASSIGN_LOCAL_AND_POP); - strict_apply_svalue(fp->context.prog->constants + GET_ARG(), sp - *--mark_sp ); + strict_apply_svalue(Pike_fp->context.prog->constants + GET_ARG(), Pike_sp - *--Pike_mark_sp ); /* Fall through */ CASE(F_ASSIGN_LOCAL_AND_POP); instr=GET_ARG(); - free_svalue(fp->locals+instr); - fp->locals[instr]=sp[-1]; - sp--; + free_svalue(Pike_fp->locals+instr); + Pike_fp->locals[instr]=Pike_sp[-1]; + Pike_sp--; break; CASE(F_ASSIGN_GLOBAL) { struct identifier *i; - INT32 tmp=GET_ARG() + fp->context.identifier_level; - if(!fp->current_object->prog) + INT32 tmp=GET_ARG() + Pike_fp->context.identifier_level; + if(!Pike_fp->current_object->prog) error("Cannot access global variables in destructed object.\n"); - i=ID_FROM_INT(fp->current_object->prog, tmp); + i=ID_FROM_INT(Pike_fp->current_object->prog, tmp); if(!IDENTIFIER_IS_VARIABLE(i->identifier_flags)) error("Cannot assign functions or constants.\n"); if(i->run_time_type == T_MIXED) { - assign_svalue((struct svalue *)GLOBAL_FROM_INT(tmp), sp-1); + assign_svalue((struct svalue *)GLOBAL_FROM_INT(tmp), Pike_sp-1); }else{ assign_to_short_svalue((union anything *)GLOBAL_FROM_INT(tmp), i->run_time_type, - sp-1); + Pike_sp-1); } } break; @@ -836,11 +836,11 @@ static int eval_instruction(unsigned char *pc) CASE(F_ASSIGN_GLOBAL_AND_POP) { struct identifier *i; - INT32 tmp=GET_ARG() + fp->context.identifier_level; - if(!fp->current_object->prog) + INT32 tmp=GET_ARG() + Pike_fp->context.identifier_level; + if(!Pike_fp->current_object->prog) error("Cannot access global variables in destructed object.\n"); - i=ID_FROM_INT(fp->current_object->prog, tmp); + i=ID_FROM_INT(Pike_fp->current_object->prog, tmp); if(!IDENTIFIER_IS_VARIABLE(i->identifier_flags)) error("Cannot assign functions or constants.\n"); @@ -848,12 +848,12 @@ static int eval_instruction(unsigned char *pc) { struct svalue *s=(struct svalue *)GLOBAL_FROM_INT(tmp); free_svalue(s); - sp--; - *s=*sp; + Pike_sp--; + *s=*Pike_sp; }else{ assign_to_short_svalue((union anything *)GLOBAL_FROM_INT(tmp), i->run_time_type, - sp-1); + Pike_sp-1); pop_stack(); } } @@ -862,13 +862,13 @@ static int eval_instruction(unsigned char *pc) /* Stack machine stuff */ CASE(F_POP_VALUE); pop_stack(); break; CASE(F_POP_N_ELEMS); pop_n_elems(GET_ARG()); break; - CASE(F_MARK2); *(mark_sp++)=sp; - CASE(F_MARK); *(mark_sp++)=sp; break; - CASE(F_MARK_X); *(mark_sp++)=sp-GET_ARG(); break; - CASE(F_POP_MARK); --mark_sp; break; + CASE(F_MARK2); *(Pike_mark_sp++)=Pike_sp; + CASE(F_MARK); *(Pike_mark_sp++)=Pike_sp; break; + CASE(F_MARK_X); *(Pike_mark_sp++)=Pike_sp-GET_ARG(); break; + CASE(F_POP_MARK); --Pike_mark_sp; break; CASE(F_CLEAR_STRING_SUBTYPE); - if(sp[-1].type==PIKE_T_STRING) sp[-1].subtype=0; + if(Pike_sp[-1].type==PIKE_T_STRING) Pike_sp[-1].subtype=0; break; /* Jumps */ @@ -880,18 +880,18 @@ static int eval_instruction(unsigned char *pc) { struct svalue tmp; tmp.type=PIKE_T_STRING; - tmp.u.string=fp->context.prog->strings[GET_ARG()]; + tmp.u.string=Pike_fp->context.prog->strings[GET_ARG()]; tmp.subtype=1; - sp->type=PIKE_T_INT; - sp++; - index_no_free(sp-1,fp->locals+GET_ARG2() , &tmp); + Pike_sp->type=PIKE_T_INT; + Pike_sp++; + index_no_free(Pike_sp-1,Pike_fp->locals+GET_ARG2() , &tmp); print_return_value(); } /* Fall through */ CASE(F_BRANCH_WHEN_ZERO); - if(!IS_ZERO(sp-1)) + if(!IS_ZERO(Pike_sp-1)) { pc+=sizeof(INT32); }else{ @@ -902,7 +902,7 @@ static int eval_instruction(unsigned char *pc) CASE(F_BRANCH_WHEN_NON_ZERO); - if(IS_ZERO(sp-1)) + if(IS_ZERO(Pike_sp-1)) { pc+=sizeof(INT32); }else{ @@ -913,7 +913,7 @@ static int eval_instruction(unsigned char *pc) CASE(F_BRANCH_IF_LOCAL); instr=GET_ARG(); - if(IS_ZERO(fp->locals + instr)) + if(IS_ZERO(Pike_fp->locals + instr)) { pc+=sizeof(INT32); }else{ @@ -923,7 +923,7 @@ static int eval_instruction(unsigned char *pc) CASE(F_BRANCH_IF_NOT_LOCAL); instr=GET_ARG(); - if(!IS_ZERO(fp->locals + instr)) + if(!IS_ZERO(Pike_fp->locals + instr)) { pc+=sizeof(INT32); }else{ @@ -939,7 +939,7 @@ static int eval_instruction(unsigned char *pc) CJUMP(F_BRANCH_WHEN_GE,!is_lt); CASE(F_BRANCH_AND_POP_WHEN_ZERO); - if(!IS_ZERO(sp-1)) + if(!IS_ZERO(Pike_sp-1)) { pc+=sizeof(INT32); }else{ @@ -949,7 +949,7 @@ static int eval_instruction(unsigned char *pc) break; CASE(F_BRANCH_AND_POP_WHEN_NON_ZERO); - if(IS_ZERO(sp-1)) + if(IS_ZERO(Pike_sp-1)) { pc+=sizeof(INT32); }else{ @@ -959,7 +959,7 @@ static int eval_instruction(unsigned char *pc) break; CASE(F_LAND); - if(!IS_ZERO(sp-1)) + if(!IS_ZERO(Pike_sp-1)) { pc+=sizeof(INT32); pop_stack(); @@ -969,7 +969,7 @@ static int eval_instruction(unsigned char *pc) break; CASE(F_LOR); - if(IS_ZERO(sp-1)) + if(IS_ZERO(Pike_sp-1)) { pc+=sizeof(INT32); pop_stack(); @@ -979,7 +979,7 @@ static int eval_instruction(unsigned char *pc) break; CASE(F_EQ_OR); - if(!is_eq(sp-2,sp-1)) + if(!is_eq(Pike_sp-2,Pike_sp-1)) { pop_n_elems(2); pc+=sizeof(INT32); @@ -991,7 +991,7 @@ static int eval_instruction(unsigned char *pc) break; CASE(F_EQ_AND); - if(is_eq(sp-2,sp-1)) + if(is_eq(Pike_sp-2,Pike_sp-1)) { pop_n_elems(2); pc+=sizeof(INT32); @@ -1017,8 +1017,8 @@ static int eval_instruction(unsigned char *pc) CASE(F_SWITCH) { INT32 tmp; - tmp=switch_lookup(fp->context.prog-> - constants[GET_ARG()].sval.u.array,sp-1); + tmp=switch_lookup(Pike_fp->context.prog-> + constants[GET_ARG()].sval.u.array,Pike_sp-1); pc=(unsigned char *)DO_ALIGN(pc,sizeof(INT32)); pc+=(tmp>=0 ? 1+tmp*2 : 2*~tmp) * sizeof(INT32); if(*(INT32*)pc < 0) fast_check_threads_etc(7); @@ -1035,18 +1035,18 @@ static int eval_instruction(unsigned char *pc) CASE(F_FOREACH) /* array, lvalue, X, i */ { - if(sp[-4].type != PIKE_T_ARRAY) - PIKE_ERROR("foreach", "Bad argument 1.\n", sp-3, 1); - if(sp[-1].u.integer < sp[-4].u.array->size) + if(Pike_sp[-4].type != PIKE_T_ARRAY) + PIKE_ERROR("foreach", "Bad argument 1.\n", Pike_sp-3, 1); + if(Pike_sp[-1].u.integer < Pike_sp[-4].u.array->size) { fast_check_threads_etc(10); - index_no_free(sp,sp-4,sp-1); - sp++; - assign_lvalue(sp-4, sp-1); - free_svalue(sp-1); - sp--; + index_no_free(Pike_sp,Pike_sp-4,Pike_sp-1); + Pike_sp++; + assign_lvalue(Pike_sp-4, Pike_sp-1); + free_svalue(Pike_sp-1); + Pike_sp--; pc+=EXTRACT_INT(pc); - sp[-1].u.integer++; + Pike_sp[-1].u.integer++; }else{ pc+=sizeof(INT32); } @@ -1055,57 +1055,57 @@ static int eval_instruction(unsigned char *pc) CASE(F_APPLY_AND_RETURN); { - INT32 args=sp - *--mark_sp; -/* fprintf(stderr,"%p >= %p\n",fp->expendible,sp-args); */ - if(fp->expendible >= sp-args) + INT32 args=Pike_sp - *--Pike_mark_sp; +/* fprintf(stderr,"%p >= %p\n",Pike_fp->expendible,Pike_sp-args); */ + if(Pike_fp->expendible >= Pike_sp-args) { /* fprintf(stderr,"NOT EXPENDIBLE!\n"); */ - MEMMOVE(sp-args+1,sp-args,args*sizeof(struct svalue)); - sp++; - sp[-args-1].type=PIKE_T_INT; + MEMMOVE(Pike_sp-args+1,Pike_sp-args,args*sizeof(struct svalue)); + Pike_sp++; + Pike_sp[-args-1].type=PIKE_T_INT; } /* We sabotage the stack here */ - assign_svalue(sp-args-1,&fp->context.prog->constants[GET_ARG()].sval); + assign_svalue(Pike_sp-args-1,&Pike_fp->context.prog->constants[GET_ARG()].sval); return args+1; } CASE(F_CALL_LFUN_AND_RETURN); { - INT32 args=sp - *--mark_sp; - if(fp->expendible >= sp-args) + INT32 args=Pike_sp - *--Pike_mark_sp; + if(Pike_fp->expendible >= Pike_sp-args) { - MEMMOVE(sp-args+1,sp-args,args*sizeof(struct svalue)); - sp++; - sp[-args-1].type=PIKE_T_INT; + MEMMOVE(Pike_sp-args+1,Pike_sp-args,args*sizeof(struct svalue)); + Pike_sp++; + Pike_sp[-args-1].type=PIKE_T_INT; }else{ - free_svalue(sp-args-1); + free_svalue(Pike_sp-args-1); } /* More stack sabotage */ - sp[-args-1].u.object=fp->current_object; - sp[-args-1].subtype=GET_ARG()+fp->context.identifier_level; + Pike_sp[-args-1].u.object=Pike_fp->current_object; + Pike_sp[-args-1].subtype=GET_ARG()+Pike_fp->context.identifier_level; #ifdef PIKE_DEBUG if(t_flag > 9) - fprintf(stderr,"- IDENTIFIER_LEVEL: %d\n",fp->context.identifier_level); + fprintf(stderr,"- IDENTIFIER_LEVEL: %d\n",Pike_fp->context.identifier_level); #endif - sp[-args-1].type=PIKE_T_FUNCTION; - add_ref(fp->current_object); + Pike_sp[-args-1].type=PIKE_T_FUNCTION; + add_ref(Pike_fp->current_object); return args+1; } CASE(F_RETURN_LOCAL); instr=GET_ARG(); - if(fp->expendible <= fp->locals+instr) + if(Pike_fp->expendible <= Pike_fp->locals+instr) { - pop_n_elems(sp-1 - (fp->locals+instr)); + pop_n_elems(Pike_sp-1 - (Pike_fp->locals+instr)); }else{ - push_svalue(fp->locals+instr); + push_svalue(Pike_fp->locals+instr); } print_return_value(); goto do_return; CASE(F_RETURN_IF_TRUE); - if(!IS_ZERO(sp-1)) + if(!IS_ZERO(Pike_sp-1)) goto do_return; pop_stack(); break; @@ -1132,21 +1132,21 @@ static int eval_instruction(unsigned char *pc) return -1; CASE(F_NEGATE); - if(sp[-1].type == PIKE_T_INT) + if(Pike_sp[-1].type == PIKE_T_INT) { #ifdef AUTO_BIGNUM - if(INT_TYPE_NEG_OVERFLOW(sp[-1].u.integer)) + if(INT_TYPE_NEG_OVERFLOW(Pike_sp[-1].u.integer)) { convert_stack_top_to_bignum(); o_negate(); } else #endif /* AUTO_BIGNUM */ - sp[-1].u.integer =- sp[-1].u.integer; + Pike_sp[-1].u.integer =- Pike_sp[-1].u.integer; } - else if(sp[-1].type == PIKE_T_FLOAT) + else if(Pike_sp[-1].type == PIKE_T_FLOAT) { - sp[-1].u.float_number =- sp[-1].u.float_number; + Pike_sp[-1].u.float_number =- Pike_sp[-1].u.float_number; }else{ o_negate(); } @@ -1155,15 +1155,15 @@ static int eval_instruction(unsigned char *pc) CASE(F_COMPL); o_compl(); break; CASE(F_NOT); - switch(sp[-1].type) + switch(Pike_sp[-1].type) { case PIKE_T_INT: - sp[-1].u.integer =! sp[-1].u.integer; + Pike_sp[-1].u.integer =! Pike_sp[-1].u.integer; break; case PIKE_T_FUNCTION: case PIKE_T_OBJECT: - if(IS_ZERO(sp-1)) + if(IS_ZERO(Pike_sp-1)) { pop_stack(); push_int(1); @@ -1174,21 +1174,21 @@ static int eval_instruction(unsigned char *pc) break; default: - free_svalue(sp-1); - sp[-1].type=PIKE_T_INT; - sp[-1].u.integer=0; + free_svalue(Pike_sp-1); + Pike_sp[-1].type=PIKE_T_INT; + Pike_sp[-1].u.integer=0; } break; CASE(F_LSH); o_lsh(); break; CASE(F_RSH); o_rsh(); break; - COMPARISMENT(F_EQ, is_eq(sp-2,sp-1)); - COMPARISMENT(F_NE,!is_eq(sp-2,sp-1)); - COMPARISMENT(F_GT, is_gt(sp-2,sp-1)); - COMPARISMENT(F_GE,!is_lt(sp-2,sp-1)); - COMPARISMENT(F_LT, is_lt(sp-2,sp-1)); - COMPARISMENT(F_LE,!is_gt(sp-2,sp-1)); + COMPARISMENT(F_EQ, is_eq(Pike_sp-2,Pike_sp-1)); + COMPARISMENT(F_NE,!is_eq(Pike_sp-2,Pike_sp-1)); + COMPARISMENT(F_GT, is_gt(Pike_sp-2,Pike_sp-1)); + COMPARISMENT(F_GE,!is_lt(Pike_sp-2,Pike_sp-1)); + COMPARISMENT(F_LT, is_lt(Pike_sp-2,Pike_sp-1)); + COMPARISMENT(F_LE,!is_gt(Pike_sp-2,Pike_sp-1)); CASE(F_ADD); f_add(2); break; CASE(F_SUBTRACT); o_subtract(); break; @@ -1203,60 +1203,60 @@ static int eval_instruction(unsigned char *pc) CASE(F_ADD_NEG_INT); push_int(-GET_ARG()); f_add(2); break; CASE(F_PUSH_ARRAY); - switch(sp[-1].type) + switch(Pike_sp[-1].type) { default: - PIKE_ERROR("@", "Bad argument.\n", sp, 1); + PIKE_ERROR("@", "Bad argument.\n", Pike_sp, 1); case PIKE_T_OBJECT: - if(!sp[-1].u.object->prog || FIND_LFUN(sp[-1].u.object->prog,LFUN__VALUES) == -1) - PIKE_ERROR("@", "Bad argument.\n", sp, 1); + if(!Pike_sp[-1].u.object->prog || FIND_LFUN(Pike_sp[-1].u.object->prog,LFUN__VALUES) == -1) + PIKE_ERROR("@", "Bad argument.\n", Pike_sp, 1); - apply_lfun(sp[-1].u.object, LFUN__VALUES, 0); - if(sp[-1].type != PIKE_T_ARRAY) + apply_lfun(Pike_sp[-1].u.object, LFUN__VALUES, 0); + if(Pike_sp[-1].type != PIKE_T_ARRAY) error("Bad return type from o->_values() in @\n"); - free_svalue(sp-2); - sp[-2]=sp[-1]; - sp--; + free_svalue(Pike_sp-2); + Pike_sp[-2]=Pike_sp[-1]; + Pike_sp--; break; case PIKE_T_ARRAY: break; } - sp--; - push_array_items(sp->u.array); + Pike_sp--; + push_array_items(Pike_sp->u.array); break; CASE(F_LOCAL_LOCAL_INDEX); { - struct svalue *s=fp->locals+GET_ARG(); + struct svalue *s=Pike_fp->locals+GET_ARG(); if(s->type == PIKE_T_STRING) s->subtype=0; - sp++->type=PIKE_T_INT; - index_no_free(sp-1,fp->locals+GET_ARG2(),s); + Pike_sp++->type=PIKE_T_INT; + index_no_free(Pike_sp-1,Pike_fp->locals+GET_ARG2(),s); break; } CASE(F_LOCAL_INDEX); { - struct svalue tmp,*s=fp->locals+GET_ARG(); + struct svalue tmp,*s=Pike_fp->locals+GET_ARG(); if(s->type == PIKE_T_STRING) s->subtype=0; - index_no_free(&tmp,sp-1,s); - free_svalue(sp-1); - sp[-1]=tmp; + index_no_free(&tmp,Pike_sp-1,s); + free_svalue(Pike_sp-1); + Pike_sp[-1]=tmp; break; } CASE(F_GLOBAL_LOCAL_INDEX); { struct svalue tmp,*s; - low_object_index_no_free(sp, - fp->current_object, - GET_ARG() + fp->context.identifier_level); - sp++; - s=fp->locals+GET_ARG2(); + low_object_index_no_free(Pike_sp, + Pike_fp->current_object, + GET_ARG() + Pike_fp->context.identifier_level); + Pike_sp++; + s=Pike_fp->locals+GET_ARG2(); if(s->type == PIKE_T_STRING) s->subtype=0; - index_no_free(&tmp,sp-1,s); - free_svalue(sp-1); - sp[-1]=tmp; + index_no_free(&tmp,Pike_sp-1,s); + free_svalue(Pike_sp-1); + Pike_sp[-1]=tmp; break; } @@ -1264,11 +1264,11 @@ static int eval_instruction(unsigned char *pc) { struct svalue tmp; tmp.type=PIKE_T_STRING; - tmp.u.string=fp->context.prog->strings[GET_ARG()]; + tmp.u.string=Pike_fp->context.prog->strings[GET_ARG()]; tmp.subtype=1; - sp->type=PIKE_T_INT; - sp++; - index_no_free(sp-1,fp->locals+GET_ARG2() , &tmp); + Pike_sp->type=PIKE_T_INT; + Pike_sp++; + index_no_free(Pike_sp-1,Pike_fp->locals+GET_ARG2() , &tmp); print_return_value(); break; } @@ -1277,11 +1277,11 @@ static int eval_instruction(unsigned char *pc) { struct svalue tmp,tmp2; tmp.type=PIKE_T_STRING; - tmp.u.string=fp->context.prog->strings[GET_ARG()]; + tmp.u.string=Pike_fp->context.prog->strings[GET_ARG()]; tmp.subtype=1; - index_no_free(&tmp2, sp-1, &tmp); - free_svalue(sp-1); - sp[-1]=tmp2; + index_no_free(&tmp2, Pike_sp-1, &tmp); + free_svalue(Pike_sp-1); + Pike_sp[-1]=tmp2; print_return_value(); break; } @@ -1290,11 +1290,11 @@ static int eval_instruction(unsigned char *pc) { struct svalue tmp,tmp2; tmp.type=PIKE_T_STRING; - tmp.u.string=fp->context.prog->strings[GET_ARG()]; + tmp.u.string=Pike_fp->context.prog->strings[GET_ARG()]; tmp.subtype=0; - index_no_free(&tmp2, sp-1, &tmp); - free_svalue(sp-1); - sp[-1]=tmp2; + index_no_free(&tmp2, Pike_sp-1, &tmp); + free_svalue(Pike_sp-1); + Pike_sp[-1]=tmp2; print_return_value(); break; } @@ -1312,10 +1312,10 @@ static int eval_instruction(unsigned char *pc) do_index: { struct svalue s; - index_no_free(&s,sp-2,sp-1); + index_no_free(&s,Pike_sp-2,Pike_sp-1); pop_n_elems(2); - *sp=s; - sp++; + *Pike_sp=s; + Pike_sp++; } print_return_value(); break; @@ -1333,36 +1333,36 @@ static int eval_instruction(unsigned char *pc) CASE(F_SOFT_CAST); /* Stack: type_string, value */ #ifdef PIKE_DEBUG - if (sp[-2].type != T_STRING) { + if (Pike_sp[-2].type != T_STRING) { /* FIXME: The type should really be T_TYPE... */ fatal("Argument 1 to soft_cast isn't a string!\n"); } #endif /* PIKE_DEBUG */ if (runtime_options & RUNTIME_CHECK_TYPES) { - struct pike_string *sval_type = get_type_of_svalue(sp-1); - if (!pike_types_le(sval_type, sp[-2].u.string)) { + struct pike_string *sval_type = get_type_of_svalue(Pike_sp-1); + if (!pike_types_le(sval_type, Pike_sp[-2].u.string)) { /* get_type_from_svalue() doesn't return a fully specified type * for array, mapping and multiset, so we perform a more lenient * check for them. */ if (!pike_types_le(sval_type, weak_type_string) || - !match_types(sval_type, sp[-2].u.string)) { + !match_types(sval_type, Pike_sp[-2].u.string)) { struct pike_string *t1; struct pike_string *t2; char *fname = "__soft-cast"; ONERROR tmp1; ONERROR tmp2; - if (fp->current_object && fp->context.prog && - fp->current_object->prog) { + if (Pike_fp->current_object && Pike_fp->context.prog && + Pike_fp->current_object->prog) { /* Look up the function-name */ struct pike_string *name = - ID_FROM_INT(fp->current_object->prog, fp->fun)->name; + ID_FROM_INT(Pike_fp->current_object->prog, Pike_fp->fun)->name; if ((!name->size_shift) && (name->len < 100)) fname = name->str; } - t1 = describe_type(sp[-2].u.string); + t1 = describe_type(Pike_sp[-2].u.string); SET_ONERROR(tmp1, do_free_string, t1); t2 = describe_type(sval_type); @@ -1370,7 +1370,7 @@ static int eval_instruction(unsigned char *pc) free_string(sval_type); - bad_arg_error(NULL, sp-1, 1, 1, t1->str, sp-1, + bad_arg_error(NULL, Pike_sp-1, 1, 1, t1->str, Pike_sp-1, "%s(): Soft cast failed. Expected %s, got %s\n", fname, t1->str, t2->str); /* NOT_REACHED */ @@ -1383,7 +1383,7 @@ static int eval_instruction(unsigned char *pc) free_string(sval_type); #ifdef PIKE_DEBUG if (d_flag > 2) { - struct pike_string *t = describe_type(sp[-2].u.string); + struct pike_string *t = describe_type(Pike_sp[-2].u.string); fprintf(stderr, "Soft cast to %s\n", t->str); free_string(t); } @@ -1397,28 +1397,28 @@ static int eval_instruction(unsigned char *pc) CASE(F_COPY_VALUE); { struct svalue tmp; - copy_svalues_recursively_no_free(&tmp,sp-1,1,0); - free_svalue(sp-1); - sp[-1]=tmp; + copy_svalues_recursively_no_free(&tmp,Pike_sp-1,1,0); + free_svalue(Pike_sp-1); + Pike_sp[-1]=tmp; } break; CASE(F_INDIRECT); { struct svalue s; - lvalue_to_svalue_no_free(&s,sp-2); + lvalue_to_svalue_no_free(&s,Pike_sp-2); if(s.type != PIKE_T_STRING) { pop_n_elems(2); - *sp=s; - sp++; + *Pike_sp=s; + Pike_sp++; }else{ struct object *o; o=low_clone(string_assignment_program); - ((struct string_assignment_storage *)o->storage)->lval[0]=sp[-2]; - ((struct string_assignment_storage *)o->storage)->lval[1]=sp[-1]; + ((struct string_assignment_storage *)o->storage)->lval[0]=Pike_sp[-2]; + ((struct string_assignment_storage *)o->storage)->lval[1]=Pike_sp[-1]; ((struct string_assignment_storage *)o->storage)->s=s.u.string; - sp-=2; + Pike_sp-=2; push_object(o); } } @@ -1427,68 +1427,68 @@ static int eval_instruction(unsigned char *pc) CASE(F_SIZEOF); - instr=pike_sizeof(sp-1); + instr=pike_sizeof(Pike_sp-1); pop_stack(); push_int(instr); break; CASE(F_SIZEOF_LOCAL); - push_int(pike_sizeof(fp->locals+GET_ARG())); + push_int(pike_sizeof(Pike_fp->locals+GET_ARG())); break; CASE(F_SSCANF); o_sscanf(GET_ARG()); break; CASE(F_CALL_LFUN); - apply_low(fp->current_object, - GET_ARG()+fp->context.identifier_level, - sp - *--mark_sp); + apply_low(Pike_fp->current_object, + GET_ARG()+Pike_fp->context.identifier_level, + Pike_sp - *--Pike_mark_sp); break; CASE(F_CALL_LFUN_AND_POP); - apply_low(fp->current_object, - GET_ARG()+fp->context.identifier_level, - sp - *--mark_sp); + apply_low(Pike_fp->current_object, + GET_ARG()+Pike_fp->context.identifier_level, + Pike_sp - *--Pike_mark_sp); pop_stack(); break; CASE(F_MARK_APPLY); - strict_apply_svalue(fp->context.prog->constants + GET_ARG(), 0); + strict_apply_svalue(Pike_fp->context.prog->constants + GET_ARG(), 0); break; CASE(F_MARK_APPLY_POP); - strict_apply_svalue(fp->context.prog->constants + GET_ARG(), 0); + strict_apply_svalue(Pike_fp->context.prog->constants + GET_ARG(), 0); pop_stack(); break; CASE(F_APPLY); - strict_apply_svalue(fp->context.prog->constants + GET_ARG(), sp - *--mark_sp ); + strict_apply_svalue(Pike_fp->context.prog->constants + GET_ARG(), Pike_sp - *--Pike_mark_sp ); break; CASE(F_APPLY_AND_POP); - strict_apply_svalue(fp->context.prog->constants + GET_ARG(), sp - *--mark_sp ); + strict_apply_svalue(Pike_fp->context.prog->constants + GET_ARG(), Pike_sp - *--Pike_mark_sp ); pop_stack(); break; CASE(F_CALL_FUNCTION); - mega_apply(APPLY_STACK,sp - *--mark_sp,0,0); + mega_apply(APPLY_STACK,Pike_sp - *--Pike_mark_sp,0,0); break; CASE(F_CALL_FUNCTION_AND_RETURN); { - INT32 args=sp - *--mark_sp; + INT32 args=Pike_sp - *--Pike_mark_sp; if(!args) - PIKE_ERROR("`()", "Too few arguments.\n", sp, 0); - switch(sp[-args].type) + PIKE_ERROR("`()", "Too few arguments.\n", Pike_sp, 0); + switch(Pike_sp[-args].type) { case PIKE_T_INT: - if (!sp[-args].u.integer) { - PIKE_ERROR("`()", "Attempt to call the NULL-value\n", sp, args); + if (!Pike_sp[-args].u.integer) { + PIKE_ERROR("`()", "Attempt to call the NULL-value\n", Pike_sp, args); } case PIKE_T_STRING: case PIKE_T_FLOAT: case PIKE_T_MAPPING: case PIKE_T_MULTISET: - PIKE_ERROR("`()", "Attempt to call a non-function value.\n", sp, args); + PIKE_ERROR("`()", "Attempt to call a non-function value.\n", Pike_sp, args); } return args; } diff --git a/src/object.h b/src/object.h index 29cedf1e1141c5d6d43d7a0f9f89e2a71285eec0..523afae3437d8c86de1597f58b0312b6534b9f1e 100644 --- a/src/object.h +++ b/src/object.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: object.h,v 1.36 2000/01/29 08:44:42 hubbe Exp $ + * $Id: object.h,v 1.37 2000/02/17 00:31:13 hubbe Exp $ */ #ifndef OBJECT_H #define OBJECT_H @@ -42,9 +42,9 @@ extern struct program *magic_set_index_program; #define LOW_GET_GLOBAL(O,I,ID) ((O)->storage+INHERIT_FROM_INT((O)->prog, (I))->storage_offset+(ID)->func.offset) #define GET_GLOBAL(O,I) LOW_GET_GLOBAL(O,I,ID_FROM_INT((O)->prog,I)) -#define GLOBAL_FROM_INT(I) GET_GLOBAL(fp->current_object, I) +#define GLOBAL_FROM_INT(I) GET_GLOBAL(Pike_fp->current_object, I) -#define this_object() (add_ref(fp->current_object), fp->current_object) +#define this_object() (add_ref(Pike_fp->current_object), Pike_fp->current_object) #include "block_alloc_h.h" /* Prototypes begin here */ diff --git a/src/preprocessor.h b/src/preprocessor.h index 8b8c16b8766215d869f61ce0e94ea39516e124d6..19276f993b54a6df2edb764890ae38ce45431750 100644 --- a/src/preprocessor.h +++ b/src/preprocessor.h @@ -1,5 +1,5 @@ /* - * $Id: preprocessor.h,v 1.18 2000/02/11 00:04:00 grubba Exp $ + * $Id: preprocessor.h,v 1.19 2000/02/17 00:31:14 hubbe Exp $ * * Preprocessor template. * Based on cpp.c 1.45 @@ -662,8 +662,8 @@ static INT32 calc3(struct cpp *this,WCHAR *data,INT32 len,INT32 pos) { /* DUMPPOS("inside calc3"); */ - check_destructed(sp-1); - if(IS_ZERO(sp-1)) + check_destructed(Pike_sp-1); + if(IS_ZERO(Pike_sp-1)) { pos=calc4(this,data,len,pos); pop_stack(); @@ -688,8 +688,8 @@ static INT32 calc2(struct cpp *this,WCHAR *data,INT32 len,INT32 pos) { /* DUMPPOS("inside calc2"); */ - check_destructed(sp-1); - if(!IS_ZERO(sp-1)) + check_destructed(Pike_sp-1); + if(!IS_ZERO(Pike_sp-1)) { pos=calc3(this,data,len,pos); pop_stack(); @@ -716,8 +716,8 @@ static INT32 calc1(struct cpp *this, WCHAR *data, INT32 len, INT32 pos) cpp_error(this, "Colon expected."); pos=calc1(this,data,len,pos); - check_destructed(sp-3); - assign_svalue(sp-3,IS_ZERO(sp-3)?sp-1:sp-2); + check_destructed(Pike_sp-3); + assign_svalue(Pike_sp-3,IS_ZERO(Pike_sp-3)?Pike_sp-1:Pike_sp-2); pop_n_elems(2); } return pos; @@ -750,7 +750,7 @@ static int calc(struct cpp *this, WCHAR *data, INT32 len, INT32 tmp) push_int(0); }else{ pos=calc1(this,data,len,tmp); - check_destructed(sp-1); + check_destructed(Pike_sp-1); } UNSETJMP(recovery); @@ -1196,7 +1196,7 @@ static INT32 lower_cpp(struct cpp *this, tmp2=0; do_include: { - struct svalue *save_sp=sp; + struct svalue *save_sp=Pike_sp; SKIPSPACE(); check_stack(3); @@ -1249,7 +1249,7 @@ static INT32 lower_cpp(struct cpp *this, break; } - if(sp==save_sp) break; + if(Pike_sp==save_sp) break; if(OUTP()) { @@ -1257,25 +1257,25 @@ static INT32 lower_cpp(struct cpp *this, SAFE_APPLY_MASTER("handle_include",3); - if(sp[-1].type != PIKE_T_STRING) + if(Pike_sp[-1].type != PIKE_T_STRING) { cpp_error(this, "Couldn't include file."); - pop_n_elems(sp-save_sp); + pop_n_elems(Pike_sp-save_sp); break; } - new_file=sp[-1].u.string; + new_file=Pike_sp[-1].u.string; /* Why not just use ref_push_string(new_file)? */ - assign_svalue_no_free(sp,sp-1); - sp++; + assign_svalue_no_free(Pike_sp,Pike_sp-1); + Pike_sp++; SAFE_APPLY_MASTER("read_include",1); - if(sp[-1].type != PIKE_T_STRING) + if(Pike_sp[-1].type != PIKE_T_STRING) { cpp_error(this, "Couldn't read include file."); - pop_n_elems(sp-save_sp); + pop_n_elems(Pike_sp-save_sp); break; } @@ -1296,35 +1296,35 @@ static INT32 lower_cpp(struct cpp *this, if(tmp2) { /* #string */ - struct pike_string *str = sp[-1].u.string; + struct pike_string *str = Pike_sp[-1].u.string; PUSH_STRING_SHIFT(str->str, str->len, str->size_shift, &this->buf); }else{ /* #include */ if (auto_convert) { - struct pike_string *new_str = recode_string(sp[-1].u.string); - free_string(sp[-1].u.string); - sp[-1].u.string = new_str; + struct pike_string *new_str = recode_string(Pike_sp[-1].u.string); + free_string(Pike_sp[-1].u.string); + Pike_sp[-1].u.string = new_str; } else if (charset) { ref_push_string(charset); SAFE_APPLY_MASTER("decode_charset", 2); - if (sp[-1].type != PIKE_T_STRING) { + if (Pike_sp[-1].type != PIKE_T_STRING) { cpp_error(this, "Charset decoding failed for included file."); - pop_n_elems(sp - save_sp); + pop_n_elems(Pike_sp - save_sp); break; } } - if (sp[-1].u.string->size_shift) { + if (Pike_sp[-1].u.string->size_shift) { /* Get rid of any byte order marks (0xfeff) */ - struct pike_string *new_str = filter_bom(sp[-1].u.string); - free_string(sp[-1].u.string); - sp[-1].u.string = new_str; + struct pike_string *new_str = filter_bom(Pike_sp[-1].u.string); + free_string(Pike_sp[-1].u.string); + Pike_sp[-1].u.string = new_str; } low_cpp(this, - sp[-1].u.string->str, - sp[-1].u.string->len, - sp[-1].u.string->size_shift, + Pike_sp[-1].u.string->str, + Pike_sp[-1].u.string->len, + Pike_sp[-1].u.string->size_shift, flags&~(CPP_EXPECT_ENDIF | CPP_EXPECT_ELSE), auto_convert, charset); } @@ -1343,7 +1343,7 @@ static INT32 lower_cpp(struct cpp *this, } } - pop_n_elems(sp-save_sp); + pop_n_elems(Pike_sp-save_sp); break; } @@ -1403,7 +1403,7 @@ static INT32 lower_cpp(struct cpp *this, break; } free_string_builder(&tmp); - if(IS_ZERO(sp-1)) nflags|=CPP_NO_OUTPUT; + if(IS_ZERO(Pike_sp-1)) nflags|=CPP_NO_OUTPUT; pop_stack(); pos += lower_cpp(this, data+pos, len-pos, nflags, auto_convert, charset); @@ -1530,7 +1530,7 @@ static INT32 lower_cpp(struct cpp *this, break; } free_string_builder(&tmp); - if(!IS_ZERO(sp-1)) flags&=~CPP_NO_OUTPUT; + if(!IS_ZERO(Pike_sp-1)) flags&=~CPP_NO_OUTPUT; pop_stack(); }else{ FIND_EOL(); @@ -1556,7 +1556,7 @@ static INT32 lower_cpp(struct cpp *this, push_string(make_shared_binary_string2(data+foo, pos-foo)); #endif /* SHIFT == 1 */ #endif /* SHIFT == 0 */ - cpp_error(this, sp[-1].u.string->str); + cpp_error(this, Pike_sp[-1].u.string->str); } break; } @@ -1572,7 +1572,7 @@ static INT32 lower_cpp(struct cpp *this, struct string_builder str; INT32 namestart, tmp3, nameend, argno=-1; struct define *def; - struct svalue *partbase,*argbase=sp; + struct svalue *partbase,*argbase=Pike_sp; SKIPSPACE(); @@ -1642,7 +1642,7 @@ static INT32 lower_cpp(struct cpp *this, SKIPSPACE(); - partbase=sp; + partbase=Pike_sp; init_string_builder(&str, 0); while(1) @@ -1686,13 +1686,13 @@ static INT32 lower_cpp(struct cpp *this, /* FIXME: Wide strings? */ while(str.s->len && isspace(((unsigned char *)str.s->str)[str.s->len-1])) str.s->len--; - if(!str.s->len && sp-partbase>1) + if(!str.s->len && Pike_sp-partbase>1) { #ifdef PIKE_DEBUG - if(sp[-1].type != PIKE_T_INT) + if(Pike_sp[-1].type != PIKE_T_INT) fatal("Internal error in CPP\n"); #endif - sp[-1].u.integer|=DEF_ARG_NOPOSTSPACE; + Pike_sp[-1].u.integer|=DEF_ARG_NOPOSTSPACE; } }else{ extra=DEF_ARG_STRINGIFY; @@ -1770,18 +1770,18 @@ static INT32 lower_cpp(struct cpp *this, def=alloc_empty_define( make_shared_binary_string((char *)data+namestart, nameend-namestart), - (sp-partbase)/2); + (Pike_sp-partbase)/2); #else /* SHIFT != 0 */ #if (SHIFT == 1) def=alloc_empty_define( make_shared_binary_string1(data+namestart, nameend-namestart), - (sp-partbase)/2); + (Pike_sp-partbase)/2); #else /* SHIFT != 1 */ def=alloc_empty_define( make_shared_binary_string2(data+namestart, nameend-namestart), - (sp-partbase)/2); + (Pike_sp-partbase)/2); #endif /* SHIFT == 1 */ #endif /* SHIFT == 0 */ copy_shared_string(def->first, partbase->u.string); @@ -1810,7 +1810,7 @@ static INT32 lower_cpp(struct cpp *this, this->defines=hash_insert(this->defines, & def->link); } - pop_n_elems(sp-argbase); + pop_n_elems(Pike_sp-argbase); break; } @@ -1892,12 +1892,12 @@ static INT32 lower_cpp(struct cpp *this, SAFE_APPLY_MASTER("decode_charset", 2); - if (sp[-1].type != PIKE_T_STRING) { + if (Pike_sp[-1].type != PIKE_T_STRING) { pop_stack(); cpp_error(this, "Unknown charset."); } else { - low_cpp(this, sp[-1].u.string->str, sp[-1].u.string->len, - sp[-1].u.string->size_shift, flags, + low_cpp(this, Pike_sp[-1].u.string->str, Pike_sp[-1].u.string->len, + Pike_sp[-1].u.string->size_shift, flags, auto_convert, charset); pop_stack(); } diff --git a/src/security.h b/src/security.h index 35e999a706c9466dcced26717f379651ee817ee1..8f1fa66617049f6be880a0d7407216a0651c8766 100644 --- a/src/security.h +++ b/src/security.h @@ -63,7 +63,7 @@ struct pike_creds if(!CHECK_SECURITY(SECURITY_BIT_SECURITY)) \ { \ int e; \ - struct svalue *base_sp=sp-args; \ + struct svalue *base_sp=Pike_sp-args; \ \ if(!CHECK_SECURITY(SECURITY_BIT_CONDITIONAL_IO)) \ error(name ": Permission denied.\n"); \ @@ -75,17 +75,17 @@ struct pike_creds \ safe_apply(OBJ2CREDS(current_creds)->user,"valid_io",args+2); \ \ - switch(sp[-1].type) \ + switch(Pike_sp[-1].type) \ { \ case PIKE_T_ARRAY: \ case PIKE_T_OBJECT: \ case PIKE_T_MAPPING: \ - assign_svalue(sp-args-1,sp-1); \ + assign_svalue(Pike_sp-args-1,Pike_sp-1); \ pop_n_elems(args); \ return; \ \ case PIKE_T_INT: \ - switch(sp[-1].u.integer) \ + switch(Pike_sp[-1].u.integer) \ { \ case 0: /* return 0 */ \ errno=EPERM; \ @@ -114,7 +114,7 @@ struct pike_creds error("Error in user->valid_io, wrong return type.\n"); \ \ case PIKE_T_STRING: \ - assign_svalue(sp-args-1,sp-1); \ + assign_svalue(Pike_sp-args-1,Pike_sp-1); \ pop_stack(); \ } \ } diff --git a/src/threads.h b/src/threads.h index 15d158fc5077f7f863f90347e16be81c4874b310..384496b5eb62fc3ba2c5ea9995e213dcab379dc7 100644 --- a/src/threads.h +++ b/src/threads.h @@ -1,5 +1,5 @@ /* - * $Id: threads.h,v 1.72 2000/02/04 21:46:15 grubba Exp $ + * $Id: threads.h,v 1.73 2000/02/17 00:31:16 hubbe Exp $ */ #ifndef THREADS_H #define THREADS_H @@ -315,14 +315,14 @@ struct thread_state { struct mapping *thread_local; /* Swapped variables */ - struct svalue *sp,*evaluator_stack; - struct svalue **mark_sp,**mark_stack; - struct pike_frame *fp; + struct svalue *Pike_sp,*Pike_evaluator_stack; + struct svalue **Pike_mark_sp,**Pike_mark_stack; + struct pike_frame *Pike_fp; int evaluator_stack_malloced; int mark_stack_malloced; JMP_BUF *recoveries; struct object * thread_id; - char *stack_top; + char *Pike_stack_top; DO_IF_SECURITY(struct object *current_creds;) #ifdef PROFILING @@ -389,15 +389,15 @@ struct thread_state { #define SWAP_OUT_THREAD(_tmp) do { \ (_tmp)->swapped=1; \ - (_tmp)->evaluator_stack=evaluator_stack;\ + (_tmp)->Pike_evaluator_stack=Pike_evaluator_stack;\ (_tmp)->evaluator_stack_malloced=evaluator_stack_malloced;\ - (_tmp)->fp=fp;\ - (_tmp)->mark_sp=mark_sp;\ - (_tmp)->mark_stack=mark_stack;\ + (_tmp)->Pike_fp=Pike_fp;\ + (_tmp)->Pike_mark_sp=Pike_mark_sp;\ + (_tmp)->Pike_mark_stack=Pike_mark_stack;\ (_tmp)->mark_stack_malloced=mark_stack_malloced;\ (_tmp)->recoveries=recoveries;\ - (_tmp)->sp=sp; \ - (_tmp)->stack_top=stack_top; \ + (_tmp)->Pike_sp=Pike_sp; \ + (_tmp)->Pike_stack_top=Pike_stack_top; \ (_tmp)->thread_id=thread_id;\ DO_IF_PROFILING( (_tmp)->accounted_time=accounted_time; ) \ DO_IF_PROFILING( (_tmp)->time_base = gethrtime() - time_base; ) \ @@ -407,15 +407,15 @@ struct thread_state { #define SWAP_IN_THREAD(_tmp) do {\ (_tmp)->swapped=0; \ - evaluator_stack=(_tmp)->evaluator_stack;\ + Pike_evaluator_stack=(_tmp)->Pike_evaluator_stack;\ evaluator_stack_malloced=(_tmp)->evaluator_stack_malloced;\ - fp=(_tmp)->fp;\ - mark_sp=(_tmp)->mark_sp;\ - mark_stack=(_tmp)->mark_stack;\ + Pike_fp=(_tmp)->Pike_fp;\ + Pike_mark_sp=(_tmp)->Pike_mark_sp;\ + Pike_mark_stack=(_tmp)->Pike_mark_stack;\ mark_stack_malloced=(_tmp)->mark_stack_malloced;\ recoveries=(_tmp)->recoveries;\ - sp=(_tmp)->sp;\ - stack_top=(_tmp)->stack_top;\ + Pike_sp=(_tmp)->Pike_sp;\ + Pike_stack_top=(_tmp)->Pike_stack_top;\ thread_id=(_tmp)->thread_id;\ DO_IF_PROFILING( accounted_time=(_tmp)->accounted_time; ) \ DO_IF_PROFILING( time_base = gethrtime() - (_tmp)->time_base; ) \ @@ -443,7 +443,7 @@ struct thread_state { * environment. */ #define HIDE_GLOBAL_VARIABLES() do { \ - int sp = 0, evaluator_stack = 0, mark_sp = 0, mark_stack = 0, fp = 0; \ + int Pike_sp = 0, Pike_evaluator_stack = 0, Pike_mark_sp = 0, Pike_mark_stack = 0, Pike_fp = 0; \ void *evaluator_stack_malloced = NULL, *mark_stack_malloced = NULL; \ int recoveries = 0, thread_id = 0; \ int error = 0, xalloc = 0, low_my_putchar = 0, low_my_binary_strcat = 0; \ @@ -541,7 +541,7 @@ struct thread_state { #endif /* Prototypes begin here */ -int low_nt_create_thread(unsigned stack_size, +int low_nt_create_thread(unsigned Pike_stack_size, unsigned (TH_STDCALL *func)(void *), void *arg, unsigned *id);