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