pike.git / src / code / amd64.c

version» Context lines:

pike.git/src/code/amd64.c:3172:    update_arg1(b);    amd64_call_c_opcode(instrs[a-F_OFFSET].address,    instrs[a-F_OFFSET].flags);    LABEL_B;    }    return;       case F_MOD_INT:    if( b < 0 )    break; +  +  /* FALL_THROUGH */ +     case F_DIVIDE_INT:    {    LABELS();    ins_debug_instr_prologue(a-F_OFFSET, b, 0);    amd64_load_sp_reg();       mov_mem8_reg(sp_reg,SVAL(-1).type, P_REG_RAX);    test_reg32(P_REG_RAX);    jnz(&label_A);   
pike.git/src/code/amd64.c:3347:    return;    }    if(!b) return;    if( b < 0 )    yyerror(">> with negative constant\n");    break;       case F_SUBTRACT_INT:    case F_ADD_NEG_INT:    b = -b; +  +  /* FALL_THROUGH */ +     case F_ADD_INT:    {    LABELS();    ins_debug_instr_prologue(a-F_OFFSET, b, 0);    amd64_load_sp_reg();    mov_mem8_reg( sp_reg,SVAL(-1).type, P_REG_RAX );    test_reg32(P_REG_RAX);    jnz( &label_A );    mov_mem_reg(sp_reg, SVAL(-1).value,P_REG_RAX );    add_reg_imm( P_REG_RAX, b );
pike.git/src/code/amd64.c:3726:    amd64_load_mark_sp_reg();    amd64_load_sp_reg();       mov_mem_reg( mark_sp_reg, -sizeof(struct svalue*), P_REG_RAX );    amd64_add_mark_sp( -1 );    mov_reg_reg( sp_reg, ARG1_REG );    sub_reg_reg( ARG1_REG, P_REG_RAX );    shr_reg_imm( ARG1_REG, 4 );    /* arg1 = (sp_reg - *--mark_sp)/16 (sizeof(svalue)) */    +  /* FALL_THROUGH */ +     case F_MARK_CALL_BUILTIN:    if(a == F_MARK_CALL_BUILTIN )    {    ins_debug_instr_prologue(a-F_OFFSET, b, 0);    mov_imm_reg( 0, ARG1_REG );    }    -  +  /* FALL_THROUGH */ +     case F_CALL_BUILTIN1:    if(a == F_CALL_BUILTIN1 )    {    ins_debug_instr_prologue(a-F_OFFSET, b, 0);    mov_imm_reg( 1, ARG1_REG );    }       /* Note: It is not actually possible to do ins_debug_instr_prologue    * here.    */