<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">src/share/vm/compiler/compileBroker.cpp:<div class=""><br class=""></div><div class=""><div class="">+      failure_reason = ci_env.failure_reason();</div>+      retry_message = ci_env.retry_message();<div class="">       ci_env.report_failure(ci_env.failure_reason());</div><div class=""><br class=""></div>Why not use failure_reason?</div><div class=""><br class=""></div><div class="">src/share/vm/jvmci/jvmciCompiler.cpp:</div><div class=""><br class=""></div><div class="">+      oop failure_message = CompilationRequestResult::failureMessage(result_object);<br class="">+      if (failure_message != NULL) {<br class="">+        const char* failure_reason = failure_message != NULL ? java_lang_String::as_utf8_string(failure_message) : "unknown reason”;<br class=""><br class="">failure_message is guaranteed to be non-null.</div><div class=""><br class=""></div><div class="">+    oop result_object = (oop) result.get_jobject();<br class="">+    if (result_object != NULL) {<br class=""><br class="">Looks like there is nothing to handle the null case.  Should we?</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 19, 2016, at 9:32 AM, Tom Rodriguez <<a href="mailto:tom.rodriguez@oracle.com" class="">tom.rodriguez@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><a href="http://cr.openjdk.java.net/~never/8147432/webrev/index.html" class="">http://cr.openjdk.java.net/~never/8147432/webrev/index.html</a><div class=""><a href="https://bugs.openjdk.java.net/browse/JDK-8147432" class="">https://bugs.openjdk.java.net/browse/JDK-8147432</a></div><div class=""><br class=""></div><div class="">Currently JVMCI compiles either produce code or they don’t but nothing is reported for failures.  This adds a new CompilationRequestResult object that can return a human readable message to be included in the normal “COMPILE SKIPPED” style message.  I’ve refactored the printing so it’s shared between compiles.  The result can also include the number of inlined byte codes for use by things like CITimeEach.  Additionally I removed the CompilationToVM.notifyCompilationStatistics as this was apparently a left over.  Tested with specjvm and PrintCompilation which has a few OSR bailouts plus injecting some exceptions to make sure they were reported correctly.</div><div class=""><br class=""></div><div class="">tom</div></div></div></blockquote></div><br class=""></div></body></html>