src/cpu/mips/vm/c1_MacroAssembler_mips.cpp

changeset 29
6c147e7e4605
parent 1
2d8a650513c2
child 6880
52ea28d233d2
     1.1 --- a/src/cpu/mips/vm/c1_MacroAssembler_mips.cpp	Mon Jun 27 17:16:58 2016 +0800
     1.2 +++ b/src/cpu/mips/vm/c1_MacroAssembler_mips.cpp	Tue Jun 28 15:59:50 2016 +0800
     1.3 @@ -77,11 +77,18 @@
     1.4    cmpxchg(disp_hdr, Address(obj, hdr_offset), hdr);
     1.5    // if the object header was the same, we're done
     1.6    if (PrintBiasedLockingStatistics) {
     1.7 -    //cond_incl(Assembler::equal, 
     1.8 -    //Address((int) BiasedLocking::fast_path_entry_count_addr(), relocInfo::none));
     1.9 -    // cond_incl(Assembler::equal, 
    1.10 -    // Address((int) BiasedLocking::fast_path_entry_count_addr(), relocInfo::none));
    1.11 -
    1.12 +    Label L;
    1.13 +    beq(AT, R0, L);
    1.14 +    delayed()->nop();
    1.15 +    push(T0);
    1.16 +    push(T1);
    1.17 +    li(T0, (address) BiasedLocking::fast_path_entry_count_addr());
    1.18 +    lw(T1, T0, 0);
    1.19 +    addi(T1, T1, 1);
    1.20 +    sw(T1, T0, 0);
    1.21 +    pop(T1);
    1.22 +    pop(T0);
    1.23 +    bind(L);
    1.24    }
    1.25  
    1.26  

mercurial