pike.git / src / code / amd64.c

version» Context lines:

pike.git/src/code/amd64.c:1318:   {    LABELS();      #if 1    if( branch_check_threads_update_etc == -1 )    {    /* Create update + call to branch_checl_threds_etc */    jmp( &label_A );    mov_imm_mem32( 0, REG_RSP, 0);    branch_check_threads_update_etc = PIKE_PC; -  if( (unsigned long)&fast_check_threads_counter < 0x7fffffffULL ) +  if( (unsigned long long)&fast_check_threads_counter < 0x7fffffffULL )    {    /* Short pointer. */    clear_reg( REG_RAX );    add_mem32_imm( REG_RAX, -  (int)DO_NOT_WARN(&fast_check_threads_counter), +  (int)(ptrdiff_t)&fast_check_threads_counter,    0x80 );    }    else    {    mov_imm_reg( (long)&fast_check_threads_counter, REG_RAX);    add_mem_imm( REG_RAX, 0, 0x80 );    } -  mov_imm_reg( branch_check_threads_etc, REG_RAX ); +  mov_imm_reg( (ptrdiff_t)branch_check_threads_etc, REG_RAX );    jmp_reg(REG_RAX); /* ret in BCTE will return to desired point. */    }    LABEL_A;    /* Use C-stack for counter. We have padding added in entry */    add_mem8_imm( REG_RSP, 0, 1 );    jno( &label_B );    call_rel_imm32( branch_check_threads_update_etc-PIKE_PC );    LABEL_B;   #else    call_imm( &branch_check_threads_etc );