< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/UnwindExceptionToCallerStub.java

Print this page




  99             printf("handler for exception %p at return address %p is at %p (", exceptionOop.rawValue(), returnAddress.rawValue(), handlerInCallerPc.rawValue());
 100             decipher(handlerInCallerPc.rawValue());
 101             printf(")\n");
 102         }
 103 
 104         jumpToExceptionHandlerInCaller(handlerInCallerPc, exception, returnAddress);
 105     }
 106 
 107     @Fold
 108     static boolean logging(OptionValues options) {
 109         return StubOptions.TraceUnwindStub.getValue(options);
 110     }
 111 
 112     /**
 113      * Determines if either Java assertions are enabled for Graal or if this is a HotSpot build
 114      * where the ASSERT mechanism is enabled.
 115      */
 116     @Fold
 117     @SuppressWarnings("all")
 118     static boolean assertionsEnabled(@InjectedParameter GraalHotSpotVMConfig config) {
 119         return Assertions.ENABLED || cAssertionsEnabled(config);
 120     }
 121 
 122     public static final ForeignCallDescriptor EXCEPTION_HANDLER_FOR_RETURN_ADDRESS = newDescriptor(UnwindExceptionToCallerStub.class, "exceptionHandlerForReturnAddress", Word.class, Word.class,
 123                     Word.class);
 124 
 125     @NodeIntrinsic(value = StubForeignCallNode.class)
 126     public static native Word exceptionHandlerForReturnAddress(@ConstantNodeParameter ForeignCallDescriptor exceptionHandlerForReturnAddress, Word thread, Word returnAddress);
 127 }


  99             printf("handler for exception %p at return address %p is at %p (", exceptionOop.rawValue(), returnAddress.rawValue(), handlerInCallerPc.rawValue());
 100             decipher(handlerInCallerPc.rawValue());
 101             printf(")\n");
 102         }
 103 
 104         jumpToExceptionHandlerInCaller(handlerInCallerPc, exception, returnAddress);
 105     }
 106 
 107     @Fold
 108     static boolean logging(OptionValues options) {
 109         return StubOptions.TraceUnwindStub.getValue(options);
 110     }
 111 
 112     /**
 113      * Determines if either Java assertions are enabled for Graal or if this is a HotSpot build
 114      * where the ASSERT mechanism is enabled.
 115      */
 116     @Fold
 117     @SuppressWarnings("all")
 118     static boolean assertionsEnabled(@InjectedParameter GraalHotSpotVMConfig config) {
 119         return Assertions.assertionsEnabled() || cAssertionsEnabled(config);
 120     }
 121 
 122     public static final ForeignCallDescriptor EXCEPTION_HANDLER_FOR_RETURN_ADDRESS = newDescriptor(UnwindExceptionToCallerStub.class, "exceptionHandlerForReturnAddress", Word.class, Word.class,
 123                     Word.class);
 124 
 125     @NodeIntrinsic(value = StubForeignCallNode.class)
 126     public static native Word exceptionHandlerForReturnAddress(@ConstantNodeParameter ForeignCallDescriptor exceptionHandlerForReturnAddress, Word thread, Word returnAddress);
 127 }
< prev index next >