42 #include "runtime/reflection.hpp" |
42 #include "runtime/reflection.hpp" |
43 #include "runtime/reflectionUtils.hpp" |
43 #include "runtime/reflectionUtils.hpp" |
44 #include "runtime/signature.hpp" |
44 #include "runtime/signature.hpp" |
45 #include "runtime/vframe.hpp" |
45 #include "runtime/vframe.hpp" |
46 |
46 |
47 #define JAVA_1_5_VERSION 49 |
|
48 |
|
49 static void trace_class_resolution(Klass* to_class) { |
47 static void trace_class_resolution(Klass* to_class) { |
50 ResourceMark rm; |
48 ResourceMark rm; |
51 int line_number = -1; |
49 int line_number = -1; |
52 const char * source_file = NULL; |
50 const char * source_file = NULL; |
53 Klass* caller = NULL; |
51 Klass* caller = NULL; |
505 // because one is inside the other. |
503 // because one is inside the other. |
506 if (under_host_klass(accessor_ik, accessee) || |
504 if (under_host_klass(accessor_ik, accessee) || |
507 under_host_klass(accessee_ik, accessor)) |
505 under_host_klass(accessee_ik, accessor)) |
508 return true; |
506 return true; |
509 |
507 |
510 if (RelaxAccessControlCheck || |
508 if ((RelaxAccessControlCheck && |
511 (accessor_ik->major_version() < JAVA_1_5_VERSION && |
509 accessor_ik->major_version() < Verifier::NO_RELAX_ACCESS_CTRL_CHECK_VERSION && |
512 accessee_ik->major_version() < JAVA_1_5_VERSION)) { |
510 accessee_ik->major_version() < Verifier::NO_RELAX_ACCESS_CTRL_CHECK_VERSION) || |
|
511 (accessor_ik->major_version() < Verifier::STRICTER_ACCESS_CTRL_CHECK_VERSION && |
|
512 accessee_ik->major_version() < Verifier::STRICTER_ACCESS_CTRL_CHECK_VERSION)) { |
513 return classloader_only && |
513 return classloader_only && |
514 Verifier::relax_verify_for(accessor_ik->class_loader()) && |
514 Verifier::relax_verify_for(accessor_ik->class_loader()) && |
515 accessor_ik->protection_domain() == accessee_ik->protection_domain() && |
515 accessor_ik->protection_domain() == accessee_ik->protection_domain() && |
516 accessor_ik->class_loader() == accessee_ik->class_loader(); |
516 accessor_ik->class_loader() == accessee_ik->class_loader(); |
517 } else { |
517 } else { |