equal
deleted
inserted
replaced
1017 /** |
1017 /** |
1018 * Returns true if this is one of the specially treated methods for |
1018 * Returns true if this is one of the specially treated methods for |
1019 * security related stack walks (like Reflection.getCallerClass). |
1019 * security related stack walks (like Reflection.getCallerClass). |
1020 */ |
1020 */ |
1021 bool Method::is_ignored_by_security_stack_walk() const { |
1021 bool Method::is_ignored_by_security_stack_walk() const { |
1022 const bool use_new_reflection = JDK_Version::is_gte_jdk14x_version() && UseNewReflection; |
|
1023 |
|
1024 if (intrinsic_id() == vmIntrinsics::_invoke) { |
1022 if (intrinsic_id() == vmIntrinsics::_invoke) { |
1025 // This is Method.invoke() -- ignore it |
1023 // This is Method.invoke() -- ignore it |
1026 return true; |
1024 return true; |
1027 } |
1025 } |
1028 if (use_new_reflection && |
1026 if (JDK_Version::is_gte_jdk14x_version() && |
1029 method_holder()->is_subclass_of(SystemDictionary::reflect_MethodAccessorImpl_klass())) { |
1027 method_holder()->is_subclass_of(SystemDictionary::reflect_MethodAccessorImpl_klass())) { |
1030 // This is an auxilary frame -- ignore it |
1028 // This is an auxilary frame -- ignore it |
1031 return true; |
1029 return true; |
1032 } |
1030 } |
1033 if (is_method_handle_intrinsic() || is_compiled_lambda_form()) { |
1031 if (is_method_handle_intrinsic() || is_compiled_lambda_form()) { |