CppInterpreter
Sebastian Sickelmann
sebastian.sickelmann at gmx.de
Wed Dec 16 20:26:17 UTC 2015
Hi,
thanks for the clarification. I had hoped that I can do my experiment
for removing "public fields in a binary compatible way" with the Cpp
Interpreter. I thought it would be the next logical step after get it
working in the zero build[0]. So it seems to be that I have to
understand at least the x86 templateInterpreterGenerator to expand my
experiment to the next level. I had hoped that i can learn some more
with the cppInterpreter.
--
Sebastian
[0]
http://mail.openjdk.java.net/pipermail/valhalla-dev/2015-December/001599.html
On 12/16/2015 05:39 PM, Coleen Phillimore wrote:
>
> Sebastian,
>
> We are actively in the process of removing the Cpp interpreter. It
> has been broken for years, does not have support for most features
> (jsr292), is missing important security bug fixes, and is needless
> duplication (but different and difficult to implement) in the source
> base.
>
> The only question is whether we should remove the aarch64 files or if
> RedHat wants to do that.
>
> The ticket to remove the cpp interpreter is:
> https://bugs.openjdk.java.net/browse/JDK-8074457
>
> We are keeping Zero.
>
> Thanks,
> Coleen
>
> On 12/16/15 11:18 AM, Sebastian Sickelmann wrote:
>> Hi,
>>
>> is it possible to compile openjdk with --with-jvm-interpreter=cpp but
>> without --with-jvm-variants=zero ?
>>
>> I am getting the following error when i try it on the actual
>> http://hg.openjdk.java.net/jdk9/hs-rt/hotspot sources.
>>
>> Building target 'images' in configuration
>> 'linux-x86_64-normal-server-slowdebug'
>> ../../../../../hotspot/src/cpu/x86/vm/frame_x86.cpp: In member function
>> ‘bool frame::safe_for_sender(JavaThread*)’:
>> ../../../../../hotspot/src/cpu/x86/vm/frame_x86.cpp:139:53: error:
>> ‘interpreter_frame_sender_sp_offset’ is not a member of ‘frame’
>> sender_unextended_sp = (intptr_t*)
>> this->fp()[frame::interpreter_frame_sender_sp_offset];
>> ^
>> ../../../../../hotspot/src/cpu/x86/vm/frame_x86.cpp: In member function
>> ‘void frame::describe_pd(FrameValues&, int)’:
>> ../../../../../hotspot/src/cpu/x86/vm/frame_x86.cpp:698:48: error: a
>> function-definition is not allowed here before ‘{’ token
>> intptr_t *frame::initial_deoptimization_info() {
>> ^
>> ../../../../../hotspot/src/cpu/x86/vm/frame_x86.cpp:703:34: error: a
>> function-definition is not allowed here before ‘{’ token
>> intptr_t* frame::real_fp() const {
>> ^
>> ../../../../../hotspot/src/cpu/x86/vm/frame_x86.cpp:720:1: error:
>> expected ‘}’ at end of input
>> }
>>
>> For the errors in line 698, 703 and 720 i think there is a problem with
>> the #ifdefs and the curly braces.
>>
>> Maybe the following patch does the trick:
>>
>> diff -r f0141966004b src/cpu/x86/vm/frame_x86.cpp
>> --- a/src/cpu/x86/vm/frame_x86.cpp Tue Dec 15 17:57:08 2015 +0000
>> +++ b/src/cpu/x86/vm/frame_x86.cpp Wed Dec 16 16:40:07 2015 +0100
>> @@ -690,8 +690,8 @@
>> values.describe(frame_no, fp() - i, err_msg("call_stub word fp -
>> %d", i));
>> }
>> #endif // AMD64
>> +#endif
>> }
>> -#endif
>> }
>> #endif // !PRODUCT
>>
>>
>> But for the missing interpreter_frame_sender_sp_offset I have no idea
>> how to fix it.
>>
>> I would love to create a ticket in JBS and start working on it, if the
>> cppInterpreter (without zero) should be supported and there is not
>> ticket yet.
>>
>> --
>> Sebastian
>
>
More information about the hotspot-dev
mailing list