CC_INTERP broken in jdk7 hotspot on x86_64
Ivo Anjo
ivo.anjo at ist.utl.pt
Thu Feb 25 08:52:31 PST 2010
I was looking into prototyping some changes using the C++ interpreter
with the latest (tested with builds 81 and 84) openjdk.
I edited hotspot/make/linux/platform_amd64 adding -DCC_INTERP, but am
getting multiple compile errors, possibly due to the fact that this
combination is not used by default, and the methods referenced are
inside #ifndef CC_INTERP blocks.
jdk7-b84/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp: In member
function 'unsigned char*
InterpreterGenerator::generate_abstract_entry()':
jdk7-b84/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp:282: error:
'class InterpreterMacroAssembler' has no member named
'empty_expression_stack'
jdk7-b84/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp:284: error:
'class InterpreterMacroAssembler' has no member named 'restore_locals'
jdk7-b84/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp: In static
member function 'static unsigned char*
MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler*)':
jdk7-b84/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp:95: error:
'throw_WrongMethodType_entry' is not a member of 'Interpreter'
jdk7-b84/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp: In static
member function 'static void
MethodHandles::generate_method_handle_stub(MacroAssembler*,
MethodHandles::EntryKind)':
jdk7-b84/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp:404: error:
'throw_WrongMethodType_entry' is not a member of 'Interpreter'
and finally
Linking launcher...
jdk7-b84/build/linux-amd64/hotspot/outputdir/linux_amd64_compiler2/product/libjvm.so:
undefined reference to
`AbstractInterpreter::can_be_compiled(methodHandle)'
collect2: ld returned 1 exit status
As I am new to hotspot development, may I ask if CC_INTERP is supposed
to be working for x86_64, or is it just considered "dead code" that is
kept around for historical reasons and there are no plans to fix it?
Thanks,
Ivo Anjo
More information about the hotspot-dev
mailing list