RFR: 8159590: Remove deprecated methods from jdk.internal.misc.VM
David Holmes
david.holmes at oracle.com
Fri Jun 17 01:35:53 UTC 2016
Hi Claes,
On 17/06/2016 8:20 AM, Claes Redestad wrote:
> Hi David,
>
> On 2016-06-16 23:11, David Holmes wrote:
>> On 16/06/2016 10:52 PM, Claes Redestad wrote:
>>> On 06/16/2016 02:48 PM, Chris Hegarty wrote:
>>>> Apologies, you corrected me off-line, TG.allowThreadSuspension calls
>>>> VM.unsuspendSomeThreads ( which is a no-op ) and not
>>>> VM.unsuspendThreads
>>>> ( which I thought it did ). In which case I am ok with the change.
>>>
>>> Ok, thanks! :-)
>>
>> Isn't this variable unused now:
>>
>> 63 boolean vmAllowSuspension;
>
> Interestingly enough there are hooks in hotspot to compute offsets of
> various fields in j.l.ThreadGroup, so even though the vmAllowSuspension
> field is unused (on both sides), removing the field would require
> changing code in hotspot.
>
> Tumbled down that rabbit hole to see how deep it goes, and was
> pleasantly surprised that it didn't go very far at all:
>
> HS: http://cr.openjdk.java.net/~redestad/8159590/hotspot.02/
> JDK: http://cr.openjdk.java.net/~redestad/8159590/jdk.02/
>
> I think the cleanup on the vm side might be trivial enough to be wrapped
> into this change. What do you think?
I'd need to look into the SA code as well and double-check some things.
But I'm off till next week :) If you want to move ahead urgently then we
can file a follow up cleanup bug for hotspot.
Thanks.
David
> Thanks!
>
> /Claes
>
>>
>> Thanks,
>> David
>>
>>>>
>>>> I think we should add ‘forRemoval = true’ while here.
>>>
>>> I'm good with that, but does modifying the way in which something is
>>> deprecated require a CCC request?
>>>
>>> /Claes
>>>
>>>>
>>>> -Chris.
>>>>
>>>>
>>>>> On 16 Jun 2016, at 13:39, Chris Hegarty <chris.hegarty at oracle.com>
>>>>> wrote:
>>>>>
>>>>> On 15 Jun 2016, at 14:30, Claes Redestad <claes.redestad at oracle.com>
>>>>> wrote:
>>>>>> Hi,
>>>>>>
>>>>>> after VM.java was encapsulated and moved from sun.misc to
>>>>>> jdk.internal.misc, the rationale for keeping a number of deprecated
>>>>>> methods and constants no longer applies and these methods should be
>>>>>> removed:
>>>>>>
>>>>>> Webrev: http://cr.openjdk.java.net/~redestad/8159590/webrev.01/
>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8159590
>>>>> I had forgotten that there was a public API, ThreadGroup, that
>>>>> exposed some
>>>>> of this functionality. Sadly I think that we may have to keep this,
>>>>> for now, and
>>>>> remove it in 10.
>>>>>
>>>>> ThreadGroup::allowThreadSuspension should, however, have its
>>>>> @Deprecated
>>>>> annotation updated with ‘forRemoval = true’, then removed early in 10.
>>>>>
>>>>> I can’t remember if this was on Stuarts list or not, but I think it
>>>>> is ok to do it
>>>>> separately anyway.
>>>>>
>>>>> -Chris.
>>>
More information about the core-libs-dev
mailing list