Mercurial > hg > graal-compiler
changeset 22465:bc0f6b7a2b0e
Bugfix: checkcast must not be eliminated when profiling information contains a single type that fails the type check
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Fri, 14 Aug 2015 17:30:40 -0700 |
parents | 453c458c711e |
children | e56b1fd502d8 |
files | graal/com.oracle.graal.java/src/com/oracle/graal/java/BytecodeParser.java |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/BytecodeParser.java Fri Aug 14 17:29:40 2015 -0700 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/BytecodeParser.java Fri Aug 14 17:30:40 2015 -0700 @@ -2975,7 +2975,7 @@ } else if (profile.getNullSeen().isFalse()) { object = appendNullCheck(object); ResolvedJavaType singleType = profile.asSingleType(); - if (singleType != null) { + if (singleType != null && resolvedType.isAssignableFrom(singleType)) { LogicNode typeCheck = append(TypeCheckNode.create(singleType, object)); if (typeCheck.isTautology()) { checkCastNode = object;