src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp	Fri Jul 15 18:49:37 2011
--- new/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp	Fri Jul 15 18:49:37 2011

*** 39,51 **** --- 39,49 ---- Label L; const Register temp_reg = G3_scratch; // Note: needs more testing of out-of-line vs. inline slow case verify_oop(receiver); load_klass(receiver, temp_reg); ! cmp_and_brx_short(temp_reg, iCache, Assembler::equal, Assembler::pt, L); brx(Assembler::equal, true, Assembler::pt, L); delayed()->nop(); AddressLiteral ic_miss(SharedRuntime::get_ic_miss_stub()); jump_to(ic_miss, temp_reg); delayed()->nop(); align(CodeEntryAlignment); bind(L);
*** 140,151 **** --- 138,148 ---- verify_oop(Roop); biased_locking_exit(mark_addr, Rmark, done); } // Test first it it is a fast recursive unlock ld_ptr(Rbox, BasicLock::displaced_header_offset_in_bytes(), Rmark); ! br_null(Rmark, false, Assembler::pt, done); delayed()->nop(); ! br_null_short(Rmark, Assembler::pt, done); if (!UseBiasedLocking) { // load object ld_ptr(Rbox, BasicObjectLock::obj_offset_in_bytes(), Roop); verify_oop(Roop); }
*** 229,239 **** --- 226,236 ---- // allocate space & initialize header if (!is_simm13(obj_size * wordSize)) { // would need to use extra register to load // object size => go the slow case for now ! br(Assembler::always, false, Assembler::pt, slow_case); ! ba(slow_case); delayed()->nop(); return; } try_allocate(obj, noreg, obj_size * wordSize, t2, t3, slow_case);
*** 255,270 **** --- 252,265 ---- #ifdef ASSERT { Label ok; ld(klass, klassOopDesc::header_size() * HeapWordSize + Klass::layout_helper_offset_in_bytes(), t1); if (var_size_in_bytes != noreg) { ! cmp_and_brx_short(t1, var_size_in_bytes, Assembler::equal, Assembler::pt, ok); } else { ! cmp_and_brx_short(t1, con_size_in_bytes, Assembler::equal, Assembler::pt, ok); } brx(Assembler::equal, false, Assembler::pt, ok); delayed()->nop(); stop("bad size in initialize_object"); should_not_reach_here(); bind(ok); }
*** 385,396 **** --- 380,390 ---- verify_oop_addr(Address(SP, stack_offset + STACK_BIAS)); } void C1_MacroAssembler::verify_not_null_oop(Register r) { Label not_null; ! br_notnull(r, false, Assembler::pt, not_null); delayed()->nop(); ! br_notnull_short(r, Assembler::pt, not_null); stop("non-null oop required"); bind(not_null); if (!VerifyOops) return; verify_oop(r); }

src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File