On 09/02/2014 03:59 PM, Vladimir Ivanov wrote:
Webrev: http://cr.openjdk.java.net/~vlivanov/8057042/webrev.00

Best regards,
Vladimir Ivanov

Hi Vladimir,

In LambdaFormEditor, where Transform[] is promoted into ConcurrentHashMap<Transform, Transform>:

 339                     ConcurrentHashMap<Transform, Transform> m = new 
ConcurrentHashMap<>(MAX_CACHE_ARRAY_SIZE * 2);
 340                     for (Transform k : ta) {
 341                         if (k != null)  continue;
 342                         m.put(k, k);
 343                     }
 344                     lambdaForm.transformCache = m;
 345                     // The second iteration will update for this query, 
concurrently.
 346                     continue;


I think line 341 is wrong. It should be:

    if (k == null) break;

shouldn't it?



Regards, Peter



On 9/2/14, 5:57 PM, Vladimir Ivanov wrote:
https://bugs.openjdk.java.net/browse/JDK-8057042

LambdaFormEditor provides an API to transform LambdaForms. Deriving new
LambdaForms from a base one allows to cache and reuse results of
repeated transformations.

BMH binding is rewritten to use LambdaFormEditor.

Testing: jdk/java/lang/invoke, jdk/java/util/streams, nashorn, octane w/
"-ea -esa" and COMPILE_THRESHOLD={0,30}.

Reviewed-by: vlivanov, ?
Contributed-by: john.r.r...@oracle.com

Thanks!

Best regards,
Vladimir Ivanov
_______________________________________________
mlvm-dev mailing list
mlvm-...@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
_______________________________________________
mlvm-dev mailing list
mlvm-...@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to