hotspot/src/share/vm/oops/method.cpp
changeset 24456 8c7933fa5a1f
parent 24424 2658d7834c6e
child 24457 0e20b36df5c4
equal deleted inserted replaced
24455:79b5204317a2 24456:8c7933fa5a1f
  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()) {