What's the difference between interpreted frame and entry frame

View: New views
4 Messages — Rating Filter:   Alert me  

What's the difference between interpreted frame and entry frame

by Colin(Du Li) :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

In hotspot,  I usually see the terms "interpreted frame" and "entry frame". What's the difference between them?
Thanks a lot!

Colin.

Re: What's the difference between interpreted frame and entry frame

by Gary Benson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Colin(Du Li) wrote:
> In hotspot, I usually see the terms "interpreted frame" and "entry
> frame".  What's the difference between them?

Each interpreted method has a frame on the stack; these frames are
interpreted frames.  On entry, interpreted methods expect to find
their arguments at the end of their caller's frame.  For the very
first call there won't be an interpreted frame preceding, so for
the first call a thing called the call stub creates a special frame
with the arguments at the end; this is the entry frame.

Cheers,
Gary

--
http://gbenson.net/

Re: What's the difference between interpreted frame and entry frame

by Colin(Du Li) :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks a lot!
Gary Benson wrote:
Colin(Du Li) wrote:
> In hotspot, I usually see the terms "interpreted frame" and "entry
> frame".  What's the difference between them?

Each interpreted method has a frame on the stack; these frames are
interpreted frames.  On entry, interpreted methods expect to find
their arguments at the end of their caller's frame.  For the very
first call there won't be an interpreted frame preceding, so for
the first call a thing called the call stub creates a special frame
with the arguments at the end; this is the entry frame.

Cheers,
Gary

--
http://gbenson.net/

Re: What's the difference between interpreted frame and entry frame

by Tom Rodriguez :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

More specifically the entry frame performs the transition from C++  
code to generated code, so every sequence of interpreted or compiled  
frames always begins with an entry frame.  It's built by the call_stub  
and sets up all the invariants required by generated code.

tom

On Mar 12, 2009, at 4:04 AM, Gary Benson wrote:

> Colin(Du Li) wrote:
>> In hotspot, I usually see the terms "interpreted frame" and "entry
>> frame".  What's the difference between them?
>
> Each interpreted method has a frame on the stack; these frames are
> interpreted frames.  On entry, interpreted methods expect to find
> their arguments at the end of their caller's frame.  For the very
> first call there won't be an interpreted frame preceding, so for
> the first call a thing called the call stub creates a special frame
> with the arguments at the end; this is the entry frame.
>
> Cheers,
> Gary
>
> --
> http://gbenson.net/