Skip to content

Commit fb274b0

Browse files
committed
make EspressoExternalResolvedJavaMethod#getExceptionHandlers more closely mimic the implementation in HotSpotResolvedJavaMethodImpl
1 parent 337d8b8 commit fb274b0

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

espresso-compiler-stub/src/com.oracle.truffle.espresso.vmaccess/src/com/oracle/truffle/espresso/vmaccess/EspressoExternalResolvedJavaMethod.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,15 @@ public ExceptionHandler[] getExceptionHandlers() {
144144
int handlerBCI = handler.getMember("handlerBCI").asInt();
145145
int catchTypeCPI = handler.getMember("catchTypeCPI").asInt();
146146
Value catchTypeName = handler.getMember("catchType");
147-
JavaType catchType = !catchTypeName.isNull() ? getAccess().lookupType(catchTypeName.asString(), getDeclaringClass(), false) : null;
148-
if (getAccess().java_lang_Throwable.equals(catchType)) {
149-
// For consistency with HotSpotResolvedJavaMethodImpl#getExceptionHandlers
147+
JavaType catchType;
148+
if (catchTypeCPI == 0 || catchTypeName.isNull()) {
150149
catchType = null;
150+
} else {
151+
catchType = getAccess().lookupType(catchTypeName.asString(), getDeclaringClass(), false);
152+
if (getAccess().java_lang_Throwable.equals(catchType)) {
153+
// For consistency with HotSpotResolvedJavaMethodImpl#getExceptionHandlers
154+
catchType = null;
155+
}
151156
}
152157
result[i] = new ExceptionHandler(startBCI, endBCI, handlerBCI, catchTypeCPI, catchType);
153158
}

0 commit comments

Comments
 (0)