pike.git / src / interpret_functions.h

version» Context lines:

pike.git/src/interpret_functions.h:1173:    tmp.type=PIKE_T_STRING;    tmp.u.string=Pike_fp->context.prog->strings[GET_ARG()];    tmp.subtype=1;    index_no_free(&tmp2, Pike_sp-1, &tmp);    free_svalue(Pike_sp-1);    Pike_sp[-1]=tmp2;    print_return_value();    break;    }    -  CASE(F_STRING_INDEX); + OPCODE1(F_STRING_INDEX, "string index")   {    struct svalue tmp,tmp2;    tmp.type=PIKE_T_STRING; -  tmp.u.string=Pike_fp->context.prog->strings[GET_ARG()]; +  tmp.u.string=Pike_fp->context.prog->strings[arg1];    tmp.subtype=0;    index_no_free(&tmp2, Pike_sp-1, &tmp);    free_svalue(Pike_sp-1);    Pike_sp[-1]=tmp2;    print_return_value(); -  break; +    } -  + BREAK;       CASE(F_POS_INT_INDEX);    push_int(GET_ARG());    print_return_value();    goto do_index;       CASE(F_NEG_INT_INDEX);    push_int(-GET_ARG());    print_return_value();   
pike.git/src/interpret_functions.h:1207:    {    struct svalue s;    index_no_free(&s,Pike_sp-2,Pike_sp-1);    pop_n_elems(2);    *Pike_sp=s;    Pike_sp++;    }    print_return_value();    break;    -  CASE(F_MAGIC_INDEX); -  push_magic_index(magic_index_program, accumulator, GET_ARG()); -  break; + OPCODE1(F_MAGIC_INDEX, "::`[]") +  push_magic_index(magic_index_program, accumulator, arg1); + BREAK;    -  CASE(F_MAGIC_SET_INDEX); -  push_magic_index(magic_set_index_program, accumulator, GET_ARG()); -  break; + OPCODE1(F_MAGIC_SET_INDEX, "::`[]=") +  push_magic_index(magic_set_index_program, accumulator, arg1); + BREAK;    -  CASE(F_CAST); f_cast(); break; + OPCODE0(F_CAST, "cast") +  f_cast(); + BREAK;       CASE(F_SOFT_CAST);    /* Stack: type_string, value */   #ifdef PIKE_DEBUG    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) {
pike.git/src/interpret_functions.h:1280: Inside #if defined(PIKE_DEBUG)
   struct pike_string *t = describe_type(Pike_sp[-2].u.string);    fprintf(stderr, "Soft cast to %s\n", t->str);    free_string(t);    }   #endif /* PIKE_DEBUG */    }    stack_swap();    pop_stack();    break;    -  CASE(F_RANGE); o_range(); break; -  CASE(F_COPY_VALUE); + OPCODE0(F_RANGE, "range") +  o_range(); + BREAK; +  + OPCODE0(F_COPY_VALUE, "copy_value")   {    struct svalue tmp;    copy_svalues_recursively_no_free(&tmp,Pike_sp-1,1,0);    free_svalue(Pike_sp-1);    Pike_sp[-1]=tmp;   } -  break; + BREAK;    -  CASE(F_INDIRECT); + OPCODE0(F_INDIRECT, "indirect")   {    struct svalue s;    lvalue_to_svalue_no_free(&s,Pike_sp-2);    if(s.type != PIKE_T_STRING)    {    pop_n_elems(2);    *Pike_sp=s;    Pike_sp++;    }else{    struct object *o;    o=low_clone(string_assignment_program);    ((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;    Pike_sp-=2;    push_object(o);    }   }   print_return_value(); -  break; + BREAK;    -  -  CASE(F_SIZEOF); + OPCODE0(F_SIZEOF, "sizeof")    instr=pike_sizeof(Pike_sp-1);    pop_stack();    push_int(instr); -  break; + BREAK;    -  CASE(F_SIZEOF_LOCAL); -  push_int(pike_sizeof(Pike_fp->locals+GET_ARG())); -  break; + OPCODE1(F_SIZEOF_LOCAL, "sizeof local") +  push_int(pike_sizeof(Pike_fp->locals+arg1)); + BREAK;    -  CASE(F_SSCANF); o_sscanf(GET_ARG()); break; + OPCODE1(F_SSCANF, "sscanf") +  o_sscanf(arg1); + BREAK;       CASE(F_CALL_LFUN);    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(Pike_fp->current_object,    GET_ARG()+Pike_fp->context.identifier_level,