I am trying to trace the execution path of J3 jvm with input of java byte code . Once java byte codes compiled in to llvm IR it will be passed to VMKit for store them . I couldn’t find out which function is getting this Jitted output from Functioncache and executing them ? because , VMKit doesn’t have an implementation of llvm Executionengine’s runFunction or runFunctionAsMain implementation which are responsible for executing Jitted llvm-IR ?
Everything is there:
Function* JavaLLVMCompiler::parseFunction(JavaMethod* meth, Class*
In the file JavaLLVMCompiler.cpp.
At line 72, we translate the java bytecode into the llvm IR. At lines
73 and 74, we call the function passes, which generates the native
Thank you so much for your tip , I was digging in to there for more detail , how it llvm really change them in to native code , once we changed java byte code in to llvm IR in that method, we are using runPasses which is basically call passmanager ( passing function for optimization) , where it is actually converted in to machine code and how this translated IR reaching that point through runPasses method,