# HG changeset patch # User roland # Date 1285359272 25200 # Node ID 861f533d12b0e944d261e058101a7b3db36dd517 # Parent f02a8bbe6ed48e41b1da350aa08fe7da92aedb19# Parent c93c652551b57b227519f2d100c92433dab65066 Merge diff -r f02a8bbe6ed4 -r 861f533d12b0 src/cpu/x86/vm/methodHandles_x86.cpp --- a/src/cpu/x86/vm/methodHandles_x86.cpp Tue Dec 29 19:08:54 2009 +0100 +++ b/src/cpu/x86/vm/methodHandles_x86.cpp Fri Sep 24 13:14:32 2010 -0700 @@ -346,7 +346,7 @@ if (stack_dump_count > 64) stack_dump_count = 48; for (i = 0; i < stack_dump_count; i += 4) { printf(" dump at SP[%d] "INTPTR_FORMAT": "INTPTR_FORMAT" "INTPTR_FORMAT" "INTPTR_FORMAT" "INTPTR_FORMAT"\n", - i, &entry_sp[i+0], entry_sp[i+0], entry_sp[i+1], entry_sp[i+2], entry_sp[i+3]); + i, (intptr_t) &entry_sp[i+0], entry_sp[i+0], entry_sp[i+1], entry_sp[i+2], entry_sp[i+3]); } print_method_handle(mh); } diff -r f02a8bbe6ed4 -r 861f533d12b0 src/share/vm/ci/ciMethod.cpp --- a/src/share/vm/ci/ciMethod.cpp Tue Dec 29 19:08:54 2009 +0100 +++ b/src/share/vm/ci/ciMethod.cpp Fri Sep 24 13:14:32 2010 -0700 @@ -735,7 +735,11 @@ // Return true if the method is an instance of one of the two // signature-polymorphic MethodHandle methods, invokeExact or invokeGeneric. bool ciMethod::is_method_handle_invoke() const { - if (!is_loaded()) return false; + if (!is_loaded()) { + bool flag = (holder()->name() == ciSymbol::java_dyn_MethodHandle() && + methodOopDesc::is_method_handle_invoke_name(name()->sid())); + return flag; + } VM_ENTRY_MARK; return get_methodOop()->is_method_handle_invoke(); }