pike.git / src / code / amd64.c

version» Context lines:

pike.git/src/code/amd64.c:2021:    add_imm_mem(-1, REG_RCX, OFFSETOF(svalue, u.integer));    LABEL_A;    /* Fallback to the C-implementation. */    update_arg1(b);    amd64_call_c_opcode(instrs[a-F_OFFSET].address,    instrs[a-F_OFFSET].flags);    LABEL_B;    }    return;    +  case F_INC_LOCAL: +  ins_f_byte_with_arg(F_INC_LOCAL_AND_POP, b); +  ins_f_byte_with_arg(F_LOCAL, b); +  return; +  +  case F_POST_INC_LOCAL: +  ins_f_byte_with_arg(F_LOCAL, b); +  ins_f_byte_with_arg(F_INC_LOCAL_AND_POP, b); +  return; +     case F_DEC_LOCAL_AND_POP:    {    LABELS();    ins_debug_instr_prologue(a-F_OFFSET, b, 0);    amd64_load_fp_reg();    mov_mem_reg(fp_reg, OFFSETOF(pike_frame, locals), REG_RCX);    add_reg_imm(REG_RCX, b*sizeof(struct svalue));    mov_sval_type(REG_RCX, REG_RAX);    cmp_reg_imm(REG_RAX, PIKE_T_INT);    jne(&label_A);
pike.git/src/code/amd64.c:2045:    add_imm_mem(1, REG_RCX, OFFSETOF(svalue, u.integer));    LABEL_A;    /* Fallback to the C-implementation. */    update_arg1(b);    amd64_call_c_opcode(instrs[a-F_OFFSET].address,    instrs[a-F_OFFSET].flags);    LABEL_B;    }    return;    +  case F_DEC_LOCAL: +  ins_f_byte_with_arg(F_DEC_LOCAL_AND_POP, b); +  ins_f_byte_with_arg(F_LOCAL, b); +  return; +  +  case F_POST_DEC_LOCAL: +  ins_f_byte_with_arg(F_LOCAL, b); +  ins_f_byte_with_arg(F_DEC_LOCAL_AND_POP, b); +  return; +     case F_CONSTANT:    ins_debug_instr_prologue(a-F_OFFSET, b, 0);    amd64_load_fp_reg();    amd64_load_sp_reg();    mov_mem_reg( fp_reg, OFFSETOF(pike_frame,context), REG_RCX );    mov_mem_reg( REG_RCX, OFFSETOF(inherit,prog), REG_RCX );    mov_mem_reg( REG_RCX, OFFSETOF(program,constants), REG_RCX );    add_reg_imm( REG_RCX, b*sizeof(struct program_constant) +    OFFSETOF(program_constant,sval) );    amd64_push_svaluep( REG_RCX );