Thanks for your explanation, Xiao-feng. It's quite clear and helpful. On Thu, Jul 24, 2008 at 4:45 PM, Xiao-Feng Li <[EMAIL PROTECTED]> wrote:
> 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. > > Thanks, > xiaofeng > > On Wed, Jul 23, 2008 at 2:14 PM, Changrui Yuan <[EMAIL PROTECTED]> 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 > > > > > > -- > http://xiao-feng.blogspot.com >
