review for 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area

Tom Rodriguez tom.rodriguez at oracle.com
Mon May 9 16:32:10 PDT 2011


http://cr.openjdk.java.net/~never/7043301

7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area
Reviewed-by:

During the fix for 7009361 I mistakenly simplified the
computed_sp_adjustment by replacing it with rounded_cls but one is for
the caller and the other is for the callee.  This could result in some
rare cases where the frame shrunk to be smaller than it should have
been.  The fix is to restore the original computation of this value.
Tested with failing test case.  I also corrected the frame validation
code which should have complained about this.



More information about the hotspot-compiler-dev mailing list