Skip to content

Commit f66408f

Browse files
committed
Register ExceptionSnippets through a feature.
1 parent 4b81dbd commit f66408f

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/snippets/ExceptionSnippets.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,14 @@
4545
import org.graalvm.compiler.replacements.SnippetTemplate.Arguments;
4646
import org.graalvm.compiler.replacements.SnippetTemplate.SnippetInfo;
4747
import org.graalvm.compiler.replacements.Snippets;
48+
import org.graalvm.nativeimage.Platforms;
49+
import org.graalvm.nativeimage.impl.InternalPlatform;
4850
import org.graalvm.word.Pointer;
4951

5052
import com.oracle.svm.core.NeverInline;
53+
import com.oracle.svm.core.feature.AutomaticallyRegisteredFeature;
54+
import com.oracle.svm.core.feature.InternalFeature;
55+
import com.oracle.svm.core.graal.meta.RuntimeConfiguration;
5156
import com.oracle.svm.core.graal.nodes.ReadExceptionObjectNode;
5257
import com.oracle.svm.core.meta.SharedMethod;
5358
import com.oracle.svm.core.snippets.ExceptionUnwind;
@@ -110,3 +115,14 @@ public void lower(LoadExceptionObjectNode node, LoweringTool tool) {
110115
}
111116
}
112117
}
118+
119+
@AutomaticallyRegisteredFeature
120+
@Platforms(InternalPlatform.NATIVE_ONLY.class)
121+
final class ExceptionFeature implements InternalFeature {
122+
123+
@Override
124+
public void registerLowerings(RuntimeConfiguration runtimeConfig, OptionValues options, Providers providers,
125+
Map<Class<? extends Node>, NodeLoweringProvider<?>> lowerings, boolean hosted) {
126+
ExceptionSnippets.registerLowerings(options, providers, lowerings);
127+
}
128+
}

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/NativeImageGenerator.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,6 @@
215215
import com.oracle.svm.core.graal.snippets.DeoptHostedSnippets;
216216
import com.oracle.svm.core.graal.snippets.DeoptRuntimeSnippets;
217217
import com.oracle.svm.core.graal.snippets.DeoptTester;
218-
import com.oracle.svm.core.graal.snippets.ExceptionSnippets;
219218
import com.oracle.svm.core.graal.snippets.NodeLoweringProvider;
220219
import com.oracle.svm.core.graal.snippets.TypeSnippets;
221220
import com.oracle.svm.core.graal.word.SubstrateWordOperationPlugins;
@@ -1346,7 +1345,6 @@ public static void registerReplacements(DebugContext debug, FeatureHandler featu
13461345

13471346
lowerer.setConfiguration(runtimeConfig, options, providers);
13481347
TypeSnippets.registerLowerings(options, providers, lowerings);
1349-
ExceptionSnippets.registerLowerings(options, providers, lowerings);
13501348

13511349
if (hosted) {
13521350
DeoptHostedSnippets.registerLowerings(options, providers, lowerings);

0 commit comments

Comments
 (0)