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/


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) {


  if (invoke.has_receiver()) {


   void oops_do() {
     if (_has_receiver) {
+    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