pike.git / src / peep.c

version» Context lines:

pike.git/src/peep.c:485:       entry_point = PIKE_PC;      #ifdef PIKE_DEBUG    synch_depth = 0;   #endif    FLUSH_CODE_GENERATOR_STATE();    for(e=0;e<length;e++)    {   #ifdef PIKE_DEBUG + # ifdef DISASSEMBLE_CODE +  size_t opcode_start = PIKE_PC; + # endif +     if (c != (((p_instr *)instrbuf.s.str)+e)) {    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--;
pike.git/src/peep.c:681:    ins_f_byte(c->opcode);    break;      #ifdef PIKE_DEBUG    default:    Pike_fatal("Unknown instruction type.\n");   #endif    }    }    + #if defined(PIKE_DEBUG) && defined(DISASSEMBLE_CODE) +  if((lex->pragmas & ID_DISASSEMBLE) && PIKE_PC > opcode_start) +  { +  DISASSEMBLE_CODE(Pike_compiler->new_program->program + opcode_start, +  (PIKE_PC - opcode_start)*sizeof(PIKE_OPCODE_T)); +  } + #endif +    #ifdef PIKE_DEBUG    if (instrs[c->opcode - F_OFFSET].flags & I_HASPOINTER) {    if ((e+1 >= length) || (c[1].opcode != F_POINTER)) {    Pike_fatal("Expected instruction %s to be followed by a pointer.\n"    "Got %s (%d != %d)\n.",    instrs[c->opcode - F_OFFSET].name,    (e+1 < length)?instrs[c[1].opcode - F_OFFSET].name:"EOI",    (e+1 < length)?c[1].opcode:0, F_POINTER);    }    }