Mercurial > hg > graal-jvmci-8
diff src/share/vm/opto/type.cpp @ 22943:2163da41681e
8075587: Compilation of constant array containing different sub classes crashes the JVM
Summary: meet of 2 constant arrays result in bottom
Reviewed-by: kvn
author | roland |
---|---|
date | Fri, 27 Mar 2015 13:47:33 +0100 |
parents | 833b0f92429a |
children | 2a55e4998f0d |
line wrap: on
line diff
--- a/src/share/vm/opto/type.cpp Thu Apr 09 17:04:24 2015 -0700 +++ b/src/share/vm/opto/type.cpp Fri Mar 27 13:47:33 2015 +0100 @@ -3950,7 +3950,9 @@ (tap->_klass_is_exact && !tap->klass()->is_subtype_of(klass())) || // 'this' is exact and super or unrelated: (this->_klass_is_exact && !klass()->is_subtype_of(tap->klass())))) { - tary = TypeAry::make(Type::BOTTOM, tary->_size, tary->_stable); + if (above_centerline(ptr)) { + tary = TypeAry::make(Type::BOTTOM, tary->_size, tary->_stable); + } return make(NotNull, NULL, tary, lazy_klass, false, off, InstanceBot); }