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