pike.git / src / code / amd64.c

version» Context lines:

pike.git/src/code/amd64.c:2463:    case F_POP_VALUE:    {    ins_debug_instr_prologue(b, 0, 0);    amd64_load_sp_reg();    amd64_add_sp( -1 );    amd64_free_svalue( sp_reg, 0 );    }    return;       case F_CATCH: +  case F_CATCH_AT:    {    INT32 base_addr = 0;       LABELS();    mov_rip_imm_reg(0, ARG1_REG); /* Address for the POINTER. */    base_addr = PIKE_PC;    -  +  if ((b + F_OFFSET) == F_CATCH) {    amd64_call_c_function (setup_catch_context); -  +  } else { +  amd64_call_c_function (setup_catch_at_context); +  }    mov_reg_reg(P_REG_RAX, P_REG_RBX);       /* Pass a pointer to Pike_interpreter.catch_ctx.recovery.recovery to    LOW_SET_JMP. */    mov_mem_reg (Pike_interpreter_reg,    OFFSETOF(Pike_interpreter_struct, catch_ctx),    ARG1_REG);    add_reg_imm_reg (ARG1_REG,    OFFSETOF(catch_context, recovery) +    OFFSETOF(JMP_BUF, recovery),