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