harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiao-Feng Li" <xiaofeng...@gmail.com>
Subject Re: [drlvm][jitrino.jet]: Question about JFrame
Date Thu, 24 Jul 2008 08:45:21 GMT
Changrui, in my understanding, the JFrame is not the real frame, it's
the so-called mimic stack to facilitate the fast compilation. The real
frame is still on the native stack following defined calling
convention. JFrame is kind of a simulation Java frame to bookkeeping
the Java frame status at compilation time. Native stack is the real
runtime stack.


On Wed, Jul 23, 2008 at 2:14 PM, Changrui Yuan <yuancr@gmail.com> wrote:
>    Hi, all. This is my first time to send an email to the mailing list.
> Hope someone can help me. Thanks in advance.
>    I am currently reading the source code about method invocation in
> Harmony. I find the JET compiler maintains the operand stack and local array
> in a structure called JFrame. If I push an immediate number to the operand
> stack, the compiler can get this number from the operand stack later. When
> there is a method invocation, the callee will create a new instance of
> JFrame. Does this new JFrame have any connection with the caller's JFrame?
> In some JVM implementation, the caller's operand stack becomes callee's
> local array for arguments passing. But I cannot find this part in Harmony
> source code. My current understanding is that these two JFrames are not
> related. The arguments are pushed to the native stack for the callee to
> access. My goal is that the caller pushes an immediate number to its operand
> stack as an argument and later the callee can get this operand. If the
> arguments are pushed into the native stack for passing, I don't know how the
> callee can access this immediate number.
>    I am really confused right now. Hope someone can help me. Thanks a lot!
>   Best regards,
> Changrui


View raw message