Are value types supposed to work at all currently?
Brian Goetz
brian.goetz at oracle.com
Tue May 19 15:18:34 UTC 2015
No, our primary focus in the compiler has been on generics. The support
in the compiler for value types has almost certainly decayed (but there
was not much there to start with.)
Cheers,
-Brian
On 5/19/2015 11:15 AM, Simon Ochsenreither wrote:
> Hi,
>
> I'm currently working on my talk about value types for tomorrow, and it seems
> that currently even the most basic value types are broken:
>
> public final __ByValue class Cell {
> public Cell(int value) {
> this.value = value;
> }
> public final int value;
> }
>
> /home/soc/Development/valhalla/build/linux-x86_64-normal-server-release/images/jdk/bin/java
> Cell
> Error: A JNI error has occurred, please check your installation and try again
> Exception in thread "main" java.lang.VerifyError: Bad instruction: cb
> Exception Details:
> Location:
> Cell.<init>(I)V @0: fast_agetfield
> Reason:
> Error exists in the bytecode
> Bytecode:
> 0000000: cb00 b700 01cb 001b b500 02b1
>
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2747)
> at java.lang.Class.privateGetMethodRecursive(Class.java:3092)
> at java.lang.Class.getMethod0(Class.java:3062)
> at java.lang.Class.getMethod(Class.java:1830)
> at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:567)
> at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:534)
>
> Is this expected? Is there some working branch/revision somewhere which is
> usable for a demo?
>
> Thanks!
>
> Simon
>
> PS: What's the suggested way to inspect the "bytecode" of specialized classes
> (the one after the generic type is instantiated)?
>
More information about the valhalla-dev
mailing list