hg: valhalla/valhalla/jdk: Add support for Q-types to lambda forms

Sergey Kuksenko sergey.kuksenko at oracle.com
Tue Jun 13 20:04:30 UTC 2017


Maurizio,

When you did that commit you accidentally rewrote previous commit which 
fixed names of generated classes.
That causes ValueType.getWither doesn't work with value types other than 
from default package.

Your code (see method getWither):

  result = MethodHandleBuilder.loadCode(lookup, "wither" + 
sourceClass().getName() + ":" + name, ...

Should be:

  result = MethodHandleBuilder.loadCode(boxLookup, mhName("wither$" + name)



On 06/06/2017 04:44 AM, maurizio.cimadamore at oracle.com wrote:
> Changeset: 0cb6a562cbbf
> Author:    mcimadamore
> Date:      2017-06-06 12:39 +0100
> URL:       http://hg.openjdk.java.net/valhalla/valhalla/jdk/rev/0cb6a562cbbf
>
> Add support for Q-types to lambda forms
> Note: support is optional, and can be enabled using the flag:
> -Dvalhalla.enableValueLambdaForms=true
>
> ! src/java.base/share/classes/java/lang/invoke/BoundMethodHandle.java
> ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java
> ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
> ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java
> + src/java.base/share/classes/java/lang/invoke/LambdaFormBuilder.java
> ! src/java.base/share/classes/java/lang/invoke/MethodHandleStatics.java
> ! src/java.base/share/classes/java/lang/invoke/MethodTypeForm.java
> ! src/java.base/share/classes/jdk/experimental/value/MethodHandleBuilder.java
> ! src/java.base/share/classes/jdk/experimental/value/ValueType.java
> ! test/valhalla/mvt/MVTTest.java
>

-- 
Best regards,
Sergey Kuksenko




More information about the valhalla-dev mailing list