RFR (S): 8230423: Move os::sleep to JavaThread::sleep
David Holmes
david.holmes at oracle.com
Mon Sep 9 13:08:22 UTC 2019
Sorry confused two different sets of changes ...
On 9/09/2019 10:37 pm, David Holmes wrote:
> Hi Robbin,
>
> Thanks for taking a look.
>
> On 9/09/2019 6:38 pm, Robbin Ehn wrote:
>> Hi David,
>>
>> 3598 void os::interrupt(Thread* thread) {
>> 3599 debug_only(Thread::check_for_dangling_thread_pointer(thread);)
>> 3600 assert(thread->is_Java_thread(), "invariant");
>> 3601 JavaThread* jt = (JavaThread*) thread;
>>
>> Why not change the argument type to JavaThread* ?
The interrupt code is all being changed in an upcoming fix so I didn't
worry too much about the mechanisms at this stage.
David
-----
> To be honest this was the last part I had to fix because of the movement
> of the _SleepEvent and initially I just did a cast then thought that was
> too clunky so used the same approach as had earlier been in the sleep
> code. Changing the parameter would have been simpler as it turns out.
> But this code will only last a few days anyway :)
>
> Thanks,
> David
>
>> Thanks, Robbin
>>
>> On 9/9/19 7:21 AM, David Holmes wrote:
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8230423
>>> webrev: http://cr.openjdk.java.net/~dholmes/8230423/webrev/
>>>
>>> This is the next step in the sleep/interrupt support code reshuffle.
>>> Now that os::sleep is platform independent and only applicable to
>>> JavaThreads, we can move it to JavaThread as an instance method.
>>>
>>> Summary of changes:
>>> - os::sleep moved to JavaThread::sleep as instance method
>>> - signature changed to return bool - true means timed-out; false
>>> means interrupted
>>> - rearranged the sleep code slightly to remove the initial
>>> back-to-back nanoTime() calls - as suggested by Roger.
>>> - _SleepEvent moved from Thread to JavaThread
>>> - minor changes to os::interrupt to account for move to JavaThread
>>> (this code will also be moved to JavaThread in the next fix)
>>> - call sites changed from os::sleep(t,ms) to t->sleep(ms)
>>>
>>> Testing:
>>> - tiers 1-3
>>>
>>> Thanks,
>>> David
More information about the hotspot-dev
mailing list