RFR(S): 8009981: nashorn tests fail with -XX:+VerifyStack

Roland Westrelin roland.westrelin at oracle.com
Tue May 28 08:34:17 PDT 2013


I'd like to get this in.

- I found that the logic that we agree on (everything except the changes in deoptimization.cpp) is required for "7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked" that I sent for review earlier.

- The code we don't agree on is for debug option VerifyStack. It won't make it any more broken than it is now (and it looks like nobody is using VerifyStack) and at least makes it consistent with the rest of the code:

>> All this background is to say, maybe (maybe!) the logic in deoptimization.cpp should be calling has_appendix on the call site, not has_member_arg on the method.
> 
> This logic mirrors the one in vframeArray::unpack_to_stack().
> The code walks the stack from the top frame. callee_size_of_parameters is mh->size_of_parameters(), for the previous frame so it includes the appendix, right?
> 
> In any case, the callee_size_of_parameters shouldn't be performed for the top frame (the i != 0 test below was missing):
> 
> if (i != 0 && !invoke.is_invokedynamic() && MethodHandles::has_member_arg(invoke.klass(), invoke.name())) {
>  callee_size_of_parameters++;
> }



Any objection?

Roland.


More information about the hotspot-compiler-dev mailing list