harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yuan Zhang <trojany...@gmail.com>
Subject Re: [drlvm][vmcore]The use in M2nFrame in vmcore
Date Tue, 10 Mar 2009 03:57:44 GMT
Thanks a lot for you answer, it let me know more about the M2nFrame.

Managed frames and native frames follow different calling conventions, and
managed frames are produced by JIT. I thought M2nFrame is only used to
connect managed frames and native frames, and interpreter don't produce
M2nFrame, so I inferred "M2NFrame is only used in JET/OPT". But now, I know
more about M2nFrame and its role in interpreter mode including unwinding and
root set enumeration, so my conclusion is wrong.

Thank you again!

2009/3/10 chunrong lai <chunronglai@gmail.com>

> hi, Yuan:
>   Besides the stack iteratoring and tracing (unwinding) the document
> http://harmony.apache.org/subcomponents/drlvm/developers_guide.html#About_the_Stack
> also
> indicate more usages of the M2nFrame:
> Container of object handles that are indirect pointers to the
> Java*<
> http://harmony.apache.org/subcomponents/drlvm/developers_guide.html#*
> >heap.
> Native code must use object handles to enable root set enumeration.
> During this process, the VM traverses the list of M2nFrames for each thread
> and enumerates object handles from each frame.
>   Looking in the drlvm interpreter source code, the
> oh_allocate_local_handle() are often seen for this.
>   I myself do not catch your idea that why M2NFrame is only used in JET/OPT
> mode. Can you explain that?
> On Mon, Mar 9, 2009 at 3:38 PM, Yuan Zhang <trojanyuan@gmail.com> wrote:
> > Hello, everyone:
> >  I have read something about the M2nFrame described in “Developer's
> > Guide"[1] and I thought the main use of M2nFrame is to handle the
> > difference
> > of the calling conventions between the native frames and the managed
> frames
> > compiled by JIT, so I concluded that  M2nFrame would only be used in
> > mode. However, I'm a little confused to found out that M2nFrame is also
> > used
> > in the interpreter mode because I think in the interpreter mode, the
> native
> > function is directed called by interpreter and interpreter runs in native
> > frames. It seems that there is no need to use M2nFrame in interpreter,
> and
> > my only explanation is that using M2nFrame in the interpreter is for
> stack
> > iteratoring and tracing. But I'm not sure, can anybody give me some
> ideas?
> >  Thanks!
> >
> > [1]
> >
> >
> http://harmony.apache.org/subcomponents/drlvm/developers_guide.html#About_the_Stack
> >

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message