src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp

changeset 3037
3d42f82cd811
parent 2750
6c97c830fb6f
child 3391
069ab3f976d3
     1.1 --- a/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp	Thu Jul 21 08:38:25 2011 -0700
     1.2 +++ b/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp	Thu Jul 21 11:25:07 2011 -0700
     1.3 @@ -41,9 +41,7 @@
     1.4    // Note: needs more testing of out-of-line vs. inline slow case
     1.5    verify_oop(receiver);
     1.6    load_klass(receiver, temp_reg);
     1.7 -  cmp(temp_reg, iCache);
     1.8 -  brx(Assembler::equal, true, Assembler::pt, L);
     1.9 -  delayed()->nop();
    1.10 +  cmp_and_brx_short(temp_reg, iCache, Assembler::equal, Assembler::pt, L);
    1.11    AddressLiteral ic_miss(SharedRuntime::get_ic_miss_stub());
    1.12    jump_to(ic_miss, temp_reg);
    1.13    delayed()->nop();
    1.14 @@ -142,8 +140,7 @@
    1.15    }
    1.16    // Test first it it is a fast recursive unlock
    1.17    ld_ptr(Rbox, BasicLock::displaced_header_offset_in_bytes(), Rmark);
    1.18 -  br_null(Rmark, false, Assembler::pt, done);
    1.19 -  delayed()->nop();
    1.20 +  br_null_short(Rmark, Assembler::pt, done);
    1.21    if (!UseBiasedLocking) {
    1.22      // load object
    1.23      ld_ptr(Rbox, BasicObjectLock::obj_offset_in_bytes(), Roop);
    1.24 @@ -231,7 +228,7 @@
    1.25    if (!is_simm13(obj_size * wordSize)) {
    1.26      // would need to use extra register to load
    1.27      // object size => go the slow case for now
    1.28 -    br(Assembler::always, false, Assembler::pt, slow_case);
    1.29 +    ba(slow_case);
    1.30      delayed()->nop();
    1.31      return;
    1.32    }
    1.33 @@ -257,12 +254,10 @@
    1.34      Label ok;
    1.35      ld(klass, klassOopDesc::header_size() * HeapWordSize + Klass::layout_helper_offset_in_bytes(), t1);
    1.36      if (var_size_in_bytes != noreg) {
    1.37 -      cmp(t1, var_size_in_bytes);
    1.38 +      cmp_and_brx_short(t1, var_size_in_bytes, Assembler::equal, Assembler::pt, ok);
    1.39      } else {
    1.40 -      cmp(t1, con_size_in_bytes);
    1.41 +      cmp_and_brx_short(t1, con_size_in_bytes, Assembler::equal, Assembler::pt, ok);
    1.42      }
    1.43 -    brx(Assembler::equal, false, Assembler::pt, ok);
    1.44 -    delayed()->nop();
    1.45      stop("bad size in initialize_object");
    1.46      should_not_reach_here();
    1.47  
    1.48 @@ -387,8 +382,7 @@
    1.49  
    1.50  void C1_MacroAssembler::verify_not_null_oop(Register r) {
    1.51    Label not_null;
    1.52 -  br_notnull(r, false, Assembler::pt, not_null);
    1.53 -  delayed()->nop();
    1.54 +  br_notnull_short(r, Assembler::pt, not_null);
    1.55    stop("non-null oop required");
    1.56    bind(not_null);
    1.57    if (!VerifyOops) return;

mercurial