pike.git / src / code / amd64.c

version» Context lines:

pike.git/src/code/amd64.c:2009:    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);    /* Integer - Zap subtype and try just incrementing it. */    mov_reg_mem32(REG_RAX, REG_RCX, OFFSETOF(svalue, type));    add_imm_mem(1, REG_RCX, OFFSETOF(svalue, u.integer)); -  jnc(&label_B); +  jno(&label_B);    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;   
pike.git/src/code/amd64.c:2031:    {    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);    /* Integer - Zap subtype and try just decrementing it. */ -  mov_reg_mem32(REG_RAX, REG_RCX, OFFSETOF(svalue, __type)); +  mov_reg_mem32(REG_RAX, REG_RCX, OFFSETOF(svalue, type));    add_imm_mem(-1, REG_RCX, OFFSETOF(svalue, u.integer)); -  jnc(&label_B); +  jno(&label_B);    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;