RFR(S): 8009981: nashorn tests fail with -XX:+VerifyStack
Christian Thalinger
christian.thalinger at oracle.com
Wed Mar 13 10:40:21 PDT 2013
On Mar 13, 2013, at 6:36 AM, Roland Westrelin <roland.westrelin at oracle.com> wrote:
> nmethod::preserve_callee_argument_oops() doesn't take the invokedynamic/invokehandle appendix argument into account and actually has some leftover from the previous JSR292 implementation.
>
> http://cr.openjdk.java.net/~roland/8009981/webrev.00/
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()) {
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?
Otherwise this looks good. Thanks for spotting the left-over code.
-- Chris
>
> Roland.
More information about the hotspot-compiler-dev
mailing list