Initial webrev with changes for JDK 9

Peter Levart peter.levart at gmail.com
Tue Mar 15 14:11:11 UTC 2016


Sorry,

On 03/15/2016 02:56 PM, Peter Levart wrote:
> If you also care for constant lambda, this could be optimized even 
> further, but for the price of more complex code:
>
>
> NamedPackage p = packages.get(name);
>
> if (p instanceof Package) {
>     return (Package) p;
> } else if (p == null) {
>     Package pkg = NamedPackage.toPackage(name, m);
>     p = packages.putIfAbsent(name, pkg);
>     if (p == null) {
>         return pkg;
>     }
> }
>
> return (Package)packages.compute((n, p) -> {

     return (Package)packages.compute(name, (n, p) -> {

> assert p != null;
>     // replace NamedPackage with Package
>     return (p instanceof Package) ? p : 
> NamedPackage.toPackage(p.name(), p.module());
> }); 



More information about the jigsaw-dev mailing list