RFR: 8156034: [JVMCI] Notify the jvmci compiler on completion of a bootstrap

Tom Rodriguez tom.rodriguez at oracle.com
Wed May 11 20:36:48 UTC 2016


I can take care of it.

tom

> On May 11, 2016, at 12:29 PM, Christian Thalinger <christian.thalinger at oracle.com> wrote:
> 
> Do you need me to integrate this or will Tom do it?
> 
>> On May 11, 2016, at 9:27 AM, Josef Eisl <josef.eisl at jku.at> wrote:
>> 
>> Thanks Christian!
>> 
>> On 05/11/2016 09:21 PM, Christian Thalinger wrote:
>>> 
>>>> On May 10, 2016, at 9:39 PM, Josef Eisl <josef.eisl at jku.at> wrote:
>>>> 
>>>> Thanks again, Chris and Doug!
>>>> 
>>>> Next iteration of the webrev available here:
>>>> http://cr.openjdk.java.net/~jeisl/8156034/webrev.02/
>>> 
>>> That looks good.
>>> 
>>>> 
>>>> Thanks,
>>>> Josef
>>>> 
>>>> On 10/05/16 23:35, Doug Simon wrote:
>>>>> The _bootstrap_compilation_request_seen variable should be renamed to
>>>>> _bootstrap_compilation_request_handled.
>>>>> 
>>>>> 
>>>> 
>>>> On 10/05/16 23:33, Christian Thalinger wrote:
>>>>> 
>>>>>> On May 10, 2016, at 11:20 AM, Josef Eisl <josef.eisl at jku.at
>>>>>> <mailto:josef.eisl at jku.at>> wrote:
>>>>>> 
>>>>>> Thank you for the review!
>>>>>> 
>>>>>> update webrev: http://cr.openjdk.java.net/~jeisl/8156034/webrev.01
>>>>>> <http://cr.openjdk.java.net/%7Ejeisl/8156034/webrev.01>
>>>>> 
>>>>> I think your change works but the proper way is to pass THREAD
>>>>> to JVMCICompiler::bootstrap() and use CHECK here:
>>>>> 
>>>>> + JVMCIRuntime::bootstrap_finished(CHECK);
>>>> 
>>>> That makes sense. I'm still figuring out where to use which macro but
>>>> I'm getting closer :).
>>>> 
>>>>>> 
>>>>>> Thanks,
>>>>>> Josef
>>>>>> 
>>>>>> On 05/10/2016 07:30 PM, Christian Thalinger wrote:
>>>>>>> 
>>>>>>>> On May 10, 2016, at 6:12 AM, Josef Eisl <josef.eisl at jku.at
>>>>>>>> <mailto:josef.eisl at jku.at>
>>>>>>>> <mailto:josef.eisl at jku.at>> wrote:
>>>>>>>> 
>>>>>>>> Hi!
>>>>>>>> 
>>>>>>>> May I get a review for this JVMCI change.
>>>>>>>> 
>>>>>>>> webrev: http://cr.openjdk.java.net/~jeisl/8156034/webrev/
>>>>>>>> <http://cr.openjdk.java.net/%7Ejeisl/8156034/webrev/>
>>>>>>> 
>>>>>>> 
>>>>>>> src/share/vm/jvmci/jvmciCompiler.cpp
>>>>>>> 
>>>>>>> + _bootstrap_compilation_request_seen = false;
>>>>>>> 
>>>>>>> Remove the extra space after =
>>>>>>> 
>>>>>>> 
>>>>>>> src/share/vm/jvmci/jvmciCompiler.hpp
>>>>>>> 
>>>>>>> + * True if we have seen the a bootstrap compilation request.
>>>>>>> 
>>>>>>> Typo “the a”.
>>>>>>> 
>>>>>>> 
>>>>>>> src/share/vm/jvmci/jvmciRuntime.cpp
>>>>>>> 
>>>>>>> +void JVMCIRuntime::bootstrapFinished() {
>>>>>>> 
>>>>>>> Rename the method to bootstrap_finished.  Also, this method should use
>>>>>>> TRAPS and propagate the exception.  In JNI_CreateJavaVM_inner use
>>>>>>> something like this to report exceptions:
>>>>>>> 
>>>>>>> if (HAS_PENDING_EXCEPTION) {
>>>>>>> HandleMark hm;
>>>>>>>      vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION));
>>>>>>>    }
>>>>>>> 
>>>>>>> + if (_HotSpotJVMCIRuntime_instance != NULL) {
>>>>>>> 
>>>>>>> Can this ever be not true at this point?
>>>>>> 
>>>>>> No, I guess you are right. In jdk9 this condition should always hold.
>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> *test/compiler/jvmci/events/JvmciNotifyBootstrapFinishedEventTest.java*
>>>>>>> 
>>>>>>> 27  * @requires (os.simpleArch == "x64" | os.simpleArch ==
>>>>>>> "sparcv9" | os.simpleArch == "aarch64")
>>>>>>> 28  * @requires (os.simpleArch == "x64" | os.simpleArch ==
>>>>>>> "sparcv9" | os.simpleArch == "aarch64")
>>>>>>> 
>>>>>>> Remove duplicate line.
>>>>>>> 
>>>>>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8156034
>>>>>>>> 
>>>>>>>> It passes all jvmci tests.
>>>>>>>> 
>>>>>>>> Note that this changes depends on
>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8155023
>>>>>>>> 
>>>>>>>> Thanks in advance,
>>>>>>>> Josef
>>>>> 
>>>> 
>>> 
>> 
> 



More information about the hotspot-compiler-dev mailing list