<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I rearranged that during the push.<div class=""><br class=""><div class=""><div class="">+  // We can't compile with a JVMCI compiler until the module system is initialized past</div><div class="">+  // phase 3.  The JVMCI API itself isn't available until phase 2 and ServiceLoader isn't</div><div class="">+  // usable until after phase 3.</div><div class="">+  if (level == CompLevel_full_optimization && EnableJVMCI && UseJVMCICompiler) {</div><div class="">+    if (SystemDictionary::java_system_loader() == NULL) {</div><div class="">+      return;</div><div class="">+     }</div><div class="">+     assert(Universe::is_module_initialized(), "must be");</div><div class=""><br class=""></div><div class="">tom</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jun 28, 2016, at 4:19 PM, Christian Thalinger <<a href="mailto:cthalinger@twitter.com" class="">cthalinger@twitter.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=windows-1252" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><h2 style="font-family: -webkit-standard; background-color: rgb(238, 238, 238);" class="">src/share/vm/runtime/simpleThresholdPolicy.cpp</h2><div class=""><pre style="background-color: rgb(238, 238, 238);" class=""><span class="new" style="color: blue;">+    assert(Universe::is_module_initialized(), "must be");</span></pre></div><div class="">Shouldnít that be !Universe::is_module_initialized()?  No, thatís wrong too.  I donít think you can have this assert.</div><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Jun 27, 2016, at 4:56 PM, 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=windows-1252" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Some side discussion generated a minor change to this fix.  simpleThresholdPolicy.cpp already had a check that JVMCI was in phase 2 before allowing compile, so instead of checking this over in jvmciCompiler.cpp Iíve modified the exist check to require phase 3.  The new webrev is <a href="http://cr.openjdk.java.net/~never/8160121-v3/webrev" class="">http://cr.openjdk.java.net/~never/8160121-v3/webrev</a>.  The only difference is there are no changes in jvmciCompiler.cpp and there are new changes in simpleThresholdPolicy.cpp.<div class=""><br class=""></div><div class=""><div class="">tom</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Jun 23, 2016, at 10:06 AM, Vladimir Kozlov <<a href="mailto:vladimir.kozlov@oracle.com" class="">vladimir.kozlov@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Looks good.<br class=""><br class="">Thanks,<br class="">Vladimir<br class=""><br class="">On 6/23/16 8:55 AM, Doug Simon wrote:<br class=""><blockquote type="cite" class="">JVMCI cannot be initialized until after VM init phase 3 as it requires the jdk.vm.ci module to be available (phase 2) and ServiceLoader to be working (phase 3). This change moves the eager initialization of JVMCI (under the condition of !UseInterpreter || !BackgroundCompilation) to be after phase 3 as well as causing JVMCI compilations before phase 3 to be ignored.<br class=""><br class="">Thanks to Tom for most of this code!<br class=""><br class=""><a href="https://bugs.openjdk.java.net/browse/JDK-8160121" class="">https://bugs.openjdk.java.net/browse/JDK-8160121</a><br class=""><a href="http://cr.openjdk.java.net/~dnsimon/8160121/" class="">http://cr.openjdk.java.net/~dnsimon/8160121/</a><br class=""><br class="">-Doug<br class=""><br class=""></blockquote></div></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></div></div></blockquote></div><br class=""></div></div></div></body></html>