JVM Interpreter (original) (raw)
Kim Barrett kim.barrett at oracle.com
Sun Aug 26 03:47:41 UTC 2018
- Previous message: JVM Interpreter
- Next message: JVM Interpreter
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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::setstackslot(intptrt *tos, address value, int offset) { *((address *)&tos[Interpreter::exprindexat(-offset)]) = value; } void BytecodeInterpreter::setstackobject(intptrt *tos, oop value, int offset) { *((oop *)&tos[Interpreter::exprindexat(-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
- Previous message: JVM Interpreter
- Next message: JVM Interpreter
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]