When trying MLVM, I have make the following test as in attachment "Test.java".

I have compiled and runned it three times (cf. "cmd.log") with bad expected behaviour (only partial loop, not running up to 100000), and one time with a crash (cf. "hs_err_pid1008.log").

Are these problems already known bugs?

Thank you very much,

Daniel.

Attachments:
- Test.java
- cmd.log
- hs_err_pid1008.log


import java.dyn.MethodHandle;
import java.dyn.MethodHandles;
import java.dyn.MethodType;

public class Test {

    private static int N = 100000;

    public static void runDirect() {
        long begin = System.nanoTime();
        String value = "0";
        for (int i = 0; i < N; i++) {
            value = increment(value);
        }
        long end = System.nanoTime();
        System.out.println("Direct (" + value + "): " + (end - begin) / N);
    }

    public static String increment(String value) {
//        return new String(value);
        return Integer.toString(1 + Integer.parseInt(value));
    }

    public static void runHandle() {
        long begin = System.nanoTime();
        final MethodType type = MethodType.methodType(String.class, 
String.class);
        MethodHandle increment = 
MethodHandles.publicLookup().findStatic(Test.class, "increment", type);
        String value = "0";
        for (int i = 0; i < N; i++) {
            value = increment.<String>invoke(value);
        }
        long end = System.nanoTime();
        System.out.println("Handle (" + value + "): " + (end - begin) / N);
    }

    public static void main(String[] args) {
        runDirect();
        runHandle();
        runDirect();
        runHandle();
        runDirect();
        runHandle();
        runDirect();
        runHandle();
        runDirect();
        runHandle();
        runDirect();
        runHandle();
    }
}

C:\Users\daniel\Documents\NetBeansProjects\Test\src>"C:\Program 
Files\Java\jdk1.7.0\bin\javac.exe" Test.java

C:\Users\daniel\Documents\NetBeansProjects\Test\src>"C:\Program 
Files\Java\jdk1.7.0\bin\java.exe" -XX:+UnlockExperimentalVMOptions 
-XX:+EnableMethodHandles -XX:+EnableInvokeDynamic Test
Direct (100000): 314
Handle (25740): 134
Direct (100000): 268
Handle (12496): 33
Direct (100000): 249
Handle (1): -26146065716372
Direct (100000): 221
Handle (1): -26146065716091
Direct (100000): 220
Handle (1): -26146065715813
Direct (100000): 230
Handle (1): -26146065715523

C:\Users\daniel\Documents\NetBeansProjects\Test\src>"C:\Program 
Files\Java\jdk1.7.0\bin\java.exe" -XX:+UnlockExperimentalVMOptions 
-XX:+EnableMethodHandles -XX:+EnableInvokeDynamic Test
Direct (100000): 311
Handle (25740): 134
Direct (100000): 230
Handle (12496): 31
Direct (100000): 220
Handle (1): -26146065581142
Direct (100000): 225
Handle (1): -26146065580859
Direct (100000): 221
Handle (1): -26146065580579
Direct (100000): 220
Handle (1): -26146065580300

C:\Users\daniel\Documents\NetBeansProjects\Test\src>"C:\Program 
Files\Java\jdk1.7.0\bin\java.exe" -XX:+UnlockExperimentalVMOptions 
-XX:+EnableMethodHandles -XX:+EnableInvokeDynamic Test
Direct (100000): 313
Handle (25740): 133
Direct (100000): 228
Handle (12496): 32
Direct (100000): 222
Handle (1): -26146065545629
Direct (100000): 221
Handle (1): -26146065545349
Direct (100000): 222
Handle (1): -26146065545069
Direct (100000): 220
Handle (1): -26146065544790

