RFR: 8062771: Core reflection should use final fields whenever possible
Joel Borggrén-Franck
joel.franck at oracle.com
Fri Nov 28 09:02:57 UTC 2014
Hi,
> On 27 nov 2014, at 20:21, Martin Buchholz <martinrb at google.com> wrote:
>
> Approved! Making fields final is super-safe.
>
I agree. All fields are private (or package private for Label) so this is safe.
+1
cheers
/Joel
> On Wed, Nov 26, 2014 at 10:59 PM, Ivan Gerasimov
> <ivan.gerasimov at oracle.com> wrote:
>> Hi!
>>
>> I can take care of jdk8 backport too, if you want.
>> I've checked it, and the port seemed quite straight-forward (modulo
>> unshuffling).
>>
>> Only changes to a few files [1] had to be skipped, as the changes appear to
>> already be there in jdk8u.
>>
>> Here's the webrev of jdk8u backport for JDK-8062771:
>>
>> WEBREV: http://cr.openjdk.java.net/~igerasim/8062771/0/webrev/
>>
>>
>> [1] And here's the list of the files that needed to be excluded from the
>> changeset:
>> src/share/classes/sun/reflect/generics/factory/CoreReflectionFactory.java
>> src/share/classes/sun/reflect/generics/reflectiveObjects/LazyReflectiveObjectGenerator.java
>> src/share/classes/sun/reflect/generics/repository/AbstractRepository.java
>> src/share/classes/sun/reflect/generics/scope/AbstractScope.java
>> src/share/classes/sun/reflect/generics/tree/ClassSignature.java
>>
>> Sincerely yours,
>> Ivan
>>
>>
>>
>> On 10.11.2014 12:00, Joel Borggrén-Franck wrote:
>>>
>>> That would be great
>>>
>>> cheers
>>> /Joel
>>>
>>> On 2014-11-09, Ivan Gerasimov wrote:
>>>>
>>>> Hi!
>>>>
>>>> I think I can handle the backport to jdk7, if you still need a volunteer.
>>>>
>>>> Sincerely yours,
>>>> Ivan
>>>>
>>>> On 08.11.2014 1:48, Martin Buchholz wrote:
>>>>>
>>>>> Hi Joel,
>>>>>
>>>>> Thanks for volunteering. I foisted all I have in
>>>>>
>>>>> https://bugs.openjdk.java.net/browse/JDK-8064391
>>>>>
>>>>> I volunteer to be your reviewer for the backports.
>>>>>
>>>>> On Fri, Nov 7, 2014 at 1:36 PM, Joel Borggrén-Franck
>>>>> <joel.franck at oracle.com> wrote:
>>>>>>
>>>>>> Hi Martin,
>>>>>>
>>>>>> Thanks for the clarification.
>>>>>>
>>>>>> On 6 nov 2014, at 20:51, Martin Buchholz <martinrb at google.com> wrote:
>>>>>>
>>>>>>> Hi Joel,
>>>>>>>
>>>>>>> On Thu, Nov 6, 2014 at 2:48 AM, Joel Borggrén-Franck
>>>>>>> <joel.franck at oracle.com> wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I’m having a hard time following this thread, which webrev has been
>>>>>>>> updated, for which release, fixing which issue?
>>>>>>>
>>>>>>> I am submitting the changeset for JDK-8062771, adding the finals and
>>>>>>> the (failed reproduction) test.
>>>>>>> Hopefully there will be followon changes to add even more thread
>>>>>>> safety.
>>>>>>>
>>>>>> Great.
>>>>>>
>>>>>> Are we sure the accidental fix of making ClassRepository volatile is
>>>>>> good on all platforms? I can’t establish the happens before relations that
>>>>>> would prove the fix but then again I’m not an expert on concurrency.
>>>>>>
>>>>>>>> Martin, as far as I can see you are the only one of us who has
>>>>>>>> replied to this thread who is a jdk7u committer (or reviewer).
>>>>>>>
>>>>>>> I am entirely in favor of having more reviewers.
>>>>>>>
>>>>>>> We are not planning to push these into jdk7u or jdk8u ourselves, but
>>>>>>> we are willing to help anyone who wants to take on that task. Joel,
>>>>>>> are you volunteering?
>>>>>>> We believe all versions of stock openjdk still have (rarely seen)
>>>>>>> thread safety issues in core reflection. We have applied changes
>>>>>>> locally at Google to fix those.
>>>>>>>
>>>>>> I’ll take care of 8u, and I can hunt down someone to fix this in 7u if
>>>>>> we can find a suitable reviewer (sigh).
>>>>>>
>>>>>> cheers
>>>>>> /Joel
>>>>>>
>>>>>>
>>>
>>
More information about the core-libs-dev
mailing list