[9, 8u40] RFR (M): 8057020: LambdaForm caches should support eviction

John Rose john.r.rose at oracle.com
Wed Dec 3 06:38:20 UTC 2014


I sympathize with Paul's "gnarly" comment.

Nice bit of stream-ology (rheology) in the test code.


> On Dec 2, 2014, at 8:20 AM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com> wrote:
>> In src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java
>>  366                     lambdaForm.transformCache = c = ta;
>> Do you need to set "c"? It's a local variable and by this point the method should return rather than loop.
> I did it mostly as a cleanup. Now I think that it doesn't help much. Removed (+ similar change in another place).

The "c = " bit can be viewed as a bug-stopper.  It prevents a later expression (if introduced in a future change) from accidentally using 'c' and getting an out-of-date value.  A better bug-stopper would be a declaration that "c is dead as of this point, and cannot be used any more", but the language does not support that.  I don't mind seeing the assignment deleted.

— John

> On Dec 1, 2014, at 8:58 AM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com> wrote:
> http://cr.openjdk.java.net/~vlivanov/8057020/webrev.00/
> https://bugs.openjdk.java.net/browse/JDK-8057020

More information about the core-libs-dev mailing list