--- a/hotspot/src/share/vm/runtime/reflection.cpp Thu Nov 01 13:05:47 2012 +0100
+++ b/hotspot/src/share/vm/runtime/reflection.cpp Thu Oct 11 12:25:42 2012 -0400
@@ -472,6 +472,12 @@
return true;
}
+ // Also allow all accesses from
+ // java/lang/invoke/MagicLambdaImpl subclasses to succeed trivially.
+ if (current_class->is_subclass_of(SystemDictionary::lambda_MagicLambdaImpl_klass())) {
+ return true;
+ }
+
return can_relax_access_check_for(current_class, new_class, classloader_only);
}
@@ -564,6 +570,12 @@
return true;
}
+ // Also allow all accesses from
+ // java/lang/invoke/MagicLambdaImpl subclasses to succeed trivially.
+ if (current_class->is_subclass_of(SystemDictionary::lambda_MagicLambdaImpl_klass())) {
+ return true;
+ }
+
return can_relax_access_check_for(
current_class, field_class, classloader_only);
}