pike.git / src / code / amd64.c

version» Context lines:

pike.git/src/code/amd64.c:1200:    if(amd64_prev_stored_pc == - 1)    {    enum amd64_reg tmp_reg = REG_RAX;    amd64_load_fp_reg();    mov_rip_imm_reg(tmp - PIKE_PC, tmp_reg);    mov_reg_mem(tmp_reg, fp_reg, OFFSETOF(pike_frame, pc));   #ifdef PIKE_DEBUG    if (a_flag >= 60)    fprintf (stderr, "pc %d update pc via lea\n", tmp);   #endif -  amd64_prev_stored_pc = PIKE_PC; +  amd64_prev_stored_pc = tmp;    }    else if ((disp = tmp - amd64_prev_stored_pc))    {   #ifdef PIKE_DEBUG    if (a_flag >= 60)    fprintf (stderr, "pc %d update pc relative: %d\n", tmp, disp);   #endif    amd64_load_fp_reg();    add_imm_mem(disp, fp_reg, OFFSETOF (pike_frame, pc)); -  +  amd64_prev_stored_pc += disp;    }    else {   #ifdef PIKE_DEBUG    if (a_flag >= 60)    fprintf (stderr, "pc %d update pc - already up-to-date\n", tmp);   #endif    }   #if 0   #ifdef PIKE_DEBUG    if (d_flag) {