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 19:09:44 2011
--- new/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp Fri Jul 15 19:09:43 2011
*** 39,49 ****
--- 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(temp_reg, iCache, Assembler::equal, true, Assembler::pt, L);
! cmp_and_brx_short(temp_reg, iCache, Assembler::equal, Assembler::pt, L);
AddressLiteral ic_miss(SharedRuntime::get_ic_miss_stub());
jump_to(ic_miss, temp_reg);
delayed()->nop();
align(CodeEntryAlignment);
bind(L);
*** 138,148 ****
--- 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);
! br_null_short(Rmark, Assembler::pt, done);
if (!UseBiasedLocking) {
// load object
ld_ptr(Rbox, BasicObjectLock::obj_offset_in_bytes(), Roop);
verify_oop(Roop);
}
*** 226,236 ****
--- 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
- ba(slow_case, false);
delayed()->nop();
return;
}
try_allocate(obj, noreg, obj_size * wordSize, t2, t3, slow_case);
*** 252,264 ****
--- 252,264 ----
#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(t1, var_size_in_bytes, Assembler::equal, false, Assembler::pt, ok);
! cmp_and_brx_short(t1, var_size_in_bytes, Assembler::equal, Assembler::pt, ok);
} else {
! cmp_and_brx(t1, con_size_in_bytes, Assembler::equal, false, Assembler::pt, ok);
! cmp_and_brx_short(t1, con_size_in_bytes, Assembler::equal, Assembler::pt, ok);
}
stop("bad size in initialize_object");
should_not_reach_here();
bind(ok);
*** 380,390 ****
--- 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);
! 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