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

Christian Thalinger christian.thalinger at oracle.com
Tue May 28 10:42:56 PDT 2013


On May 28, 2013, at 8:34 AM, Roland Westrelin <roland.westrelin at oracle.com> wrote:

> 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?

I think it is fine.  We can fix VerifyStack later if we want or need it.

-- Chris

> 
> Roland.



More information about the hotspot-compiler-dev mailing list