pike.git / src / code / amd64.c

version» Context lines:

pike.git/src/code/amd64.c:4065:       case F_CLEAR_N_LOCAL:    {    LABELS();    ins_debug_instr_prologue(a-F_OFFSET, b, c);    amd64_load_fp_reg();    mov_mem_reg(fp_reg, OFFSETOF(pike_frame, locals), P_REG_RBX);    add_reg_imm(P_REG_RBX, b*sizeof(struct svalue));    if( c > 1 ) {    push(P_REG_RBP); +  sub_reg_imm(P_REG_RSP, 8); /* Align on 16 bytes. */    add_reg_imm_reg(P_REG_RBX, c*sizeof(struct svalue), P_REG_RBP );    }       LABEL_A;    amd64_free_svalue(P_REG_RBX, 0);    mov_imm_mem(PIKE_T_INT, P_REG_RBX, OFFSETOF(svalue, tu.t.type));    mov_imm_mem(0, P_REG_RBX, OFFSETOF(svalue, u.integer));    if( c > 1 )    {    add_reg_imm(P_REG_RBX, sizeof(struct svalue ) );    cmp_reg_reg( P_REG_RBX, P_REG_RBP );    jne(&label_A); -  +  add_reg_imm(P_REG_RSP, 8);    pop(P_REG_RBP);    }    }    return;       case F_LOCAL_LOCAL_INDEX:    {    LABELS();    ins_debug_instr_prologue(a-F_OFFSET, b, c);    amd64_load_fp_reg();