comparison src/share/vm/runtime/sharedRuntime.cpp @ 3274:2a23b1b5a0a8

7018355: JSR 292: VM crash in DefNewGeneration::copy_to_survivor_space Reviewed-by: kvn, jrose
author twisti
date Mon, 18 Apr 2011 01:33:28 -0700
parents 758ba0bf7bcc
children 167b70ff3abc
comparison
equal deleted inserted replaced
2485:97e8046e2562 3274:2a23b1b5a0a8
1719 && required == target->method_handle_type()) { 1719 && required == target->method_handle_type()) {
1720 targetType = target->signature()->as_C_string(); 1720 targetType = target->signature()->as_C_string();
1721 targetArity = ArgumentCount(target->signature()).size(); 1721 targetArity = ArgumentCount(target->signature()).size();
1722 } 1722 }
1723 } 1723 }
1724 klassOop kignore; int dmf_flags = 0; 1724 KlassHandle kignore; int dmf_flags = 0;
1725 methodOop actual_method = MethodHandles::decode_method(actual, kignore, dmf_flags); 1725 methodHandle actual_method = MethodHandles::decode_method(actual, kignore, dmf_flags);
1726 if ((dmf_flags & ~(MethodHandles::_dmf_has_receiver | 1726 if ((dmf_flags & ~(MethodHandles::_dmf_has_receiver |
1727 MethodHandles::_dmf_does_dispatch | 1727 MethodHandles::_dmf_does_dispatch |
1728 MethodHandles::_dmf_from_interface)) != 0) 1728 MethodHandles::_dmf_from_interface)) != 0)
1729 actual_method = NULL; // MH does extra binds, drops, etc. 1729 actual_method = methodHandle(); // MH does extra binds, drops, etc.
1730 bool has_receiver = ((dmf_flags & MethodHandles::_dmf_has_receiver) != 0); 1730 bool has_receiver = ((dmf_flags & MethodHandles::_dmf_has_receiver) != 0);
1731 if (actual_method != NULL) { 1731 if (actual_method.not_null()) {
1732 mhName = actual_method->signature()->as_C_string(); 1732 mhName = actual_method->signature()->as_C_string();
1733 mhArity = ArgumentCount(actual_method->signature()).size(); 1733 mhArity = ArgumentCount(actual_method->signature()).size();
1734 if (!actual_method->is_static()) mhArity += 1; 1734 if (!actual_method->is_static()) mhArity += 1;
1735 } else if (java_lang_invoke_MethodHandle::is_instance(actual)) { 1735 } else if (java_lang_invoke_MethodHandle::is_instance(actual)) {
1736 oopDesc* mhType = java_lang_invoke_MethodHandle::type(actual); 1736 oopDesc* mhType = java_lang_invoke_MethodHandle::type(actual);