review(M): 7034967: C1: assert(false) failed: error (assembler_sparc.cpp:2043)
Igor Veresov
igor.veresov at oracle.com
Fri Apr 8 15:47:23 PDT 2011
The assert is a verification failure originated from
LIR_Assembler::emit_unwind_handler() complaining that the exception oop
is null. The verification code was invalid, because in
C1_MacroAssembler::verify_not_null_oop() we used br_zero() to check for
null, which actually checks only the least significant 32bits. Now
br_notnull is used instead.
Also, I found that VerifyOops didn't work with 64bit C1 (both x64 and
sparc), which is also fixed.
Webrev: http://cr.openjdk.java.net/~iveresov/7034967/webrev.00/
Thanks,
igor
More information about the hotspot-compiler-dev
mailing list