RFR: 8160121: [JVMCI] JvmciNotifyBootstrapFinishedEventTest.java failed NoClassDefFoundError: jdk/vm/ci/runtime/JVMCI
Tom Rodriguez
tom.rodriguez at oracle.com
Wed Jun 29 00:23:39 UTC 2016
I rearranged that during the push.
+ // We can't compile with a JVMCI compiler until the module system is initialized past
+ // phase 3. The JVMCI API itself isn't available until phase 2 and ServiceLoader isn't
+ // usable until after phase 3.
+ if (level == CompLevel_full_optimization && EnableJVMCI && UseJVMCICompiler) {
+ if (SystemDictionary::java_system_loader() == NULL) {
+ return;
+ }
+ assert(Universe::is_module_initialized(), "must be");
tom
> On Jun 28, 2016, at 4:19 PM, Christian Thalinger <cthalinger at twitter.com> wrote:
>
> src/share/vm/runtime/simpleThresholdPolicy.cpp
>
> + assert(Universe::is_module_initialized(), "must be");
> Shouldn’t that be !Universe::is_module_initialized()? No, that’s wrong too. I don’t think you can have this assert.
>
>> On Jun 27, 2016, at 4:56 PM, Tom Rodriguez <tom.rodriguez at oracle.com <mailto:tom.rodriguez at oracle.com>> wrote:
>>
>> 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 http://cr.openjdk.java.net/~never/8160121-v3/webrev <http://cr.openjdk.java.net/~never/8160121-v3/webrev>. The only difference is there are no changes in jvmciCompiler.cpp and there are new changes in simpleThresholdPolicy.cpp.
>>
>> tom
>>
>>> On Jun 23, 2016, at 10:06 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com <mailto:vladimir.kozlov at oracle.com>> wrote:
>>>
>>> Looks good.
>>>
>>> Thanks,
>>> Vladimir
>>>
>>> On 6/23/16 8:55 AM, Doug Simon wrote:
>>>> 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.
>>>>
>>>> Thanks to Tom for most of this code!
>>>>
>>>> https://bugs.openjdk.java.net/browse/JDK-8160121 <https://bugs.openjdk.java.net/browse/JDK-8160121>
>>>> http://cr.openjdk.java.net/~dnsimon/8160121/ <http://cr.openjdk.java.net/~dnsimon/8160121/>
>>>>
>>>> -Doug
>>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160628/8ab84655/attachment-0001.html>
More information about the hotspot-compiler-dev
mailing list