JVM Interpreter

mr rupplin mearvk at outlook.com
Sat Aug 25 18:39:02 UTC 2018


I am presuming the JVM interpreter is defined/implemented in the the hotspot module since this is a JVM implementation.


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.

Thanks.

Max Rupplin

Software Engineer




More information about the core-libs-dev mailing list