RFR: 8042906: Remove use of reflection in ORB
mark.sheppard at oracle.com
Mon May 12 13:35:30 UTC 2014
OK thanks Chris and Daniel ... I see my misinterpretation now
On 12/05/2014 13:46, Daniel Fuchs wrote:
> Hi Mark,
> AFAIKS computeIfAbsent does what we want:
> It seems that putIfAbsent would not though. This is indeed confusing.
> I wish putIfAbsent had been specified similarly to
> best regards,
> -- daniel
> ConcurrentHashMap seems to have something more
> On 5/12/14 1:33 PM, Mark Sheppard wrote:
>> If I read the javdoc correctly neither computeIfAbsent nor putIfAbsent
>> seem to match the
>> previous semantics of the if statement?
>> computeIfAbsent: "If the value for the specified key is present and
>> non-null, attempts to compute a new mapping given the key and its
>> current mapped value."
>> "If the specified key is not already associated with a value (or is
>> mapped to |null|), attempts to compute its value using the given mapping
>> function and enters it into this map unless |null|. "
>> my interpretation is this is relevant if value if there exist a value
>> and you want to update?
>> putIfAbsent: "If the specified key is not already associated with a
>> value (or is mapped to |null|) associates it with the given value and
>> returns |null|, else returns the current value."
>> in this case we can have null value returned
>> previous semantics were if the PM doesn't exist then instantiate and
>> cache it in the hashtable. return the PM - no null value returned
>> maybe I'm misinterpreting the docs
>> On 12/05/2014 08:52, Seán Coffey wrote:
>>> Good tip Alan/Chris.
>>> I'll make that change and push.
>>> On 12 May 2014 07:17:04 GMT+01:00, Alan Bateman
>>> <Alan.Bateman at oracle.com> wrote:
>>>> On 11/05/2014 21:56, Seán Coffey wrote:
>>>>> Now that JDK 8 is the official build bootstrap JDK for JDK 9, we can
>>>>> remove use of reflection in ORB code to access the applet context.
>>>>> bug report : https://bugs.openjdk.java.net/browse/JDK-8042906
>>>>> webrev : http://cr.openjdk.java.net/~coffeys/webrev.8042906/webrev/
>>>> I agree with Chris that computeIfAbsent is best here, that was also
>>>> suggestion back in early April before the bootstrapping issue came up.
>>>> In any case, it's good you are re-visiting this to clean it up.
More information about the core-libs-dev