src/share/vm/ci/ciMethod.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/ci/ciMethod.cpp Mon Apr 26 03:24:24 2010
--- new/src/share/vm/ci/ciMethod.cpp Mon Apr 26 03:24:24 2010
*** 690,706 ****
--- 690,711 ----
// ------------------------------------------------------------------
// invokedynamic support
//
bool ciMethod::is_method_handle_invoke() const {
check_is_loaded();
bool flag = ((flags().as_int() & JVM_MH_INVOKE_BITS) == JVM_MH_INVOKE_BITS);
+ bool flag = ((holder()->name() == ciSymbol::java_dyn_MethodHandle() &&
+ name() == ciSymbol::invoke_name()) ||
+ holder()->name() == ciSymbol::java_dyn_InvokeDynamic());
#ifdef ASSERT
+ if (is_loaded()) {
+ bool flag2 = ((flags().as_int() & JVM_MH_INVOKE_BITS) == JVM_MH_INVOKE_BITS);
{
VM_ENTRY_MARK;
! bool flag2 = get_methodOop()->is_method_handle_invoke();
! assert(flag == flag2, "consistent");
! bool flag3 = get_methodOop()->is_method_handle_invoke();
! assert(flag2 == flag3, "consistent");
+ assert(flag == flag3, "consistent");
+ }
}
#endif //ASSERT
return flag;
}
src/share/vm/ci/ciMethod.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File