Mercurial > hg > graal-jvmci-8
diff src/share/vm/prims/methodHandleWalk.cpp @ 1793:d257356e35f0
6939224: MethodHandle.invokeGeneric needs to perform the correct set of conversions
Reviewed-by: never
author | jrose |
---|---|
date | Mon, 13 Sep 2010 23:24:30 -0700 |
parents | d5d065957597 |
children | f95d63e2154a |
line wrap: on
line diff
--- a/src/share/vm/prims/methodHandleWalk.cpp Mon Sep 13 16:45:00 2010 -0700 +++ b/src/share/vm/prims/methodHandleWalk.cpp Mon Sep 13 23:24:30 2010 -0700 @@ -333,8 +333,7 @@ ArgToken arglist[2]; arglist[0] = arg; // outgoing value arglist[1] = ArgToken(); // sentinel - assert(false, "I think the argument count must be 1 instead of 0"); - arg = make_invoke(NULL, boxer, Bytecodes::_invokevirtual, false, 0, &arglist[0], CHECK_(empty)); + arg = make_invoke(NULL, boxer, Bytecodes::_invokevirtual, false, 1, &arglist[0], CHECK_(empty)); change_argument(src, arg_slot, T_OBJECT, arg); break; } @@ -1398,7 +1397,9 @@ extern "C" void print_method_handle(oop mh) { - if (java_dyn_MethodHandle::is_instance(mh)) { + if (!mh->is_oop()) { + tty->print_cr("*** not a method handle: "INTPTR_FORMAT, (intptr_t)mh); + } else if (java_dyn_MethodHandle::is_instance(mh)) { //MethodHandlePrinter::print(mh); } else { tty->print("*** not a method handle: ");