pike.git / src / peep.c

version» Context lines:

pike.git/src/peep.c:189:       c=(p_instr *)instrbuf.s.str;    length=instrbuf.s.len / sizeof(p_instr);      #ifdef PIKE_DEBUG    if((a_flag > 1 && store_linenumbers) || a_flag > 2)    {    for (e = 0; e < length; e++) {    if (c[e].opcode == F_POP_SYNCH_MARK) synch_depth--;    fprintf(stderr, "~~~%4ld %4lx %*s", (long)c[e].line, -  DO_NOT_WARN((unsigned long)e), synch_depth, ""); +  (unsigned long)e, synch_depth, "");    dump_instr(c+e);    fprintf(stderr,"\n");    if (c[e].opcode == F_SYNCH_MARK) synch_depth++;    }    if (synch_depth) {    Pike_fatal("Unbalanced sync_mark/pop_sync_mark: %d\n", synch_depth);    }    }   #endif   
pike.git/src/peep.c:294: Inside #if defined(PIKE_DEBUG)
  #ifdef PIKE_DEBUG    if (max_pointer > max_label) {    fprintf(stderr,    "Reference to undefined label %d > %d\n"    "Bad instructions are marked with '***':\n",    max_pointer, max_label);    c=(p_instr *)instrbuf.s.str;    for(e=0;e<length;e++,c++) {    if (c->opcode == F_POP_SYNCH_MARK) synch_depth--;    fprintf(stderr, " * %4ld %4lx ", -  (long)c->line, DO_NOT_WARN((unsigned long)e)); +  (long)c->line, (unsigned long)e);    dump_instr(c);    if ((instrs[c->opcode - F_OFFSET].flags & I_POINTER) &&    (c->arg > max_label)) {    fprintf(stderr, " ***\n");    } else {    fprintf(stderr, "\n");    }    if (c->opcode == F_SYNCH_MARK) synch_depth++;    }   
pike.git/src/peep.c:334:    {    labels[e]=jumps[e]= aliases[e] = -1;    uses[e]=0;    }       c=(p_instr *)instrbuf.s.str;    length=instrbuf.s.len / sizeof(p_instr);    for(e=0;e<length;e++)    if(c[e].opcode == F_LABEL && c[e].arg>=0) {    INT32 l = c[e].arg; -  labels[l]=DO_NOT_WARN((INT32)e); +  labels[l]=(INT32)e;    while (e+1 < length &&    c[e+1].opcode == F_LABEL && c[e+1].arg >= 0) {    /* aliases is used to compact several labels at the same    * position to one label. That's necessary for some peep    * optimizations to work well. */    e++; -  labels[c[e].arg] = DO_NOT_WARN((INT32)e); +  labels[c[e].arg] = (INT32)e;    aliases[c[e].arg] = l;    }    }       for(e=0;e<length;e++)    {    if(instrs[c[e].opcode-F_OFFSET].flags & I_POINTER)    {    if (aliases[c[e].arg] >= 0) c[e].arg = aliases[c[e].arg];   
pike.git/src/peep.c:499: Inside #if defined(PIKE_DEBUG)
   Pike_fatal("Instruction loop deviates. "    "0x%04"PRINTPTRDIFFT"x != 0x%04"PRINTPTRDIFFT"x\n",    e, c - ((p_instr *)instrbuf.s.str));    }    if(((a_flag > 2) && store_linenumbers) ||    (a_flag > 3) ||    (lex->pragmas & ID_DISASSEMBLE))    {    if (c->opcode == F_POP_SYNCH_MARK) synch_depth--;    fprintf(stderr, "===%4ld %4lx %*s", (long)c->line, -  DO_NOT_WARN((unsigned long)PIKE_PC), synch_depth, ""); +  (unsigned long)PIKE_PC, synch_depth, "");    dump_instr(c);    fprintf(stderr,"\n");    if (c->opcode == F_SYNCH_MARK) synch_depth++;    }   #endif       if(store_linenumbers) {    store_linenumber(c->line, dmalloc_touch_named(struct pike_string *,    c->file,    "store_line"));
pike.git/src/peep.c:558:    break;    }   #ifdef PIKE_DEBUG    if(c->arg > max_label || c->arg < 0)    Pike_fatal("max_label calculation failed!\n");       if(labels[c->arg] != -1)    Pike_fatal("Duplicate label!\n");   #endif    FLUSH_CODE_GENERATOR_STATE(); -  labels[c->arg] = DO_NOT_WARN((INT32)PIKE_PC); +  labels[c->arg] = (INT32)PIKE_PC;    if ((e+1 < length) &&    (c[1].opcode != F_LABEL) &&    (c[1].opcode != F_BYTE) &&    (c[1].opcode != F_ENTRY) &&    (c[1].opcode != F_DATA)) {    /* Don't add redundant code before labels or raw data. */    UPDATE_PC();    }       break;       case F_VOLATILE_RETURN:    ins_f_byte(F_RETURN);    break;       case F_POINTER:   #ifdef PIKE_DEBUG    if(c->arg > max_label || c->arg < 0)    Pike_fatal("Jump to unknown label?\n");   #endif -  tmp = DO_NOT_WARN((INT32)PIKE_PC); +  tmp = (INT32)PIKE_PC;    ins_pointer(jumps[c->arg]);    jumps[c->arg]=tmp;    break;       default:    switch(instrs[c->opcode - F_OFFSET].flags & I_IS_MASK)    {    case I_ISPTRJUMP:   #ifdef INS_F_JUMP    tmp=INS_F_JUMP(c->opcode, (labels[c->arg] != -1));
pike.git/src/peep.c:604: Inside #if defined(INS_F_JUMP)
   break;    }   #endif       ins_f_byte(c->opcode);      #ifdef PIKE_DEBUG    if(c->arg > max_label || c->arg < 0)    Pike_fatal("Jump to unknown label?\n");   #endif -  tmp = DO_NOT_WARN((INT32)PIKE_PC); +  tmp = (INT32)PIKE_PC;    ins_pointer(jumps[c->arg]);    jumps[c->arg]=tmp;    break;       case I_ISPTRJUMPARGS:   #ifdef INS_F_JUMP_WITH_TWO_ARGS    tmp = INS_F_JUMP_WITH_TWO_ARGS(c->opcode, c->arg, c->arg2,    (labels[c[1].arg] != -1));    if(tmp != -1)    {
pike.git/src/peep.c:1090:    len=instrbuf.s.len/sizeof(p_instr);    instructions=(p_instr *)instrbuf.s.str;    instrbuf.s.str=0;    init_bytecode();       for(eye = 0; advance();)    {   #ifdef PIKE_DEBUG    if(a_flag>6) {    int e; -  fprintf(stderr, "#%ld,%ld:", -  DO_NOT_WARN((long)eye), -  stack_depth); +  fprintf(stderr, "#%ld,%ld:", (long)eye, stack_depth);    for(e = 4;e--;) {    fprintf(stderr," ");    dump_instr(instr(e));    }    /* FIXME: Show instrstack too? */    fprintf(stderr,"\n");    }   #endif       relabel |= low_asm_opt();