harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Pervov" <pmcfi...@gmail.com>
Subject Re: [drlvm][vm]question about the execution of a method
Date Wed, 21 Nov 2007 15:57:33 GMT

When VM executes in JIT mode, JIT always insert a call to an address of a
method. If a method was never executed this address points to compilation
stub for a method. If the method is native - binding is performed and call
site is patched to point to native method instead of compilation stub. If
the method is a java method - then compilation is launced for this method
and after it finishes successfully, call site is also patched to point to
compiled method instead of compilation stub.

All details are located in working_vm/vm/vmcore/src/jit/compile.cpp as
Alexei F have pointed out.

On 11/21/07, 史成荣 <icyrong@gmail.com> wrote:
> I guess that if the vm want to execute a method, it first tries to find
> the
> native codes, if the native codes exist, the vm execute it, if  the native
> codes do not exist, it triggers the jit to compile the method, then
> execute
> it.
> I am not sure about it and want to know more details of the process. Could
> anyone tell me which part of the source code accomplish the execution
> of  a
> method ? And I can have a deeper study about it .

Pavel Pervov,
Intel Enterprise Solutions Software Division
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message