CppInterpreter

Coleen Phillimore coleen.phillimore at oracle.com
Wed Dec 16 16:39:35 UTC 2015


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