RFR: 8173679: Disable ProfileTrap code and UseRTMLocking in emulated client Win32
Jamsheed C m
jamsheed.c.m at oracle.com
Wed Feb 1 05:34:33 UTC 2017
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