JVM Interpreter

mr rupplin mearvk at outlook.com
Sun Aug 26 22:50:54 UTC 2018


Thanks you guys.  I will try not to run junk into channel and you guys promise to stay well run.  Ok.

Get Outlook for Android<https://aka.ms/ghei36>

________________________________
From: Kim Barrett <kim.barrett at oracle.com>
Sent: Saturday, August 25, 2018 11:47:41 PM
To: mr rupplin
Cc: core-libs-dev at openjdk.java.net
Subject: Re: JVM Interpreter

> On Aug 25, 2018, at 2:39 PM, mr rupplin <mearvk at outlook.com> wrote:
>
> I am presuming the JVM interpreter is defined/implemented in the the hotspot module since this is a JVM implementation.

This is probably more of a hotspot-dev or hotspot-runtime-dev kind of question, rather than core-libs.

> I cannot seem to find *any* instruction in it that gets called by a simple "./java -ea Class" call.  We are stumped.
>
>
> For instance there are methods for local set and reference:
>
>
> void BytecodeInterpreter::set_stack_slot(intptr_t *tos, address value, int offset) {
>
>    *((address *)&tos[Interpreter::expr_index_at(-offset)]) = value;
> }
>
> void BytecodeInterpreter::set_stack_object(intptr_t *tos, oop value, int offset) {
>
>  *((oop *)&tos[Interpreter::expr_index_at(-offset)]) = value;
> }
>
> These (and similar in same file) are not being called at all during the JVM interpreter phase (simple java program as reference).  My program creates an object and calls a test method with a single object as reference.
>
> What could be the hang up?  No printf statement seems to work.

I think BytecodeInterpreter is part of CppInterpreter, which I think
is only used by Zero platforms, with the TemplateInterpreter used by
all other platforms.  So unless you are running on a platform that
uses Zero, or specifically built for Zero, I think BytecodeInterpreter
won't be used (and might not even be compiled in?).

> Thanks.
>
> Max Rupplin
>
> Software Engineer




More information about the core-libs-dev mailing list