CC_INTERP broken in jdk7 hotspot on x86_64

Tom Rodriguez Thomas.Rodriguez at Sun.COM
Thu Feb 25 10:54:15 PST 2010


It's not actively maintained by the hotspot team but we will accept fixes.  There were customers who wanted the C++ interpreter so we've included it but none of our standard configurations use it.  It worked for several configuration when it was first introduced but things have diverged a bit since then.

tom

On Feb 25, 2010, at 8:52 AM, Ivo Anjo wrote:

> 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