C:\Users\daniel\Documents\NetBeansProjects\Test\src>"C:\Program 
Files\Java\jdk1.7.0\bin\java.exe" -XX:+UnlockExperimentalVMOptions 
-XX:+EnableMethodHandles -XX:+EnableInvokeDynamic Test
Direct (100000): 311
Handle (25740): 137
Direct (100000): 228
Handle (12496): 32
Direct (100000): 223
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d965f33, pid=1008, tid=3012
#
# JRE version: 7.0-b80
# Java VM: Java HotSpot(TM) Client VM (17.0-b07 mixed mode, sharing windows-x86
)
# Problematic frame:
# V  [jvm.dll+0xb5f33]
#
# An error report file with more information is saved as:
# C:\Users\daniel\Documents\NetBeansProjects\Test\src\hs_err_pid1008.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
 
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d965f33, pid=1008, tid=3012
#
# JRE version: 7.0-b80
# Java VM: Java HotSpot(TM) Client VM (17.0-b07 mixed mode, sharing windows-x86 
)
# Problematic frame:
# V  [jvm.dll+0xb5f33]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x02349000):  JavaThread "main" [_thread_in_vm, id=3012, 
stack(0x00340000,0x00390000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000000

Registers:
EAX=0x00000000, EBX=0x0038fc90, ECX=0x02340d70, EDX=0x02340d70
ESP=0x0038f4cc, EBP=0x0038f4e4, ESI=0x0038f654, EDI=0x00000000
EIP=0x6d965f33, EFLAGS=0x00010246

Top of Stack: (sp=0x0038f4cc)
0x0038f4cc:   0038f518 0038f5d8 00000000 0038fc90
0x0038f4dc:   246d2e40 00000000 0038f4fc 6d966041
0x0038f4ec:   0038f5d8 0038f518 023cf724 023cf108
0x0038f4fc:   0038f67c 6d9a88a9 0038f5d8 0038f518
0x0038f50c:   023499dc 02349618 02349000 00000002
0x0038f51c:   02349638 0038f530 6da061a7 01349638
0x0038f52c:   02349638 0038f640 6da079ff 02349620
0x0038f53c:   02349620 02349638 02349638 fffffffe 

Instructions: (pc=0x6d965f33)
0x6d965f23:   fc 3b f8 77 09 8b 57 08 03 d7 3b c2 72 02 33 ff
0x6d965f33:   8b 07 8b cf ff 50 04 f6 d8 1b c0 23 c7 8b c8 74 


Stack: [0x00340000,0x00390000],  sp=0x0038f4cc,  free space=13d0038f000k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [jvm.dll+0xb5f33]
V  [jvm.dll+0xb6041]
V  [jvm.dll+0xf88a9]
V  [jvm.dll+0xf8a38]
V  [jvm.dll+0x1182ba]
C  [java.dll+0x3f17]
j  java.lang.Throwable.<init>()V+10
j  java.lang.Exception.<init>()V+1
j  java.lang.RuntimeException.<init>()V+1
j  java.lang.NullPointerException.<init>()V+1
v  ~StubRoutines::call_stub
V  [jvm.dll+0xf374c]
V  [jvm.dll+0x185ad1]
V  [jvm.dll+0xf3afa]
V  [jvm.dll+0xaee52]
V  [jvm.dll+0xaeffb]
V  [jvm.dll+0xaf063]
V  [jvm.dll+0x1aa10c]
V  [jvm.dll+0x5a941]
v  ~RuntimeStub::throw_null_pointer_exception Runtime1 stub
J  Test.runHandle()V
j  Test.main([Ljava/lang/String;)V+15
v  ~StubRoutines::call_stub
V  [jvm.dll+0xf374c]
V  [jvm.dll+0x185ad1]
V  [jvm.dll+0xf37cd]
V  [jvm.dll+0xfd065]
V  [jvm.dll+0x104cbd]
C  [java.exe+0x1fbf]
C  [java.exe+0x8d4f]
C  [kernel32.dll+0x4d0e9]
C  [ntdll.dll+0x419bb]
C  [ntdll.dll+0x4198e]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  java.lang.Throwable.fillInStackTrace()Ljava/lang/Throwable;+0
j  java.lang.Throwable.<init>()V+10
j  java.lang.Exception.<init>()V+1
j  java.lang.RuntimeException.<init>()V+1
j  java.lang.NullPointerException.<init>()V+1
v  ~StubRoutines::call_stub
v  ~RuntimeStub::throw_null_pointer_exception Runtime1 stub
J  Test.runHandle()V

[error occurred during error reporting (printing Java stack), id 0xc0000005]


---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x022d8c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=1980, 
stack(0x04490000,0x044e0000)]
  0x022bd000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3052, 
stack(0x04440000,0x04490000)]
  0x022bb400 JavaThread "Attach Listener" daemon [_thread_blocked, id=3940, 
stack(0x043f0000,0x04440000)]
  0x022ba400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=1320, 
stack(0x043a0000,0x043f0000)]
  0x022b4c00 JavaThread "Finalizer" daemon [_thread_blocked, id=3936, 
stack(0x04350000,0x043a0000)]
  0x022b0000 JavaThread "Reference Handler" daemon [_thread_blocked, id=2052, 
stack(0x01b90000,0x01be0000)]
=>0x02349000 JavaThread "main" [_thread_in_vm, id=3012, 
stack(0x00340000,0x00390000)]

