Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/reflection.cpp @ 14442:1174c8abbdb6
Merge
author | kvn |
---|---|
date | Thu, 05 Dec 2013 15:13:12 -0800 |
parents | cdf20166ec45 |
children | 9a60f4ac6a37 |
comparison
equal
deleted
inserted
replaced
14441:e7cbc95179c4 | 14442:1174c8abbdb6 |
---|---|
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); |