--- a/hotspot/src/share/vm/oops/methodOop.cpp Tue Jul 24 10:51:00 2012 -0700
+++ b/hotspot/src/share/vm/oops/methodOop.cpp Fri Jul 27 16:14:15 2012 -0700
@@ -582,7 +582,8 @@
bool methodOopDesc::has_native_function() const {
- assert(!is_method_handle_intrinsic(), "");
+ if (is_method_handle_intrinsic())
+ return false; // special-cased in SharedRuntime::generate_native_wrapper
address func = native_function();
return (func != NULL && func != SharedRuntime::native_method_throw_unsatisfied_link_error_entry());
}
@@ -612,6 +613,9 @@
if (number_of_breakpoints() > 0) {
return true;
}
+ if (is_method_handle_intrinsic()) {
+ return !is_synthetic(); // the generated adapters must be compiled
+ }
if (comp_level == CompLevel_any) {
return is_not_c1_compilable() || is_not_c2_compilable();
}