Value Types - Meet some issues during execution

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Mon Oct 24 14:16:36 UTC 2016


I too get this:

Error: A JNI error has occurred, please check your installation and try 
again
Exception in thread "main" java.lang.ClassFormatError: Method "<vminit>" 
in class Point has illegal signature "(II)QPoint;"
     at java.lang.ClassLoader.defineClass1(Native Method)
     at java.lang.ClassLoader.defineClass(ClassLoader.java:761)
     at java.lang.ClassLoader.defineClass(ClassLoader.java:837)
     at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:184)
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:531)
     at java.net.URLClassLoader.access$200(URLClassLoader.java:84)
     at java.net.URLClassLoader$1.run(URLClassLoader.java:413)
     at java.net.URLClassLoader$1.run(URLClassLoader.java:395)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(URLClassLoader.java:394)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:262)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
     at 
sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:504)


I don't think this has to do with the JIT. Making the constructor public 
didn't change the outcome.

Maurizio



On 24/10/16 14:56, GIACHERIO Fabien wrote:
> I tried to add the -Xint argument in order to disable compilation but it
> does not resolve the issue and the execution is still bugged.
>
> In the 'Minimal Value Types' document, It is say that : "Any use of any
> part of any feature of this prototype must originate from a class in a
> value-capable module".
> I guess my issue come from that. How can I add my class in a value-capable
> module ?
>
> Best regards,
> Fabien GIACHERIO.
>
> 2016-10-21 14:58 GMT+02:00 Tobias Hartmann <tobias.hartmann at oracle.com>:
>
>> Hi Fabien,
>>
>> the current value types prototype has still very limited JIT support (C2
>> only) and does not support all of the new vbytecodes and functionality yet.
>> For an example of what already works, please have a look at these tests:
>> http://hg.openjdk.java.net/valhalla/valhalla/hotspot/
>> file/tip/test/compiler/valhalla/valuetypes/ValueTypeTestBench.java
>> Especially calls on value types are not yet working.
>>
>> If you are experimenting with value types, it's best to disable
>> compilation for now (-Xint).
>>
>> I'm actively working on this and will constantly update the tests if new
>> functionality is added. I also plan to send a summary of the implementation
>> at some point.
>>
>> Best regards,
>> Tobias
>>
>> On 21.10.2016 14:48, GIACHERIO Fabien wrote:
>>> Hi everyone,
>>>
>>> I am currently working on value types and I am trying to execute an
>> example.
>>> I can compile the class below but I meet some issues when I try to
>> execute
>>> it even if I add these arguments :
>>> -noverify
>>> -XX:-TieredCompilation
>>> -XX:-BackgroundCompilation
>>> -XX:-UseOnStackReplacement
>>> -XX:CompileCommand=compileonly,Point::*
>>> -XX:+PrintCompilation
>>>
>>> Do you have any solution ? If so, would you tell me please.
>>>
>>> Here is my code :
>>> __ByValue final class Point{
>>>      final int x;
>>>      final int y;
>>>
>>>      private Point(int x, int y) {
>>>          this.x = x;
>>>          this.y = y;
>>>      }
>>>
>>>      public static void hello() {
>>>          Point origin = __Make Point(1,2);
>>>      }
>>>
>>>      public static void main(String[] args) {
>>>          hello();
>>>      }
>>> }
>>>
>>> Best Regards,
>>> Fabien GIACHERIO.
>>>



More information about the valhalla-dev mailing list