Request for reviews (M): 6930772: JSR 292 needs to support SPARC C1

Christian Thalinger Christian.Thalinger at Sun.COM
Mon Apr 19 03:54:47 PDT 2010


On Fri, 2010-04-16 at 14:48 -0700, John Rose wrote:
> I like it too; reviewed.
> 
> The use of L0 is tricky.  You call it L7 in one comment.  Be sure that
> all of these uses of L0 are linked together by comments.

L0?  I think you mean L7.  I only use L0 in unwind_exception to store a
temporary result.

> 
> The change touches one of my pet peeves:  The SP adjustment tracking
> in the frame logic has always seemed awkward to me (not from your
> change).  I don't see a clearer reformulation yet.  (Chuck Rasbold
> made it better with the unextended_sp stuff.)
> 
> One partial cleanup would lead to some simplifications.  It would
> change the convention by which the interpreter pops its outgoing
> arguments.  Currently it pretends to keep the arguments on stack
> throughout the call; it should release them to the callee before
> completing the control transfer to the callee.  Currently, as a
> result, a return to the interpreter resets to a saved SP that points
> to the argument list base (lowest address, not highest), the address
> of an argument list that (at that point) is long gone.  The
> interpreter must then perform extra calculations to re-adjust the SP
> by the size of the absent argument list, calculations which add no
> value.  And when stack walking, we have to continually remember that
> the unextended SP might overlap with stack storage owned by the
> callee, which is counterintuitive and therefore bug-prone.

I see.  Indeed this is a little odd.  Do you already have code for that
or is there just an idea?

-- Christian



More information about the hotspot-compiler-dev mailing list