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