[10] RFR (XS): 8159734: Consistency check fails with -XX:-ProfileInterpreter

Zoltán Majó zoltan.majo at oracle.com
Fri Mar 10 13:55:56 UTC 2017


Hi,


please review the fix for 8159734.

https://bugs.openjdk.java.net/browse/JDK-8159734
http://cr.openjdk.java.net/~zmajo/8159734/webrev.00/

If run with -XX:-ProfileInterpreter, the VM crashes due to the failure 
of the assert at [1]. The reason for the failure is that the operations 
ensuring the consistency of profiling data [2] are performed only with 
interpreter profiling enabled.

Even if interpreter profiling is disabled, there can be one recorded 
type for a call instruction (morphism == 1) with count > 0. The reason 
is that the C1 compiler not only records the type but also increments 
the counter (e.g., see LIR_Assembler::emit_profile_call()).

The fix ensures that the consistency of profiling data is performed also 
with -XX:-ProfileInterpreter.

Fix tested with JPRT, RBT testing is in progress.

Thank you!

Best regards,


Zoltan

[1] 
http://hg.openjdk.java.net/jdk10/hs/hotspot/file/5e709f10c2a4/src/share/vm/ci/ciMethod.cpp#l540
[2] 
http://hg.openjdk.java.net/jdk10/hs/hotspot/file/5e709f10c2a4/src/share/vm/ci/ciMethod.cpp#l507


More information about the hotspot-compiler-dev mailing list