review for 7043461: VM crashes in void LinkResolver::runtime_resolve_virtual_method

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed May 11 14:28:32 PDT 2011


I don't see an usage and initialization of 
vframeArray::_caller_actual_parameters field. Otherwise looks good.

Vladimir

Tom Rodriguez wrote:
> http://cr.openjdk.java.net/~never/7043461
> 
> If you want to see these changes against the changeset prior to the original fix look at http://cr.openjdk.java.net/~never/7043461_against_2395.  You'll see some minor differences for intervening changesets but it makes the deoptimization.cpp and templateInterpreter_sparc.cpp changes clearer.
> 
> 7043461: VM crashes in void LinkResolver::runtime_resolve_virtual_method
> Reviewed-by:
> 
> The original fix for 7009361, JSR 292 Invalid value on stack on
> solaris-sparc with -Xcomp, has had a bunch of fallout with several
> follow on fixes.  I'm abandoning the original fix as there are issues
> with how popframe works that I can't easily resolve.  I had originally
> considered a fix that passed the callers notion of the number of
> parameters down the call chain down to layout activation so the
> correct top of stack could be computed but the other fix seemed more
> straightforward and appeared to work ok initially.  I've now gone back
> to that fix.  So I anti-delta'ed the original fix in
> templateInterpreter_sparc.cpp and passed the callers parameters count
> around to all the places it's needed.  This required touching a lot of
> shared code to pass it through.  Each platform had it's own copy of
> the size_activation wrapper and moved that into shared code.  x86
> doesn't have to fix use the new value since they don't attempt to
> place the locals next to the caller stack.  The fix now has no effect
> on how deopt works except in the case where an invokedynamic is on the
> stack.  Tested with all failing test cases from 7009361, 7043461,
> 7042052, and 7043473.  I'm currently running the larger suites that
> those failing tests were part of to ensure there aren't other issues.
> 


More information about the hotspot-compiler-dev mailing list