Assertion if using "-XX:+CITraceTypeFlow -XX:+Verbose" together

Volker Simonis volker.simonis at gmail.com
Mon Mar 7 07:18:31 PST 2011


If -XX:+CITraceTypeFlow is beeing used together with -XX:+Verbose in a
debug build the VM asserts while trying to print the bytecodes of a
dummy block.
This can easily be fixed by suppressing the printing of bytecodes for
dummy blocks:

--- a/src/share/vm/ci/ciTypeFlow.cpp    Thu Feb 10 16:24:29 2011 -0800
+++ b/src/share/vm/ci/ciTypeFlow.cpp    Mon Mar 07 16:12:39 2011 +0100
@@ -1871,7 +1871,8 @@
 // ------------------------------------------------------------------
 // ciTypeFlow::Block::print_on
 void ciTypeFlow::Block::print_on(outputStream* st) const {
-  if ((Verbose || WizardMode)) {
+  if ((Verbose || WizardMode) && (limit() >= 0)) {
+    // Don't print 'dummy' blocks (i.e. blocks with limit() '-1')
     outer()->method()->print_codes_on(start(), limit(), st);
   }
   st->print_cr("  ====================================================  ");


More information about the hotspot-compiler-dev mailing list