equal
deleted
inserted
replaced
468 && UseNewReflection |
468 && UseNewReflection |
469 && current_class->is_subclass_of(SystemDictionary::reflect_MagicAccessorImpl_klass())) { |
469 && current_class->is_subclass_of(SystemDictionary::reflect_MagicAccessorImpl_klass())) { |
470 return true; |
470 return true; |
471 } |
471 } |
472 |
472 |
473 // Also allow all accesses from |
|
474 // java/lang/invoke/MagicLambdaImpl subclasses to succeed trivially. |
|
475 if (current_class->is_subclass_of(SystemDictionary::lambda_MagicLambdaImpl_klass())) { |
|
476 return true; |
|
477 } |
|
478 |
|
479 return can_relax_access_check_for(current_class, new_class, classloader_only); |
473 return can_relax_access_check_for(current_class, new_class, classloader_only); |
480 } |
474 } |
481 |
475 |
482 static bool under_host_klass(InstanceKlass* ik, Klass* host_klass) { |
476 static bool under_host_klass(InstanceKlass* ik, Klass* host_klass) { |
483 DEBUG_ONLY(int inf_loop_check = 1000 * 1000 * 1000); |
477 DEBUG_ONLY(int inf_loop_check = 1000 * 1000 * 1000); |
565 // New (1.4) reflection implementation. Allow all accesses from |
559 // New (1.4) reflection implementation. Allow all accesses from |
566 // sun/reflect/MagicAccessorImpl subclasses to succeed trivially. |
560 // sun/reflect/MagicAccessorImpl subclasses to succeed trivially. |
567 if ( JDK_Version::is_gte_jdk14x_version() |
561 if ( JDK_Version::is_gte_jdk14x_version() |
568 && UseNewReflection |
562 && UseNewReflection |
569 && current_class->is_subclass_of(SystemDictionary::reflect_MagicAccessorImpl_klass())) { |
563 && current_class->is_subclass_of(SystemDictionary::reflect_MagicAccessorImpl_klass())) { |
570 return true; |
|
571 } |
|
572 |
|
573 // Also allow all accesses from |
|
574 // java/lang/invoke/MagicLambdaImpl subclasses to succeed trivially. |
|
575 if (current_class->is_subclass_of(SystemDictionary::lambda_MagicLambdaImpl_klass())) { |
|
576 return true; |
564 return true; |
577 } |
565 } |
578 |
566 |
579 return can_relax_access_check_for( |
567 return can_relax_access_check_for( |
580 current_class, field_class, classloader_only); |
568 current_class, field_class, classloader_only); |