Branch: Tag:

1999-09-18

1999-09-18 09:21:30 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

name tracking for constants underway (not yet finished)

Rev: src/docode.c:1.51
Rev: src/interpreter.h:1.13
Rev: src/language.yacc:1.123
Rev: src/las.c:1.88
Rev: src/lex.c:1.66
Rev: src/object.c:1.82
Rev: src/object.h:1.29
Rev: src/pike_types.h:1.21
Rev: src/program.c:1.151
Rev: src/program.h:1.59
Rev: src/program_areas.h:1.6
Rev: src/testsuite.in:1.197

158:    break;       CASE(F_CONSTANT); -  assign_svalue_no_free(sp++,fp->context.prog->constants+GET_ARG()); +  assign_svalue_no_free(sp++,& fp->context.prog->constants[GET_ARG()].sval);    print_return_value();    break;   
933:    {    INT32 tmp;    tmp=switch_lookup(fp->context.prog-> -  constants[GET_ARG()].u.array,sp-1); +  constants[GET_ARG()].sval.u.array,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);
979:    sp[-args-1].type=T_INT;    }    /* We sabotage the stack here */ -  assign_svalue(sp-args-1,fp->context.prog->constants+GET_ARG()); +  assign_svalue(sp-args-1,&fp->context.prog->constants[GET_ARG()].sval);    return args+1;    }