src/cpu/sparc/vm/vtableStubs_sparc.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/cpu/sparc/vm/vtableStubs_sparc.cpp Fri Jul 15 18:49:46 2011
--- new/src/cpu/sparc/vm/vtableStubs_sparc.cpp Fri Jul 15 18:49:46 2011
*** 74,86 ****
--- 74,84 ----
#ifndef PRODUCT
if (DebugVtables) {
Label L;
// check offset vs vtable length
__ ld(G3_scratch, instanceKlass::vtable_length_offset()*wordSize, G5);
! __ cmp_and_br_short(G5, vtable_index*vtableEntry::size(), Assembler::greaterUnsigned, Assembler::pt, L);
__ br(Assembler::greaterUnsigned, false, Assembler::pt, L);
__ delayed()->nop();
__ set(vtable_index, O2);
__ call_VM(noreg, CAST_FROM_FN_PTR(address, bad_compiled_vtable_index), O0, O2);
__ bind(L);
}
#endif
*** 93,104 ****
--- 91,101 ----
}
#ifndef PRODUCT
if (DebugVtables) {
Label L;
! __ br_notnull(G5_method, false, Assembler::pt, L);
__ delayed()->nop();
! __ br_notnull_short(G5_method, Assembler::pt, L);
__ stop("Vtable entry is ZERO");
__ bind(L);
}
#endif
*** 175,186 ****
--- 172,182 ----
throw_icce);
#ifndef PRODUCT
if (DebugVtables) {
Label L01;
! __ bpr(Assembler::rc_nz, false, Assembler::pt, L5_method, L01);
__ delayed()->nop();
! __ br_notnull_short(L5_method, Assembler::pt, L01);
__ stop("methodOop is null");
__ bind(L01);
__ verify_oop(L5_method);
}
#endif
src/cpu/sparc/vm/vtableStubs_sparc.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File