6700107: java/lang/Class/forName/TooManyDimensions.java crashes with SIGSEGV in c2 compiler with fastdebug

ObjArrayKlass::compute_modifier_flags was unnecessarily recursive

Reviewed-by: kamg
This commit is contained in:
Coleen Phillimore 2008-10-14 10:15:33 -04:00
parent 04b0ebb9c1
commit d1aacc7cdf

View file

@ -475,8 +475,8 @@ jint objArrayKlass::compute_modifier_flags(TRAPS) const {
assert(Universe::is_bootstrapping(), "partial objArray only at startup");
return JVM_ACC_ABSTRACT | JVM_ACC_FINAL | JVM_ACC_PUBLIC;
}
// Recurse down the element list
jint element_flags = Klass::cast(element_klass())->compute_modifier_flags(CHECK_0);
// Return the flags of the bottom element type.
jint element_flags = Klass::cast(bottom_klass())->compute_modifier_flags(CHECK_0);
return (element_flags & (JVM_ACC_PUBLIC | JVM_ACC_PRIVATE | JVM_ACC_PROTECTED))
| (JVM_ACC_ABSTRACT | JVM_ACC_FINAL);