pike.git / src / docode.c

version» Context lines:

pike.git/src/docode.c:1259:    emit1(F_ARRAY_LVALUE, DO_NOT_WARN((INT32)(tmp1>>1)));    emit0(F_MARK);    PUSH_CLEANUP_FRAME(do_pop_mark, 0);    do_docode(CAR(n), 0);    emit_apply_builtin("aggregate");    POP_AND_DONT_CLEANUP;    emit0(F_ASSIGN);    return 1;    }    -  { +     case F_ASSIGN_SELF:    /* in assign self we know this:    *    * car(n) = lvalue    * cdr(n)= softcast(apply(efun, arglist(car(n),one more arg)))    *    * The first argument of the arglist is equal to the lvalue.    *    * We only want to evaluate car(n) once.    */
pike.git/src/docode.c:1466:       default:    normal_assign:    tmp1=do_docode(CDR(n),DO_LVALUE);    if(do_docode(CAR(n),0)!=1) yyerror("RHS is void!");    emit0(flags & DO_POP ? F_ASSIGN_AND_POP:F_ASSIGN);    break;    }    return flags & DO_POP ? 0 : 1;    } -  } +        case F_LAND:    case F_LOR:    tmp1=alloc_label();    if(flags & DO_POP)    {    do_cond_jump(CAR(n), DO_NOT_WARN((INT32)tmp1), n->token == F_LOR, DO_POP);    DO_CODE_BLOCK(CDR(n));    low_insert_label( DO_NOT_WARN((INT32)tmp1));    return 0;