[8u40] Request for approval: Batch integration of JEP 210: LambdaForm Reduction and Caching

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Tue Sep 9 16:16:31 UTC 2014


Hello,

Please, approve integration of JEP 210 [1] into 8u-dev.
All the changes have passed review for 9. Integration into 9 is pending. 
There's an exception to integrate into 8u40 separately.

The changes apply almost cleanly (need some trivial adjustments [2]).

The list of changes:

  (0) 8037210: Get rid of char-based descriptions 'J' of basic types
     https://jbs.oracle.com/bugs/browse/JDK-8037210
     http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/7d144f6951bc
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-March/005694.html

  (1) 8037209: Improvements and cleanups to bytecode assembly for lambda 
forms
     https://jbs.oracle.com/bugs/browse/JDK-8037209
     http://cr.openjdk.java.net/~vlivanov/8037209/webrev.04/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-March/005695.html

  (2) 8038261: JSR292: cache and reuse typed array accessors
     https://jbs.oracle.com/bugs/browse/JDK-8038261
     http://cr.openjdk.java.net/~vlivanov/8038261/webrev.03/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-March/005711.html

  (3) 8049555: Move varargsArray from sun.invoke.util package to 
java.lang.invoke
     https://jbs.oracle.com/bugs/browse/JDK-8049555
     http://cr.openjdk.java.net/~vlivanov/8049555/webrev.01/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-July/005774.html

  (4) 8050052: Small cleanups in java.lang.invoke code
     https://jbs.oracle.com/bugs/browse/JDK-8050052
     http://cr.openjdk.java.net/~vlivanov/8050052/webrev.02/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-July/005781.html

  (5) 8050053: Improve caching of different invokers
     https://jbs.oracle.com/bugs/browse/JDK-8050053
     http://cr.openjdk.java.net/~vlivanov/8050053/webrev.01/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-July/005782.html

  (6) 8050166: Get rid of some package-private methods on arguments in 
j.l.i.MethodHandle
     https://jbs.oracle.com/bugs/browse/JDK-8050166
     http://cr.openjdk.java.net/~vlivanov/8050166/webrev.00/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-July/005791.html

  (7) 8050173: Add j.l.i.MethodHandle.copyWith(MethodType, LambdaForm)
     https://jbs.oracle.com/bugs/browse/JDK-8050173
     http://cr.openjdk.java.net/~vlivanov/8050173/webrev.01/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-July/005792.html

  (8) 8050174: Support overriding of isInvokeSpecial flag in WrappedMember
     https://jbs.oracle.com/bugs/browse/JDK-8050174
     http://cr.openjdk.java.net/~vlivanov/8050174/webrev.00/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-July/005793.html

  (9) 8050057: Improve caching of MethodHandle reinvokers
     https://jbs.oracle.com/bugs/browse/JDK-8050057
     http://cr.openjdk.java.net/~vlivanov/8050057/webrev.00/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-July/005794.html

(10) 8050200: Make LambdaForm intrinsics detection more robust
     https://jbs.oracle.com/bugs/browse/JDK-8050200
     http://cr.openjdk.java.net/~vlivanov/8050200/webrev.00/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-July/005795.html

(11) 8050877: Improve code for pairwise argument conversions and value 
boxing/unboxing
     https://jbs.oracle.com/bugs/browse/JDK-8050877
     http://cr.openjdk.java.net/~vlivanov/8050877/webrev.00/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-July/005814.html

(12) 8050884: Intrinsify ValueConversions.identity() functions
     https://jbs.oracle.com/bugs/browse/JDK-8050884
     http://cr.openjdk.java.net/~vlivanov/8050884/webrev.00/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-July/005815.html

(13) 8050887: Intrinsify constants for default values
     https://jbs.oracle.com/bugs/browse/JDK-8050887
     http://cr.openjdk.java.net/~vlivanov/8050887/webrev.00/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-July/005816.html

(14) 8057654: Extract checks performed during MethodHandle construction 
into separate methods
     https://jbs.oracle.com/bugs/browse/JDK-8057654
     http://cr.openjdk.java.net/~vlivanov/8057654/webrev.00/
 
http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-September/005956.html

(15) 8057656: Improve MethodType.isCastableTo() & 
MethodType.isConvertibleTo() checks
     https://jbs.oracle.com/bugs/browse/JDK-8057656
     http://cr.openjdk.java.net/~vlivanov/8057656/webrev.01/
 
http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-September/005957.html

(16) 8057657: Annotate LambdaForm parameters with types
     https://jbs.oracle.com/bugs/browse/JDK-8057657
     http://cr.openjdk.java.net/~vlivanov/8057657/webrev.00/
 
http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-September/005960.html

(17) 8056926: Improve caching of GuardWithTest combinator
     https://jbs.oracle.com/bugs/browse/JDK-8056926
     http://cr.openjdk.java.net/~vlivanov/8056926/webrev.00/
     http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-August/005899.html

(18) 8057042: LambdaFormEditor: derive new LFs from a base LF
     https://jbs.oracle.com/bugs/browse/JDK-8057042
     http://cr.openjdk.java.net/~vlivanov/8057042/webrev.00/
 
http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-September/005940.html

(19) 8057922: Improve LambdaForm sharing by using LambdaFormEditor more 
extensively
     https://jbs.oracle.com/bugs/browse/JDK-8057922
     http://cr.openjdk.java.net/~vlivanov/8057922/webrev.00/
 
http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-September/005994.html

Best regards,
Vladimir Ivanov

[1] https://bugs.openjdk.java.net/browse/JDK-8046703
[2] http://cr.openjdk.java.net/~vlivanov/lfc/baseline.8u.patch



More information about the jdk8u-dev mailing list