Branch: Tag:

2014-12-04

2014-12-04 19:27:19 by Per Hedbor <ph@opera.com>

Fixed a few missing debug prologues.

2995:    }       /* Get function pointer */ +  ins_debug_instr_prologue(a-F_OFFSET, b, 0);    amd64_call_c_opcode(Pike_compiler->new_program->constants[b].sval.u.efun->function,    I_UPDATE_SP);    return;
3158:    case F_CLEAR_N_LOCAL:    {    LABELS(); -  ins_debug_instr_prologue(a-F_OFFSET, b, 0); +  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));
3298:    LABEL_B;    }    return; +     case F_ASSIGN_PRIVATE_TYPED_GLOBAL_AND_POP:    case F_ASSIGN_PRIVATE_TYPED_GLOBAL:    {    LABELS();    amd64_load_sp_reg();    -  ins_debug_instr_prologue(a-F_OFFSET, b, 0); +  ins_debug_instr_prologue(a-F_OFFSET, b, c);       amd64_get_storage( P_REG_RBX, b );   
3418:    case F_ADD_LOCAL_INT_AND_POP:    {    LABELS(); -  ins_debug_instr_prologue(a-F_OFFSET, b, 0); +  ins_debug_instr_prologue(a-F_OFFSET, b, c);    amd64_load_fp_reg();    mov_mem_reg( fp_reg, OFFSETOF(pike_frame, locals), ARG1_REG);    add_reg_imm( ARG1_REG, b*sizeof(struct svalue) );
3458: Inside #if 0
  #if 0    /* this is a: nonworking, and b: not really all that more efficient anyway.. */    case F_APPLY_N: +  ins_debug_instr_prologue(a-F_OFFSET, b, c);    mov_imm_reg( APPLY_SVALUE_STRICT, ARG1_REG );    mov_imm_reg( c, ARG2_REG );    mov_ptr_reg( &((Pike_fp->context->prog->constants + b)->sval), ARG3_REG );
3466:    return;   #endif    case F_CALL_BUILTIN_N: +  ins_debug_instr_prologue(a-F_OFFSET, b, c);    mov_imm_reg( c, ARG1_REG );    amd64_call_c_opcode(Pike_compiler->new_program->constants[b].sval.u.efun->function,    I_UPDATE_SP);
3533:    case F_LEXICAL_LOCAL:    if( c < 5 )    { +  ins_debug_instr_prologue(a-F_OFFSET, b, c);    amd64_load_fp_reg();    mov_reg_reg( fp_reg, P_REG_RAX );    while(c--)
3548:    case F_LEXICAL_LOCAL_LVALUE:    if( c < 5 )    { +  ins_debug_instr_prologue(a-F_OFFSET, b, c);    amd64_load_fp_reg();    amd64_load_sp_reg();    mov_reg_reg( fp_reg, P_REG_RAX );