--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/UnwindExceptionToCallerStub.java 2018-12-11 11:13:23.000000000 -0800 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/UnwindExceptionToCallerStub.java 2018-12-11 11:13:23.000000000 -0800 @@ -24,6 +24,7 @@ package org.graalvm.compiler.hotspot.stubs; +import static org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_OPTIONVALUES; import static org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG; import static org.graalvm.compiler.hotspot.nodes.JumpToExceptionHandlerInCallerNode.jumpToExceptionHandlerInCaller; import static org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.registerAsWord; @@ -77,14 +78,13 @@ if (index == 2) { return providers.getRegisters().getThreadRegister(); } - assert index == 3; - return options; + throw new InternalError(); } @Snippet - private static void unwindExceptionToCaller(Object exception, Word returnAddress, @ConstantParameter Register threadRegister, @ConstantParameter OptionValues options) { + private static void unwindExceptionToCaller(Object exception, Word returnAddress, @ConstantParameter Register threadRegister) { Pointer exceptionOop = Word.objectToTrackedPointer(exception); - if (logging(options)) { + if (logging(INJECTED_OPTIONVALUES)) { printf("unwinding exception %p (", exceptionOop.rawValue()); decipher(exceptionOop.rawValue()); printf(") at %p (", returnAddress.rawValue()); @@ -97,7 +97,7 @@ Word handlerInCallerPc = exceptionHandlerForReturnAddress(EXCEPTION_HANDLER_FOR_RETURN_ADDRESS, thread, returnAddress); - if (logging(options)) { + if (logging(INJECTED_OPTIONVALUES)) { printf("handler for exception %p at return address %p is at %p (", exceptionOop.rawValue(), returnAddress.rawValue(), handlerInCallerPc.rawValue()); decipher(handlerInCallerPc.rawValue()); printf(")\n"); @@ -107,7 +107,7 @@ } @Fold - static boolean logging(OptionValues options) { + static boolean logging(@Fold.InjectedParameter OptionValues options) { return StubOptions.TraceUnwindStub.getValue(options); }