Mercurial > hg > graal-compiler
changeset 4585:c47ca28d164a
Create exception dispatch even if catch type is not initialized yet.
Previously, when there were multiple exception handlers, and an uninitialized catch type was preceding another (initialized) catch type, no exception dispatch would be created. This could lead to a deopt every time one of the later exceptions was thrown.
author | Andreas Woess <andreas.woess@jku.at> |
---|---|
date | Mon, 13 Feb 2012 23:47:06 +0100 |
parents | 7e5d8d1c74a1 |
children | 05a6d48a6ace |
files | graal/com.oracle.max.graal.java/src/com/oracle/max/graal/java/GraphBuilderPhase.java |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.max.graal.java/src/com/oracle/max/graal/java/GraphBuilderPhase.java Tue Feb 14 12:29:11 2012 +0100 +++ b/graal/com.oracle.max.graal.java/src/com/oracle/max/graal/java/GraphBuilderPhase.java Mon Feb 13 23:47:06 2012 +0100 @@ -1446,7 +1446,7 @@ if (config.eagerResolving()) { catchType = lookupType(block.handler.catchTypeCPI(), INSTANCEOF); } - boolean initialized = (catchType instanceof RiResolvedType) && ((RiResolvedType) catchType).isInitialized(); + boolean initialized = (catchType instanceof RiResolvedType); if (initialized && config.getSkippedExceptionTypes() != null) { RiResolvedType resolvedCatchType = (RiResolvedType) catchType; for (RiResolvedType skippedType : config.getSkippedExceptionTypes()) {