Other Threads:
  0x022ae400 VMThread [stack: 0x01b40000,0x01b90000] [id=1268]
  0x022e2400 WatcherThread [stack: 0x044e0000,0x04530000] [id=1004]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 4928K, used 3044K [0x24200000, 0x24750000, 
0x29750000)
  eden space 4416K,  66% used [0x24200000, 0x244dad18, 0x24650000)
  from space 512K,  23% used [0x246d0000, 0x246ee5b8, 0x24750000)
  to   space 512K,   0% used [0x24650000, 0x24650000, 0x246d0000)
 tenured generation   total 10944K, used 0K [0x29750000, 0x2a200000, 0x34200000)
   the space 10944K,   0% used [0x29750000, 0x29750000, 0x29750200, 0x2a200000)
 compacting perm gen  total 12288K, used 264K [0x34200000, 0x34e00000, 
0x38200000)
   the space 12288K,   2% used [0x34200000, 0x34242210, 0x34242400, 0x34e00000)
    ro space 10240K,  57% used [0x38200000, 0x387c8238, 0x387c8400, 0x38c00000)
    rw space 12288K,  53% used [0x38c00000, 0x3926cf98, 0x3926d000, 0x39800000)

Dynamic libraries:
0x00400000 - 0x00425000         C:\Program Files\Java\jdk1.7.0\bin\java.exe
0x773f0000 - 0x77517000         C:\Windows\system32\ntdll.dll
0x75aa0000 - 0x75b7c000         C:\Windows\system32\kernel32.dll
0x76ab0000 - 0x76b76000         C:\Windows\system32\ADVAPI32.dll
0x77530000 - 0x775f3000         C:\Windows\system32\RPCRT4.dll
0x77080000 - 0x7711d000         C:\Windows\system32\USER32.dll
0x77600000 - 0x7764b000         C:\Windows\system32\GDI32.dll
0x74750000 - 0x748ee000         
C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6002.18005_none_5cb72f96088b0de0\COMCTL32.dll
0x75e60000 - 0x75f0a000         C:\Windows\system32\msvcrt.dll
0x77020000 - 0x77079000         C:\Windows\system32\SHLWAPI.dll
0x76e70000 - 0x76e8e000         C:\Windows\system32\IMM32.DLL
0x75d10000 - 0x75dd8000         C:\Windows\system32\MSCTF.dll
0x76e60000 - 0x76e69000         C:\Windows\system32\LPK.DLL
0x77340000 - 0x773bd000         C:\Windows\system32\USP10.dll
0x7c340000 - 0x7c396000         C:\Program 
Files\Java\jdk1.7.0\jre\bin\msvcr71.dll
0x6d8b0000 - 0x6db53000         C:\Program 
Files\Java\jdk1.7.0\jre\bin\client\jvm.dll
0x74430000 - 0x74462000         C:\Windows\system32\WINMM.dll
0x76c10000 - 0x76d55000         C:\Windows\system32\ole32.dll
0x76a20000 - 0x76aad000         C:\Windows\system32\OLEAUT32.dll
0x743f0000 - 0x7442d000         C:\Windows\system32\OLEACC.dll
0x758d0000 - 0x758fc000         C:\Windows\system32\apphelp.dll
0x6d850000 - 0x6d85b000         C:\Program 
Files\Java\jdk1.7.0\jre\bin\verify.dll
0x6d380000 - 0x6d39f000         C:\Program Files\Java\jdk1.7.0\jre\bin\java.dll
0x6d300000 - 0x6d308000         C:\Program Files\Java\jdk1.7.0\jre\bin\hpi.dll
0x75a90000 - 0x75a97000         C:\Windows\system32\PSAPI.DLL
0x6d890000 - 0x6d8a2000         C:\Program Files\Java\jdk1.7.0\jre\bin\zip.dll

VM Arguments:
jvm_args: -XX:+UnlockExperimentalVMOptions -XX:+EnableMethodHandles 
-XX:+EnableInvokeDynamic 
java_command: Test
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_18
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Python25;C:\Python25\gdalwin32-1.6\bin;"C:\Program
 Files\CyberLink\Power2Go\";"C:\Program Files\TortoiseSVN\bin";"C:\Program 
Files\QuickTime\QTSystem\";C:\Program 
Files\TortoiseSVN\bin;C:\Python26;C:\gdalwin32-1.6\bin;"C:\Program 
Files\MuseScore 0.9\bin"
USERNAME=daniel
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 13, GenuineIntel



---------------  S Y S T E M  ---------------

OS: Windows Vista Build 6002 Service Pack 2

CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 
13, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3

Memory: 4k page, physical 2086164k(859872k free), swap 4429636k(2817668k free)

vm_info: Java HotSpot(TM) Client VM (17.0-b07) for windows-x86 JRE 
(1.7.0-ea-b80), built on Jan 21 2010 04:47:33 by "java_re" with MS VC++ 7.1 
(VS2003)

time: Tue Jan 26 09:33:42 2010
elapsed time: 0 seconds


_______________________________________________
mlvm-dev mailing list
[email protected]
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to