Hi,

Recently I am doing some experiment with the c++ interpreter. 
I bulid hotspot on Windows 32-bit, use VS2008 as the compiler. Before starting 
to make, I add "/D CC_INTERP" to CPP_FLAGS which locates at 
hotspot\make\windows\makefiles\compile.make. After setting the environment as 
follows:

-----------------------------------------------------------------------------------
set 
PATH=C:\Progra~1\MSVC9\VC\bin;c:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
set ANT_Home=C:/Progra~1/apache-ant-1.7.1
set ALT_BOOTDIR=C:/Progra~1/Java/jdk1.6.0
set ALT_BINARY_PLUGS_PATH=C:/Progra~1/JDK7/Plug/openjdk-binary-plugs
set ALT_DXSDK_PATH=C:/Progra~1/DXSDK
set VC=C:/Progra~1/MSVC9
set ALT_COMPILER_PATH=%VC%/VC/bin
set ALT_MSDEVTOOLS_PATH=C:/PROGRA~1/MI2578~1/Windows/v6.0A/bin
set ALT_MSVCR90_DLL_PATH=%VC%/VC/redist/x86/Microsoft.VC90.CRT
set ALT_MSVCRNN_DLL_PATH=%VC%/VC/redist/x86/Microsoft.VC90.CRT

set ALT_FREETYPE_LIB_PATH=C:/Progra~1/Freetype/lib
set ALT_FREETYPE_HEADERS_PATH=C:/Progra~1/Freetype/include

call C:\Progra~1\MSVC9\Common7\Tools\vsvars32.bat

bash
-----------------------------------------------------------------------------------

I start the make. Nearly 40 minutes later, hotspot was successfully built. Then 
I copy hotspot\build\windows\export-windows-i586\jre\bin\client\jvm.dll to 
openjdk\build\windows-i586\j2sdk-image\jre\bin\client, and start the java 
-version, the following error occurs:

---------------------------------------------------------------------
E:\openjdk\build\windows-i586\j2sdk-image\jre\bin>java -version
Error occurred during initialization of VM
java.lang.ExceptionInInitializerError
        at java.lang.System.initializeSystemClass(System.java:1107)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 85
        at java.util.Properties.<clinit>(Properties.java:1109)
        at java.lang.System.initializeSystemClass(System.java:1107)
---------------------------------------------------------------------

So, I want to know that is it possible to use c++ interpreter on IA32? If so, 
what else to be done?
If not, where is the bytecode interpreted in template interpreter, I know in 
c++ interpreter, bytecode is executed in bytecodeInterpreter::run().

Thanks a lot.

Best regards
Lianshun Liu

Reply via email to