RFR: 8173679: Disable ProfileTrap code and UseRTMLocking in emulated client Win32

Jamsheed C m jamsheed.c.m at oracle.com
Thu Feb 2 05:29:30 UTC 2017


Hi Vladimir,

On 2/2/2017 9:20 AM, Vladimir Kozlov wrote:
>
>
> On 2/1/17 6:19 PM, Jamsheed C m wrote:
>> Hi Vladimir,
>>
>> On 2/2/2017 7:07 AM, Vladimir Kozlov wrote:
>>> On 2/1/17 9:07 AM, Jamsheed C m wrote:
>>>> Hi Vladimir,
>>>>
>>>>
>>>> On 2/1/2017 10:25 PM, Vladimir Kozlov wrote:
>>>>>
>>>>> Sent from my iPhone
>>>>>
>>>>>> On Feb 1, 2017, at 5:20 AM, Jamsheed C m 
>>>>>> <jamsheed.c.m at oracle.com> wrote:
>>>>>>
>>>>>> Hi Vladimir,
>>>>>>
>>>>>> revised webrev : http://cr.openjdk.java.net/~jcm/8173679/webrev.01/
>>>>>>
>>>>>> 1) -XX:+UseRTMLocking displays informative warning in emulate 
>>>>>> client mode.
>>>>> Warning doesn't switch off RTM.
>>>>> where you are switching it off?
>>>> i am not switching it off, i am just printing warning, User should 
>>>> explicitly remove option.
>>>
>>> Then it should be not warning but error. We can't run in Client mode 
>>> with RTM on. Or I am missing something?
>> RTM "ON" state is always user specified action. RTM is default OFF. 
>> from the code it says it disables BiasedLocking when
>> RTM is ON and exit in client(lose both rtm + biased locking feature 
>> with -XX:+UseRTMLocking), i made it warning for
>
> Where it exits? It does not in VM_Version::use_biased_locking().
i meant normal client exits. emulated client prints warning only, it 
doesn't exit or change flags.
>
>> emulated client. as it is User specified action, User can see warning 
>> that  Biased lock get switched off with an
>> unsupported option, and remove it from his commandline.
>
> No, you have to explicitly call vm_exit_during_initialization() as it 
> was done in preceding code (!supports_rtm() && UseRTMLocking). Note, 
> users may ignores warnings because usually output is stored in log files.
Sure, i will do required code change , and send it for review.
Best Regards,
Jamsheed
>
> thanks,
> Vladimir
>
>> Best Regards,
>> Jamsheed
>>>
>>> Thanks,
>>> Vladimir
>>>
>>>>
>>>> Best Regards, Jamsheed
>>>>
>>>>>
>>>>> Vladimir
>>>>>
>>>>>> 2)  Disabled mdo update code in deopt.
>>>>>>
>>>>>> Best Regards,
>>>>>>
>>>>>> Jamsheed
>>>>>>
>>>>>>
>>>>>>> On 2/1/2017 11:04 AM, Jamsheed C m wrote:
>>>>>>> Hi Vladimir,
>>>>>>>
>>>>>>>> On 2/1/2017 1:39 AM, Vladimir Kozlov wrote:
>>>>>>>>> On 1/31/17 10:37 AM, Jamsheed C m wrote:
>>>>>>>>> Hi Vladimir,
>>>>>>>>>
>>>>>>>>> ProfileTraps is develop_pd flag, should i be changing flag type ?
>>>>>>>> No. Thinking more about this. The code guarded by ProfileTraps 
>>>>>>>> should be only executed when ProfileInterpreter is
>>>>>>>> true. And you set ProfileInterpreter to false in client mode. 
>>>>>>>> Why you need these changes then? Did you hit some
>>>>>>>> ProfileTraps code which is not guarded by ProfileInterpreter?
>>>>>>> with ProfileTraps ON may be the trap count updation in deopt 
>>>>>>> pollute Runtime1::predicate_failed_trap trap count
>>>>>>> and may influence the recompilation time optimization decision? 
>>>>>>> also create some more mdos(empty ones) in
>>>>>>> exceptions ?
>>>>>>> other than that i don't find any issues.
>>>>>>>
>>>>>>> just disabling ProfileTraps[1] in deoptimization should solve 
>>>>>>> first problem. second problem of creation of
>>>>>>> mdos(empty ones) for exception is harmless i believe.
>>>>>>> [1] if (ProfileTraps && update_trap_state && trap_mdo != NULL) {
>>>>>>>
>>>>>>>>> RTM test code doesn't pass VM options to  spawned  process, So 
>>>>>>>>> predicate checking process and spawned process
>>>>>>>>> can be in
>>>>>>>>> different modes. spawned test process is always in emulated 
>>>>>>>>> client mode in win32.
>>>>>>>>>
>>>>>>>>> the predicate checking process will be in emulated client or 
>>>>>>>>> server based on passed -XX:+|-TieredCompilation
>>>>>>>>> option.
>>>>>>>>> as a fix i disabled RTM testing completely in win32.
>>>>>>>> I still do not understand why you can't use 
>>>>>>>> Platform.isEmulatedClient() instead of Platform.isWindows() &&
>>>>>>>> Platform.is32bit().
>>>>>>>>
>>>>>>>> And why changes in SupportedOS.java is not enough?
>>>>>>> Some tests doesn't pass vmoption to child process(cli tests). so 
>>>>>>> same vm tests will be running in different modes
>>>>>>> ( i.e child will always run in emulated client mode, while 
>>>>>>> predicate checking parent process will run in server or
>>>>>>> emulated client depending on option passed). so these tests 
>>>>>>> require change if i am changing VM behavior with
>>>>>>> respect to options.
>>>>>>>
>>>>>>> //I would suggest to disable RTM only in client mode. //
>>>>>>>
>>>>>>> as per this discussion, i decided to not disable tests or vm 
>>>>>>> behavior, just print some harmless warning in
>>>>>>> emulated client mode.
>>>>>>>
>>>>>>> Best Regards,
>>>>>>> Jamsheed
>>>>>>>
>>>>>>>>> i will disable RTM completely in win32(both emulated client 
>>>>>>>>> and server).
>>>>>>>> I would suggest to disable RTM only in client mode.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Vladimir
>>>>>>>>
>>>>>>>>> Best Regards,
>>>>>>>>>
>>>>>>>>> Jamsheed
>>>>>>>>>
>>>>>>>>>> On 1/31/2017 11:15 PM, Vladimir Kozlov wrote:
>>>>>>>>>> Jamsheed
>>>>>>>>>>
>>>>>>>>>> Instead of adding check && !is_client_compilation_mode_vm() I 
>>>>>>>>>> think we should set ProfileTraps to false in
>>>>>>>>>> client mode.
>>>>>>>>>>
>>>>>>>>>> Why you not using Platform.isEmulatedClient() in tests changes?
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Vladimir
>>>>>>>>>>
>>>>>>>>>>> On 1/31/17 2:44 AM, Jamsheed C m wrote:
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> Code change to disable ProfileTrap and UseRTMLocking in 
>>>>>>>>>>> Win32 emulated client .
>>>>>>>>>>>
>>>>>>>>>>> 1) ProfileTrap is code is disabled
>>>>>>>>>>>
>>>>>>>>>>> 2) -XX:+ UseRTMLocking in win32 emulated client not supported.
>>>>>>>>>>>
>>>>>>>>>>> 3) All Supported and Unsupported  testcases related RTM is 
>>>>>>>>>>> disabled in win32.
>>>>>>>>>>>
>>>>>>>>>>> webrev: http://cr.openjdk.java.net/~jcm/8173679/webrev.00/
>>>>>>>>>>>
>>>>>>>>>>> bug id: https://bugs.openjdk.java.net/browse/JDK-8173679
>>>>>>>>>>>
>>>>>>>>>>> Best Regards,
>>>>>>>>>>>
>>>>>>>>>>> Jamsheed
>>>>>>>>>>>
>>>>
>>



More information about the hotspot-compiler-dev mailing list