C++ Interpreter on amd64

Volker Simonis volker.simonis at gmail.com
Thu Feb 12 09:38:27 PST 2009


Hi,

a while ago I managed to build the C++ Interpreter on 64-bit Sparc. I
had to apply some patches though, and I'm not sure if all of them have
been integrated into the OpenJDK, so you may want to have a look:
http://weblogs.java.net/blog/simonis/archive/2007/11/template_vs_cin_1.html
The SPARC patches may also give you an idea what you may have to change for x64.

I would also recommand you read Gary Bensons blog
(http://gbenson.net/)  about Zero, his C++Interpreter port. I think
you should be able to build Zero on all platforms, but I never tried
it.

Regards,
Volker

On 2/12/09, Nagy Mostafa <nagy.mostafa at gmail.com> wrote:
> Hi,
>  I just want to know if it is possible to compile openjdk with the C++
>  interpreter (CC_INTERP = true) on an amd64. I used to compile it
>  successfully on a 32-bit machine but since moving to a 64-bit, it
>  fails to compile with the following error:
>
>  ...
>  In file included from ../generated/incls/_precompiled.incl:246:
>  /home/nagy/research/hotspot/openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp:
>  In member function 'void InterpreterMacroAssembler::save_bcp()':
>  /home/nagy/research/hotspot/openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp:58:
>  error: 'interpreter_frame_bcx_offset' is not a member of 'frame'
>  /home/nagy/research/hotspot/openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp:
>  In member function 'void InterpreterMacroAssembler::restore_bcp()':
>  /home/nagy/research/hotspot/openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp:63:
>  error: 'interpreter_frame_bcx_offset' is not a member of 'frame'
>  /home/nagy/research/hotspot/openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp:
>  In member function 'void InterpreterMacroAssembler::restore_locals()':
>  /home/nagy/research/hotspot/openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp:68:
>  error: 'interpreter_frame_locals_offset' is not a member of 'frame'
>  /home/nagy/research/hotspot/openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp:
>  In member function 'void
>  InterpreterMacroAssembler::get_method(RegisterImpl*)':
>  /home/nagy/research/hotspot/openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp:74:
>  error: 'interpreter_frame_method_offset' is not a member of 'frame'
>  /home/nagy/research/hotspot/openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp:
>  In member function 'void
>  InterpreterMacroAssembler::empty_expression_stack()':
>  /home/nagy/research/hotspot/openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp:138:
>  error: 'interpreter_frame_monitor_block_top_offset' is not a member of
>  'frame'
>  /home/nagy/research/hotspot/openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp:141:
>  error: 'interpreter_frame_last_sp_offset' is not a member of 'frame'
>  ...
>
>  thanks,
>
> Nagy Mostafa
>  UCSB
>



More information about the hotspot-dev mailing list