diff --git a/src/array.c b/src/array.c index dd69f7c72f1848bbee41853be92e1a5a04714838..e2aadaab90e0b75c3a64f3994fdc12941fd58698 100644 --- a/src/array.c +++ b/src/array.c @@ -23,7 +23,7 @@ #include "stuff.h" #include "bignum.h" -RCSID("$Id: array.c,v 1.75 2000/07/06 23:25:25 mast Exp $"); +RCSID("$Id: array.c,v 1.76 2000/07/07 01:26:39 hubbe Exp $"); struct array empty_array= { @@ -187,11 +187,11 @@ void simple_array_index_no_free(struct svalue *s, { check_stack(4); ref_push_array(a); - assign_svalue_no_free(sp++,ind); + assign_svalue_no_free(Pike_sp++,ind); f_column(2); - s[0]=sp[-1]; - sp--; - dmalloc_touch_svalue(sp); + s[0]=Pike_sp[-1]; + Pike_sp--; + dmalloc_touch_svalue(Pike_sp); break; } @@ -258,11 +258,11 @@ void simple_set_index(struct array *a,struct svalue *ind,struct svalue *s) { INT32 i, n; check_stack(2); - sp++->type = T_VOID; + Pike_sp++->type = T_VOID; push_svalue(ind); for (i = 0, n = a->size; i < n; i++) { - assign_svalue(sp-2, &a->item[i]); - assign_lvalue(sp-2, s); + assign_svalue(Pike_sp-2, &a->item[i]); + assign_lvalue(Pike_sp-2, s); } pop_n_elems(2); break; @@ -1455,13 +1455,13 @@ void push_array_items(struct array *a) check_array_for_destruct(a); if(a->refs == 1) { - MEMCPY(sp,ITEM(a),sizeof(struct svalue)*a->size); - sp += a->size; + MEMCPY(Pike_sp,ITEM(a),sizeof(struct svalue)*a->size); + Pike_sp += a->size; a->size=0; free_array(a); }else{ - assign_svalues_no_free(sp, ITEM(a), a->size, a->type_field); - sp += a->size; + assign_svalues_no_free(Pike_sp, ITEM(a), a->size, a->type_field); + Pike_sp += a->size; free_array(a); } } @@ -1536,10 +1536,10 @@ struct array *aggregate_array(INT32 args) struct array *a; a=allocate_array_no_init(args,0); - MEMCPY((char *)ITEM(a),(char *)(sp-args),args*sizeof(struct svalue)); + MEMCPY((char *)ITEM(a),(char *)(Pike_sp-args),args*sizeof(struct svalue)); a->type_field=BIT_MIXED; - sp-=args; - DO_IF_DMALLOC(while(args--) dmalloc_touch_svalue(sp + args)); + Pike_sp-=args; + DO_IF_DMALLOC(while(args--) dmalloc_touch_svalue(Pike_sp + args)); return a; } @@ -1705,14 +1705,14 @@ void apply_array(struct array *a, INT32 args) struct array *ret; INT32 argp; - argp=sp-args - evaluator_stack; + argp=Pike_sp-args - Pike_interpreter.evaluator_stack; check_stack(a->size + args + 1); check_array_for_destruct(a); for(e=0;e<a->size;e++) { - assign_svalues_no_free(sp,evaluator_stack+argp,args,BIT_MIXED); - sp+=args; + assign_svalues_no_free(Pike_sp,Pike_interpreter.evaluator_stack+argp,args,BIT_MIXED); + Pike_sp+=args; apply_svalue(ITEM(a)+e,args); } ret=aggregate_array(a->size); diff --git a/src/docode.c b/src/docode.c index 9556d1c46ddf14bea9b2972f0ee021e039debb64..d94322088acfa80d35a9087f5a0256093dd4505a 100644 --- a/src/docode.c +++ b/src/docode.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: docode.c,v 1.74 2000/06/24 00:48:13 hubbe Exp $"); +RCSID("$Id: docode.c,v 1.75 2000/07/07 01:28:57 hubbe Exp $"); #include "las.h" #include "program.h" #include "pike_types.h" @@ -273,7 +273,7 @@ static int do_docode2(node *n,int flags) /* Stack check */ { - long x_= ((char *)&x_) + STACK_DIRECTION * (32768) - stack_top ; + long x_= ((char *)&x_) + STACK_DIRECTION * (32768) - Pike_interpreter.stack_top ; x_*=STACK_DIRECTION; if(x_>0) { @@ -879,7 +879,7 @@ static int do_docode2(node *n,int flags) INT32 break_save = current_break; struct pike_string *prev_switch_type = current_switch_type; #ifdef PIKE_DEBUG - struct svalue *save_sp=sp; + struct svalue *save_sp=Pike_sp; #endif if(do_docode(CAR(n),0)!=1) @@ -913,12 +913,12 @@ static int do_docode2(node *n,int flags) DO_CODE_BLOCK(CDR(n)); #ifdef PIKE_DEBUG - if(sp-save_sp != cases) + if(Pike_sp-save_sp != cases) fatal("Count cases is wrong!\n"); #endif f_aggregate(cases); - order=get_switch_order(sp[-1].u.array); + order=get_switch_order(Pike_sp[-1].u.array); if (!Pike_compiler->num_parse_error) { /* Check for cases inside a range */ @@ -945,7 +945,7 @@ static int do_docode2(node *n,int flags) if(current_switch_jumptable[e]==-1) current_switch_jumptable[e]=current_switch_default; - order_array(sp[-1].u.array,order); + order_array(Pike_sp[-1].u.array,order); reorder((void *)(current_switch_jumptable+2),cases,sizeof(INT32)*2,order); free((char *)order); @@ -953,7 +953,7 @@ static int do_docode2(node *n,int flags) for(e=1; e<cases*2+2; e++) update_arg(jumptable[e], current_switch_jumptable[e]); - update_arg(tmp1, store_constant(sp-1,1,0)); + update_arg(tmp1, store_constant(Pike_sp-1,1,0)); pop_stack(); free((char *)jumptable); @@ -969,7 +969,7 @@ static int do_docode2(node *n,int flags) current_break=break_save; #ifdef PIKE_DEBUG - if(recoveries && sp-evaluator_stack < recoveries->sp) + if(Pike_interpreter.recoveries && Pike_sp-Pike_interpreter.evaluator_stack < Pike_interpreter.recoveries->stack_pointer) fatal("Stack error after F_SWITCH (underflow)\n"); #endif return 0; @@ -1010,7 +1010,7 @@ static int do_docode2(node *n,int flags) pop_n_elems(tmp1-1); current_switch_values_on_stack++; for(tmp1=current_switch_values_on_stack; tmp1 > 1; tmp1--) - if(is_equal(sp-tmp1, sp-1)) + if(is_equal(Pike_sp-tmp1, Pike_sp-1)) yyerror("Duplicate case."); } else { push_int(0); @@ -1044,7 +1044,7 @@ static int do_docode2(node *n,int flags) pop_n_elems(tmp1-1); current_switch_values_on_stack++; for(tmp1=current_switch_values_on_stack; tmp1 > 1; tmp1--) - if(is_equal(sp-tmp1, sp-1)) + if(is_equal(Pike_sp-tmp1, Pike_sp-1)) yyerror("Duplicate case."); } else { push_int(0); diff --git a/src/encode.c b/src/encode.c index c85e6fae0ae2e193891430bde9183265db6b1510..a2786c70324e6ff8e575826c23e624dd48426cfc 100644 --- a/src/encode.c +++ b/src/encode.c @@ -25,7 +25,7 @@ #include "version.h" #include "bignum.h" -RCSID("$Id: encode.c,v 1.60 2000/06/24 00:48:13 hubbe Exp $"); +RCSID("$Id: encode.c,v 1.61 2000/07/07 01:27:16 hubbe Exp $"); /* #define ENCODE_DEBUG */ @@ -311,7 +311,7 @@ one_more_type: }else{ push_int(0); } - encode_value2(sp-1, data); + encode_value2(Pike_sp-1, data); pop_stack(); break; } @@ -324,7 +324,7 @@ static void encode_value2(struct svalue *val, struct encode_data *data) #ifdef PIKE_DEBUG #undef encode_value2 -#define encode_value2(X,Y) do { struct svalue *_=sp; encode_value2_(X,Y); if(sp!=_) fatal("encode_value2 failed!\n"); } while(0) +#define encode_value2(X,Y) do { struct svalue *_=Pike_sp; encode_value2_(X,Y); if(Pike_sp!=_) fatal("encode_value2 failed!\n"); } while(0) #endif { @@ -418,17 +418,17 @@ static void encode_value2(struct svalue *val, struct encode_data *data) * sort function. */ error("Canonical encoding requires basic types in indices.\n"); } - order = get_switch_order(sp[-2].u.array); - order_array(sp[-2].u.array, order); - order_array(sp[-1].u.array, order); + order = get_switch_order(Pike_sp[-2].u.array); + order_array(Pike_sp[-2].u.array, order); + order_array(Pike_sp[-1].u.array, order); free((char *) order); } - code_entry(TAG_MAPPING, sp[-2].u.array->size,data); - for(i=0; i<sp[-2].u.array->size; i++) + code_entry(TAG_MAPPING, Pike_sp[-2].u.array->size,data); + for(i=0; i<Pike_sp[-2].u.array->size; i++) { - encode_value2(ITEM(sp[-2].u.array)+i, data); /* indices */ - encode_value2(ITEM(sp[-1].u.array)+i, data); /* values */ + encode_value2(ITEM(Pike_sp[-2].u.array)+i, data); /* indices */ + encode_value2(ITEM(Pike_sp[-1].u.array)+i, data); /* values */ } pop_n_elems(2); break; @@ -447,11 +447,11 @@ static void encode_value2(struct svalue *val, struct encode_data *data) } check_stack(1); ref_push_array(val->u.multiset->ind); - order = get_switch_order(sp[-1].u.array); - order_array(sp[-1].u.array, order); + order = get_switch_order(Pike_sp[-1].u.array); + order_array(Pike_sp[-1].u.array, order); free((char *) order); - for (i = 0; i < sp[-1].u.array->size; i++) - encode_value2(ITEM(sp[-1].u.array)+i, data); + for (i = 0; i < Pike_sp[-1].u.array->size; i++) + encode_value2(ITEM(Pike_sp[-1].u.array)+i, data); pop_stack(); } else @@ -474,9 +474,9 @@ static void encode_value2(struct svalue *val, struct encode_data *data) */ push_int(36); apply(val->u.object,"digits",1); - if(sp[-1].type != T_STRING) + if(Pike_sp[-1].type != T_STRING) error("Gmp.mpz->digits did not return a string!\n"); - encode_value2(sp-1, data); + encode_value2(Pike_sp-1, data); pop_stack(); break; } @@ -486,17 +486,17 @@ static void encode_value2(struct svalue *val, struct encode_data *data) error("Canonical encoding of objects not supported.\n"); push_svalue(val); apply(data->codec, "nameof", 1); - switch(sp[-1].type) + switch(Pike_sp[-1].type) { case T_INT: - if(sp[-1].subtype == NUMBER_UNDEFINED) + if(Pike_sp[-1].subtype == NUMBER_UNDEFINED) { pop_stack(); push_svalue(val); f_object_program(1); code_entry(type_to_tag(val->type), 1,data); - encode_value2(sp-1, data); + encode_value2(Pike_sp-1, data); pop_stack(); push_svalue(val); @@ -509,7 +509,7 @@ static void encode_value2(struct svalue *val, struct encode_data *data) code_entry(type_to_tag(val->type), 0,data); break; } - encode_value2(sp-1, data); + encode_value2(Pike_sp-1, data); pop_stack(); break; @@ -519,7 +519,7 @@ static void encode_value2(struct svalue *val, struct encode_data *data) check_stack(1); push_svalue(val); apply(data->codec,"nameof", 1); - if(sp[-1].type == T_INT && sp[-1].subtype==NUMBER_UNDEFINED) + if(Pike_sp[-1].type == T_INT && Pike_sp[-1].subtype==NUMBER_UNDEFINED) { if(val->subtype != FUNCTION_BUILTIN) { @@ -527,10 +527,10 @@ static void encode_value2(struct svalue *val, struct encode_data *data) code_entry(type_to_tag(val->type), 1, data); push_svalue(val); - sp[-1].type=T_OBJECT; + Pike_sp[-1].type=T_OBJECT; ref_push_string(ID_FROM_INT(val->u.object->prog, val->subtype)->name); f_arrow(2); - eq=is_eq(sp-1, val); + eq=is_eq(Pike_sp-1, val); pop_stack(); if(eq) { @@ -540,10 +540,10 @@ static void encode_value2(struct svalue *val, struct encode_data *data) map_delete(data->encoded, val); push_svalue(val); - sp[-1].type=T_OBJECT; - encode_value2(sp-1, data); + Pike_sp[-1].type=T_OBJECT; + encode_value2(Pike_sp-1, data); ref_push_string(ID_FROM_INT(val->u.object->prog, val->subtype)->name); - encode_value2(sp-1, data); + encode_value2(Pike_sp-1, data); pop_n_elems(3); /* Put value back in cache */ @@ -554,7 +554,7 @@ static void encode_value2(struct svalue *val, struct encode_data *data) } code_entry(type_to_tag(val->type), 0,data); - encode_value2(sp-1, data); + encode_value2(Pike_sp-1, data); pop_stack(); break; @@ -567,9 +567,9 @@ static void encode_value2(struct svalue *val, struct encode_data *data) check_stack(1); push_svalue(val); apply(data->codec,"nameof", 1); - if(sp[-1].type == val->type) + if(Pike_sp[-1].type == val->type) error("Error in master()->nameof(), same type returned.\n"); - if(sp[-1].type == T_INT && sp[-1].subtype == NUMBER_UNDEFINED) + if(Pike_sp[-1].type == T_INT && Pike_sp[-1].subtype == NUMBER_UNDEFINED) { INT32 e; struct program *p=val->u.program; @@ -578,7 +578,7 @@ static void encode_value2(struct svalue *val, struct encode_data *data) error("Cannot encode C programs.\n"); code_entry(type_to_tag(val->type), 1,data); f_version(0); - encode_value2(sp-1,data); + encode_value2(Pike_sp-1,data); pop_stack(); code_number(p->flags,data); code_number(p->storage_needed,data); @@ -618,14 +618,14 @@ static void encode_value2(struct svalue *val, struct encode_data *data) if(p->inherits[d].parent) { ref_push_object(p->inherits[d].parent); - sp[-1].subtype=p->inherits[d].parent_identifier; - sp[-1].type=T_FUNCTION; + Pike_sp[-1].subtype=p->inherits[d].parent_identifier; + Pike_sp[-1].type=T_FUNCTION; }else if(p->inherits[d].prog){ ref_push_program(p->inherits[d].prog); }else{ push_int(0); } - encode_value2(sp-1,data); + encode_value2(Pike_sp-1,data); pop_stack(); adddata3(p->inherits[d].name); @@ -650,7 +650,7 @@ static void encode_value2(struct svalue *val, struct encode_data *data) code_number(p->lfuns[d], data); }else{ code_entry(type_to_tag(val->type), 0,data); - encode_value2(sp-1, data); + encode_value2(Pike_sp-1, data); } pop_stack(); break; @@ -679,14 +679,14 @@ void f_encode_value(INT32 args) data->counter.u.integer=COUNTER_START; if(args > 1) { - data->codec=sp[1-args].u.object; + data->codec=Pike_sp[1-args].u.object; }else{ data->codec=get_master(); } SET_ONERROR(tmp, free_encode_data, data); addstr("\266ke0", 4); - encode_value2(sp-args, data); + encode_value2(Pike_sp-args, data); UNSET_ONERROR(tmp); free_mapping(data->encoded); @@ -710,14 +710,14 @@ void f_encode_value_canonic(INT32 args) data->counter.u.integer=COUNTER_START; if(args > 1) { - data->codec=sp[1-args].u.object; + data->codec=Pike_sp[1-args].u.object; }else{ data->codec=get_master(); } SET_ONERROR(tmp, free_encode_data, data); addstr("\266ke0", 4); - encode_value2(sp-args, data); + encode_value2(Pike_sp-args, data); UNSET_ONERROR(tmp); free_mapping(data->encoded); @@ -872,7 +872,7 @@ static void restore_type_mark(unsigned char **old_type_mark_stackp) #endif /* 0 */ #ifdef PIKE_DEBUG if (old_type_mark_stackp > Pike_compiler->pike_type_mark_stackp) { - fatal("type mark_stack out of sync!\n"); + fatal("type Pike_interpreter.mark_stack out of sync!\n"); } #endif /* PIKE_DEBUG */ Pike_compiler->pike_type_mark_stackp = old_type_mark_stackp; @@ -960,23 +960,23 @@ one_more_type: push_type(GETC()); decode_value2(data); type_stack_mark(); - switch(sp[-1].type) + switch(Pike_sp[-1].type) { case T_INT: push_type_int(0); break; case T_PROGRAM: - push_type_int(sp[-1].u.program->id); + push_type_int(Pike_sp[-1].u.program->id); break; case T_FUNCTION: { struct program *prog; - if (sp[-1].subtype == FUNCTION_BUILTIN) { + if (Pike_sp[-1].subtype == FUNCTION_BUILTIN) { error("Failed to decode object type.\n"); } - prog = program_from_svalue(sp-1); + prog = program_from_svalue(Pike_sp-1); if (!prog) { error("Failed to decode object type.\n"); } @@ -987,7 +987,7 @@ one_more_type: default: error("Failed to decode type " "(object(%s), expected object(zero|program)).\n", - get_name_of_type(sp[-1].type)); + get_name_of_type(Pike_sp[-1].type)); } pop_stack(); type_stack_reverse(); @@ -1011,7 +1011,7 @@ static void decode_value2(struct decode_data *data) #ifdef PIKE_DEBUG #undef decode_value2 -#define decode_value2(X) do { struct svalue *_=sp; decode_value2_(X); if(sp!=_+1) fatal("decode_value2 failed!\n"); } while(0) +#define decode_value2(X) do { struct svalue *_=Pike_sp; decode_value2_(X); if(Pike_sp!=_+1) fatal("decode_value2 failed!\n"); } while(0) #endif @@ -1096,9 +1096,9 @@ static void decode_value2(struct decode_data *data) for(e=0;e<num;e++) { decode_value2(data); - ITEM(a)[e]=sp[-1]; - sp--; - dmalloc_touch_svalue(sp); + ITEM(a)[e]=Pike_sp[-1]; + Pike_sp--; + dmalloc_touch_svalue(Pike_sp); } ref_push_array(a); return; @@ -1125,7 +1125,7 @@ static void decode_value2(struct decode_data *data) { decode_value2(data); decode_value2(data); - mapping_insert(m, sp-2, sp-1); + mapping_insert(m, Pike_sp-2, Pike_sp-1); pop_n_elems(2); } ref_push_mapping(m); @@ -1153,7 +1153,7 @@ static void decode_value2(struct decode_data *data) for(e=0;e<num;e++) { decode_value2(data); - multiset_insert(m, sp-1); + multiset_insert(m, Pike_sp-1); pop_stack(); } ref_push_multiset(m); @@ -1180,22 +1180,22 @@ static void decode_value2(struct decode_data *data) break; case 1: - if(IS_ZERO(sp-1)) + if(IS_ZERO(Pike_sp-1)) { - mapping_insert(data->decoded, &tmp, sp-1); + mapping_insert(data->decoded, &tmp, Pike_sp-1); decode_value2(data); pop_stack(); }else{ f_call_function(1); - mapping_insert(data->decoded, &tmp, sp-1); - push_svalue(sp-1); + mapping_insert(data->decoded, &tmp, Pike_sp-1); + push_svalue(Pike_sp-1); decode_value2(data); if(!data->codec) error("Failed to decode (no codec)\n"); apply(data->codec,"decode_object",2); pop_stack(); } - if(data->pickyness && sp[-1].type != T_OBJECT) + if(data->pickyness && Pike_sp[-1].type != T_OBJECT) error("Failed to decode object.\n"); return; @@ -1222,9 +1222,9 @@ static void decode_value2(struct decode_data *data) error("Object coding not compatible.\n"); break; } - if(data->pickyness && sp[-1].type != T_OBJECT) + if(data->pickyness && Pike_sp[-1].type != T_OBJECT) error("Failed to decode (got type %d; expected object).\n", - sp[-1].type); + Pike_sp[-1].type); break; case TAG_FUNCTION: @@ -1247,7 +1247,7 @@ static void decode_value2(struct decode_data *data) case 1: decode_value2(data); - if(sp[-2].type==T_INT) + if(Pike_sp[-2].type==T_INT) { pop_stack(); }else{ @@ -1259,7 +1259,7 @@ static void decode_value2(struct decode_data *data) error("Function coding not compatible.\n"); break; } - if(data->pickyness && sp[-1].type != T_FUNCTION) + if(data->pickyness && Pike_sp[-1].type != T_FUNCTION) error("Failed to decode function.\n"); break; @@ -1276,7 +1276,7 @@ static void decode_value2(struct decode_data *data) decode_value2(data); /* Keep the value so that we can make a good error-message. */ - prog_code = sp-1; + prog_code = Pike_sp-1; stack_dup(); if(data->codec) @@ -1287,7 +1287,7 @@ static void decode_value2(struct decode_data *data) stack_swap(); f_index(2); } - if(data->pickyness && !program_from_svalue(sp-1)) { + if(data->pickyness && !program_from_svalue(Pike_sp-1)) { if ((prog_code->type == T_STRING) && (prog_code->u.string->len < 128) && (!prog_code->u.string->size_shift)) { @@ -1326,7 +1326,7 @@ static void decode_value2(struct decode_data *data) decode_value2(data); f_version(0); - if(!is_eq(sp-1,sp-2)) + if(!is_eq(Pike_sp-1,Pike_sp-2)) error("Cannot decode programs encoded with other driver version.\n"); pop_n_elems(2); @@ -1438,33 +1438,33 @@ static void decode_value2(struct decode_data *data) decode_value2(data); if(d==0) { - if(sp[-1].type != T_PROGRAM || - sp[-1].u.program != p) + if(Pike_sp[-1].type != T_PROGRAM || + Pike_sp[-1].u.program != p) error("Program decode failed!\n"); p->refs--; } - switch(sp[-1].type) + switch(Pike_sp[-1].type) { case T_FUNCTION: - if(sp[-1].subtype == FUNCTION_BUILTIN) + if(Pike_sp[-1].subtype == FUNCTION_BUILTIN) error("Failed to decode parent.\n"); - p->inherits[d].parent_identifier=sp[-1].subtype; - p->inherits[d].prog=program_from_svalue(sp-1); + p->inherits[d].parent_identifier=Pike_sp[-1].subtype; + p->inherits[d].prog=program_from_svalue(Pike_sp-1); if(!p->inherits[d].prog) error("Failed to decode parent.\n"); add_ref(p->inherits[d].prog); - p->inherits[d].parent=sp[-1].u.object; - sp--; - dmalloc_touch_svalue(sp); + p->inherits[d].parent=Pike_sp[-1].u.object; + Pike_sp--; + dmalloc_touch_svalue(Pike_sp); break; case T_PROGRAM: p->inherits[d].parent_identifier=0; - p->inherits[d].prog=sp[-1].u.program; - sp--; - dmalloc_touch_svalue(sp); + p->inherits[d].prog=Pike_sp[-1].u.program; + Pike_sp--; + dmalloc_touch_svalue(Pike_sp); break; default: error("Failed to decode inheritance.\n"); @@ -1495,8 +1495,8 @@ static void decode_value2(struct decode_data *data) for(d=0;d<p->num_constants;d++) { decode_value2(data); - p->constants[d].sval=*--sp; - dmalloc_touch_svalue(sp); + p->constants[d].sval=*--Pike_sp; + dmalloc_touch_svalue(Pike_sp); getdata3(p->constants[d].name); } data->pickyness--; @@ -1540,7 +1540,7 @@ static void decode_value2(struct decode_data *data) error("Failed to restore string. (Illegal type)\n"); } - mapping_insert(data->decoded, & tmp, sp-1); + mapping_insert(data->decoded, & tmp, Pike_sp-1); } @@ -1619,7 +1619,7 @@ static void rec_restore_value(char **v, INT32 *l) if(sizeof(INT32) < sizeof(float)) /* FIXME FIXME FIXME FIXME */ error("Float architecture not supported.\n"); push_int(t); /* WARNING! */ - sp[-1].type = T_FLOAT; + Pike_sp[-1].type = T_FLOAT; return; case TAG_TYPE: @@ -1695,14 +1695,14 @@ void f_decode_value(INT32 args) check_all_args("decode_value", args, BIT_STRING, BIT_VOID | BIT_OBJECT | BIT_INT, 0); - s = sp[-args].u.string; + s = Pike_sp[-args].u.string; if(args<2) { codec=get_master(); } - else if(sp[1-args].type == T_OBJECT) + else if(Pike_sp[1-args].type == T_OBJECT) { - codec=sp[1-args].u.object; + codec=Pike_sp[1-args].u.object; } else { @@ -1715,6 +1715,6 @@ void f_decode_value(INT32 args) INT32 l=s->len; rec_restore_value(&v, &l); } - assign_svalue(sp-args-1, sp-1); + assign_svalue(Pike_sp-args-1, Pike_sp-1); pop_n_elems(args); } diff --git a/src/error.c b/src/error.c index bb0aa28d7062f64bb6798b76177e6c34475864c8..d8a17718f5f7daad26934cd1443d42e652dfaf3d 100644 --- a/src/error.c +++ b/src/error.c @@ -20,20 +20,19 @@ #include "threads.h" #include "gc.h" -RCSID("$Id: error.c,v 1.51 2000/05/25 02:18:35 hubbe Exp $"); +RCSID("$Id: error.c,v 1.52 2000/07/07 01:24:14 hubbe Exp $"); #undef ATTRIBUTE #define ATTRIBUTE(X) -JMP_BUF *recoveries=0; #ifdef PIKE_DEBUG void check_recovery_context(void) { char foo; -#define TESTILITEST ((((char *)recoveries)-((char *)&foo))*STACK_DIRECTION) - if(recoveries && TESTILITEST > 0) - fatal("Recoveries is out biking (recoveries=%p, sp=%p, %d)!\n",recoveries, &foo,TESTILITEST); +#define TESTILITEST ((((char *)Pike_interpreter.recoveries)-((char *)&foo))*STACK_DIRECTION) + if(Pike_interpreter.recoveries && TESTILITEST > 0) + fatal("Recoveries is out biking (Pike_interpreter.recoveries=%p, Pike_sp=%p, %d)!\n",Pike_interpreter.recoveries, &foo,TESTILITEST); /* Add more stuff here when required */ } @@ -51,57 +50,57 @@ JMP_BUF *init_recovery(JMP_BUF *r DEBUG_LINE_ARGS) r->file=file; OED_FPRINTF((stderr, "init_recovery(%p) %s:%d\n", r, file, line)); #endif - r->fp=fp; - r->sp=sp-evaluator_stack; - r->mark_sp=mark_sp - mark_stack; - r->previous=recoveries; + r->frame_pointer=Pike_fp; + r->stack_pointer=Pike_sp-Pike_interpreter.evaluator_stack; + r->mark_sp=Pike_mark_sp - Pike_interpreter.mark_stack; + r->previous=Pike_interpreter.recoveries; r->onerror=0; r->severity=THROW_ERROR; - recoveries=r; + Pike_interpreter.recoveries=r; check_recovery_context(); return r; } void pike_throw(void) ATTRIBUTE((noreturn)) { - while(recoveries && throw_severity > recoveries->severity) + while(Pike_interpreter.recoveries && throw_severity > Pike_interpreter.recoveries->severity) { - while(recoveries->onerror) + while(Pike_interpreter.recoveries->onerror) { - (*recoveries->onerror->func)(recoveries->onerror->arg); - recoveries->onerror=recoveries->onerror->previous; + (*Pike_interpreter.recoveries->onerror->func)(Pike_interpreter.recoveries->onerror->arg); + Pike_interpreter.recoveries->onerror=Pike_interpreter.recoveries->onerror->previous; } - recoveries=recoveries->previous; + Pike_interpreter.recoveries=Pike_interpreter.recoveries->previous; } - if(!recoveries) + if(!Pike_interpreter.recoveries) fatal("No error recovery context.\n"); #ifdef PIKE_DEBUG - if(sp - evaluator_stack < recoveries->sp) + if(Pike_sp - Pike_interpreter.evaluator_stack < Pike_interpreter.recoveries->stack_pointer) fatal("Stack error in error.\n"); #endif - while(fp != recoveries->fp) + while(Pike_fp != Pike_interpreter.recoveries->frame_pointer) { #ifdef PIKE_DEBUG - if(!fp) + if(!Pike_fp) fatal("Popped out of stack frames.\n"); #endif POP_PIKE_FRAME(); } - pop_n_elems(sp - evaluator_stack - recoveries->sp); - mark_sp = mark_stack + recoveries->mark_sp; + pop_n_elems(Pike_sp - Pike_interpreter.evaluator_stack - Pike_interpreter.recoveries->stack_pointer); + Pike_mark_sp = Pike_interpreter.mark_stack + Pike_interpreter.recoveries->mark_sp; - while(recoveries->onerror) + while(Pike_interpreter.recoveries->onerror) { - (*recoveries->onerror->func)(recoveries->onerror->arg); - recoveries->onerror=recoveries->onerror->previous; + (*Pike_interpreter.recoveries->onerror->func)(Pike_interpreter.recoveries->onerror->arg); + Pike_interpreter.recoveries->onerror=Pike_interpreter.recoveries->onerror->previous; } - longjmp(recoveries->recovery,1); + longjmp(Pike_interpreter.recoveries->recovery,1); } void push_error(char *description) @@ -119,7 +118,7 @@ void low_error(char *buf) ATTRIBUTE((noreturn)) { push_error(buf); free_svalue(& throw_value); - throw_value = *--sp; + throw_value = *--Pike_sp; throw_severity = THROW_ERROR; in_error=0; pike_throw(); /* Hope someone is catching, or we will be out of balls. */ @@ -147,7 +146,7 @@ void va_error(const char *fmt, va_list args) ATTRIBUTE((noreturn)) VSPRINTF(buf, fmt, args); #endif /* HAVE_VSNPRINTF */ - if(!recoveries) + if(!Pike_interpreter.recoveries) { #ifdef PIKE_DEBUG dump_backlog(); @@ -179,7 +178,7 @@ void new_error(const char *name, const char *text, struct svalue *oldsp, in_error=text; - if(!recoveries) + if(!Pike_interpreter.recoveries) { #ifdef PIKE_DEBUG dump_backlog(); @@ -216,7 +215,7 @@ void new_error(const char *name, const char *text, struct svalue *oldsp, f_aggregate(2); free_svalue(& throw_value); - throw_value = *--sp; + throw_value = *--Pike_sp; throw_severity=THROW_ERROR; in_error=0; @@ -295,13 +294,13 @@ void debug_fatal(const char *fmt, ...) ATTRIBUTE((noreturn,format (printf, 1, 2) (void)VFPRINTF(stderr, fmt, args); d_flag=t_flag=0; - if(Pike_sp && evaluator_stack) + if(Pike_sp && Pike_interpreter.evaluator_stack) { fprintf(stderr,"Attempting to dump backlog (may fail)...\n"); push_error("Backtrace at time of fatal:\n"); APPLY_MASTER("describe_backtrace",1); - if(sp[-1].type==T_STRING) - write_to_stderr(sp[-1].u.string->str, sp[-1].u.string->len); + if(Pike_sp[-1].type==T_STRING) + write_to_stderr(Pike_sp[-1].u.string->str, Pike_sp[-1].u.string->len); }else{ fprintf(stderr,"No stack - no backtrace.\n"); } @@ -346,7 +345,7 @@ void f_error_index(INT32 args) ref_push_array(GENERIC_ERROR_THIS->backtrace); break; default: - index_error("error->`[]", sp-args, args, NULL, sp-args, + index_error("error->`[]", Pike_sp-args, args, NULL, Pike_sp-args, "Index %d is out of range 0 - 1.\n", ind); break; } @@ -356,7 +355,7 @@ void f_error_index(INT32 args) void f_error_describe(INT32 args) { pop_n_elems(args); - ref_push_object(fp->current_object); + ref_push_object(Pike_fp->current_object); APPLY_MASTER("describe_backtrace",1); } @@ -448,12 +447,12 @@ void generic_error_va(struct object *o, f_add(2); } - if(sp[-1].type!=T_ARRAY) + if(Pike_sp[-1].type!=T_ARRAY) fatal("Error failed to generate a backtrace!\n"); - ERROR_STRUCT(generic,o)->backtrace=sp[-1].u.array; - sp--; - dmalloc_touch_svalue(sp); + ERROR_STRUCT(generic,o)->backtrace=Pike_sp[-1].u.array; + Pike_sp--; + dmalloc_touch_svalue(Pike_sp); free_svalue(& throw_value); throw_value.type=T_OBJECT; @@ -562,7 +561,7 @@ void wrong_number_of_args_error(char *name, int args, int expected) msg="Too many arguments"; } - new_error(name, msg, sp-args, args, 0,0); + new_error(name, msg, Pike_sp-args, args, 0,0); } #ifdef PIKE_DEBUG diff --git a/src/interpret.c b/src/interpret.c index 4d34d31ee120eef57c557dab1a34b9e6e66fa09d..0fd0a8855a192c780c6a9cc8e44190d99727117e 100644 --- a/src/interpret.c +++ b/src/interpret.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: interpret.c,v 1.156 2000/07/07 00:54:54 hubbe Exp $"); +RCSID("$Id: interpret.c,v 1.157 2000/07/07 01:24:14 hubbe Exp $"); #include "interpret.h" #include "object.h" #include "program.h" @@ -71,17 +71,17 @@ int mark_stack_malloced = 0; void push_sp_mark(void) { - if(Pike_interpreter.mark_sp == Pike_interpreter.mark_stack + stack_size) + if(Pike_mark_sp == Pike_interpreter.mark_stack + stack_size) error("No more mark stack!\n"); - *Pike_interpreter.mark_sp++=Pike_sp; + *Pike_mark_sp++=Pike_sp; } int pop_sp_mark(void) { #ifdef PIKE_DEBUG - if(Pike_interpreter.mark_sp < Pike_interpreter.mark_stack) + if(Pike_mark_sp < Pike_interpreter.mark_stack) fatal("Mark stack underflow!\n"); #endif - return Pike_sp - *--Pike_interpreter.mark_sp; + return Pike_sp - *--Pike_mark_sp; } @@ -167,7 +167,7 @@ use_malloc: } Pike_sp=Pike_interpreter.evaluator_stack; - Pike_interpreter.mark_sp=Pike_interpreter.mark_stack; + Pike_mark_sp=Pike_interpreter.mark_stack; Pike_fp=0; #ifdef PIKE_DEBUG @@ -1086,11 +1086,11 @@ void mega_apply2(enum apply_type type, INT32 args, void *arg1, void *arg2) check_threads_etc(); { - struct svalue **save_mark_sp=Pike_interpreter.mark_sp; + struct svalue **save_mark_sp=Pike_mark_sp; tailrecurse=eval_instruction(pc); - Pike_interpreter.mark_sp=save_mark_sp; + Pike_mark_sp=save_mark_sp; #ifdef PIKE_DEBUG - if(Pike_interpreter.mark_sp < save_mark_sp) + if(Pike_mark_sp < save_mark_sp) fatal("Popped below save_mark_sp!\n"); #endif } @@ -1213,15 +1213,15 @@ static int o_catch(unsigned char *pc) Pike_fp->expendible=expendible; return 0; }else{ - struct svalue **save_mark_sp=Pike_interpreter.mark_sp; + struct svalue **save_mark_sp=Pike_mark_sp; int x; Pike_fp->expendible=Pike_fp->locals + Pike_fp->num_locals; x=eval_instruction(pc); #ifdef PIKE_DEBUG - if(Pike_interpreter.mark_sp < save_mark_sp) + if(Pike_mark_sp < save_mark_sp) fatal("mark Pike_sp underflow in catch.\n"); #endif - Pike_interpreter.mark_sp=save_mark_sp; + Pike_mark_sp=save_mark_sp; Pike_fp->expendible=expendible; if(x!=-1) mega_apply(APPLY_STACK, x, 0,0); UNSETJMP(tmp); @@ -1261,9 +1261,9 @@ int apply_low_safe_and_stupid(struct object *o, INT32 offset) { ret=1; }else{ - struct svalue **save_mark_sp=Pike_interpreter.mark_sp; + struct svalue **save_mark_sp=Pike_mark_sp; int tmp=eval_instruction(o->prog->program + offset); - Pike_interpreter.mark_sp=save_mark_sp; + Pike_mark_sp=save_mark_sp; if(tmp!=-1) mega_apply(APPLY_STACK, tmp, 0,0); #ifdef PIKE_DEBUG @@ -1398,16 +1398,16 @@ void slow_check_stack(void) "(%d entries on stack, stack_size is %d entries)\n", Pike_sp-Pike_interpreter.evaluator_stack,stack_size); - if(Pike_interpreter.mark_sp > &(Pike_interpreter.mark_stack[stack_size])) + if(Pike_mark_sp > &(Pike_interpreter.mark_stack[stack_size])) fatal("Mark stack overflow.\n"); - if(Pike_interpreter.mark_sp < Pike_interpreter.mark_stack) + if(Pike_mark_sp < Pike_interpreter.mark_stack) fatal("Mark stack underflow.\n"); for(s=Pike_interpreter.evaluator_stack;s<Pike_sp;s++) check_svalue(s); s=Pike_interpreter.evaluator_stack; - for(m=Pike_interpreter.mark_stack;m<Pike_interpreter.mark_sp;m++) + for(m=Pike_interpreter.mark_stack;m<Pike_mark_sp;m++) { if(*m < s) fatal("Mark stack failure.\n"); diff --git a/src/interpret.h b/src/interpret.h index c4d060539909831b8dfae41103bc26a43368c8d9..273984c8fd17eca045fb2481a53da86f5079798c 100644 --- a/src/interpret.h +++ b/src/interpret.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: interpret.h,v 1.48 2000/07/07 01:19:04 hubbe Exp $ + * $Id: interpret.h,v 1.49 2000/07/07 01:24:14 hubbe Exp $ */ #ifndef INTERPRET_H #define INTERPRET_H @@ -80,7 +80,7 @@ struct pike_frame }while(0) #define check_mark_stack(X) do { \ - if(Pike_interpreter.mark_sp - Pike_interpreter.mark_stack + (X) >= Pike_stack_size) \ + if(Pike_mark_sp - Pike_interpreter.mark_stack + (X) >= Pike_stack_size) \ error("Mark stack overflow.\n"); \ }while(0)