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

Christian Thalinger christian.thalinger at oracle.com
Mon Mar 18 11:05:18 PDT 2013


On Mar 18, 2013, at 7:11 AM, Roland Westrelin <roland.westrelin at oracle.com> wrote:

> Hi Chris,
> 
> Thanks for reviewing this.
> 
>> src/share/vm/runtime/deoptimization.cpp:
>> 
>> I'm confused by that code.  Does Bytecode_invoke invoke represent the instruction at cur_code?  If so you could replace:
>> 
>> if (cur_code != Bytecodes::_invokestatic && cur_code != Bytecodes::_invokedynamic) {
>> 
>> by:
>> 
>> if (invoke.has_receiver()) {
> 
> Yes, the two are the same. I'll make the change you suggest.
> 
>> src/share/vm/runtime/frame.cpp:
>> 
>>  void oops_do() {
>>    if (_has_receiver) {
>>      handle_oop_offset();
>>      _offset++;
>>    }
>>    iterate_parameters();
>> +    if (_has_appendix) {
>> +      handle_oop_offset();
>> +    }
>>  }
>> 
>> Shouldn't there be an _offset++ after the appendix too?
> 
> There's nothing that comes after the appendix so I don't think it matters.

That's correct.  But the current code increments _offset after each parameter.  I just want to make sure that other code that might depend on this behavior doesn't break.

-- Chris

> 
> Roland.



More information about the hotspot-compiler-dev mailing list