136 }
137
138 static void checkExceptionNotNull(boolean enabled, Object exception) {
139 if (enabled && exception == null) {
140 fatal("exception must not be null");
141 }
142 }
143
144 @Fold
145 static boolean logging(OptionValues options) {
146 return StubOptions.TraceExceptionHandlerStub.getValue(options);
147 }
148
149 /**
150 * Determines if either Java assertions are enabled for Graal or if this is a HotSpot build
151 * where the ASSERT mechanism is enabled.
152 */
153 @Fold
154 @SuppressWarnings("all")
155 static boolean assertionsEnabled(@InjectedParameter GraalHotSpotVMConfig config) {
156 return Assertions.ENABLED || cAssertionsEnabled(config);
157 }
158
159 public static final ForeignCallDescriptor EXCEPTION_HANDLER_FOR_PC = newDescriptor(ExceptionHandlerStub.class, "exceptionHandlerForPc", Word.class, Word.class);
160
161 @NodeIntrinsic(value = StubForeignCallNode.class)
162 public static native Word exceptionHandlerForPc(@ConstantNodeParameter ForeignCallDescriptor exceptionHandlerForPc, Word thread);
163 }
|
136 }
137
138 static void checkExceptionNotNull(boolean enabled, Object exception) {
139 if (enabled && exception == null) {
140 fatal("exception must not be null");
141 }
142 }
143
144 @Fold
145 static boolean logging(OptionValues options) {
146 return StubOptions.TraceExceptionHandlerStub.getValue(options);
147 }
148
149 /**
150 * Determines if either Java assertions are enabled for Graal or if this is a HotSpot build
151 * where the ASSERT mechanism is enabled.
152 */
153 @Fold
154 @SuppressWarnings("all")
155 static boolean assertionsEnabled(@InjectedParameter GraalHotSpotVMConfig config) {
156 return Assertions.assertionsEnabled() || cAssertionsEnabled(config);
157 }
158
159 public static final ForeignCallDescriptor EXCEPTION_HANDLER_FOR_PC = newDescriptor(ExceptionHandlerStub.class, "exceptionHandlerForPc", Word.class, Word.class);
160
161 @NodeIntrinsic(value = StubForeignCallNode.class)
162 public static native Word exceptionHandlerForPc(@ConstantNodeParameter ForeignCallDescriptor exceptionHandlerForPc, Word thread);
163 }
|