Skip to content

Commit e40f3f8

Browse files
author
Aleksandar Gradinac
committed
Cleanup
1 parent 555d1e6 commit e40f3f8

27 files changed

+285
-335
lines changed

substratevm/mx.substratevm/mx_substratevm.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,6 @@ def help_stdout_check(output):
475475

476476

477477
def native_unittests_task(extra_build_args=None):
478-
tests = ['com.oracle.svm.test', 'com.oracle.svm.configure.test.config']
479478
if mx.is_windows():
480479
# GR-24075
481480
mx_unittest.add_global_ignore_glob('com.oracle.svm.test.ProcessPropertiesTest')
@@ -491,7 +490,7 @@ def native_unittests_task(extra_build_args=None):
491490
if mx.is_windows():
492491
mx_unittest.add_global_ignore_glob('com.oracle.svm.test.SecurityServiceTest')
493492

494-
native_unittest(['--builder-on-modulepath', '--build-args', _native_unittest_features] + additional_build_args + tests)
493+
native_unittest(['--builder-on-modulepath', '--build-args', _native_unittest_features] + additional_build_args)
495494

496495

497496
def conditional_config_task(native_image):
@@ -511,11 +510,13 @@ def conditional_config_task(native_image):
511510
'''
512511
)
513512
agent_opts = ['config-output-dir=' + config_dir, 'experimental-conditional-config-filter-file=' + conditional_config_filter_path]
514-
jvm_unittest(['-agentpath:' + agent_path + '=' + ','.join(agent_opts)]
515-
+ ['com.oracle.svm.configure.test.conditionalconfig.ConfigurationGenerator'])
513+
jvm_unittest(['-agentpath:' + agent_path + '=' + ','.join(agent_opts),
514+
'-Dcom.oracle.svm.configure.test.conditionalconfig.ConfigurationGenerator.enabled=true',
515+
'com.oracle.svm.configure.test.conditionalconfig.ConfigurationGenerator'])
516516

517-
jvm_unittest(['-Dcom.oracle.svm.configure.test.conditionalconfig.ConfigurationVerifier.configpath=' + config_dir]
518-
+ ['com.oracle.svm.configure.test.conditionalconfig.ConfigurationVerifier'])
517+
jvm_unittest(['-Dcom.oracle.svm.configure.test.conditionalconfig.ConfigurationVerifier.configpath=' + config_dir,
518+
"-Dcom.oracle.svm.configure.test.conditionalconfig.ConfigurationVerifier.enabled=true",
519+
'com.oracle.svm.configure.test.conditionalconfig.ConfigurationVerifier'])
519520

520521

521522
def javac_image_command(javac_path):
@@ -605,7 +606,7 @@ def _native_unittest(native_image, cmdline_args):
605606
except IOError:
606607
mx.log('warning: could not read blacklist: ' + blacklist)
607608

608-
unittest_args = unmask(pargs.unittest_args) if unmask(pargs.unittest_args) else ['com.oracle.svm.test']
609+
unittest_args = unmask(pargs.unittest_args) if unmask(pargs.unittest_args) else ['com.oracle.svm.test', 'com.oracle.svm.configure.test']
609610
builder_on_modulepath = pargs.builder_on_modulepath
610611
_native_junit(native_image, unittest_args, unmask(pargs.build_args), unmask(pargs.run_args), blacklist, whitelist, pargs.preserve_image, builder_on_modulepath)
611612

substratevm/src/com.oracle.svm.agent/src/com/oracle/svm/agent/NativeImageAgent.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
import com.oracle.svm.configure.filters.ComplexFilter;
7272
import com.oracle.svm.configure.filters.ConfigurationFilter;
7373
import com.oracle.svm.configure.filters.FilterConfigurationParser;
74-
import com.oracle.svm.configure.filters.RuleNode;
74+
import com.oracle.svm.configure.filters.HierarchyFilterNode;
7575
import com.oracle.svm.configure.trace.AccessAdvisor;
7676
import com.oracle.svm.configure.trace.TraceProcessor;
7777
import com.oracle.svm.core.SubstrateUtil;
@@ -205,7 +205,7 @@ protected int onLoadCallback(JNIJavaVM vm, JvmtiEnv jvmti, JvmtiEventCallbacks c
205205
configurationWithOrigins = true;
206206
} else if (token.startsWith("experimental-conditional-config-filter-file=")) {
207207
conditionalConfigUserPackageFilterFiles.add(getTokenValue(token));
208-
} else if (token.startsWith("conditional-config-class-name-filter-file=")) {
208+
} else if (token.startsWith("conditional-config-class-filter-file=")) {
209209
conditionalConfigClassNameFilterFiles.add(getTokenValue(token));
210210
} else if (token.equals("track-reflection-metadata")) {
211211
trackReflectionMetadata = true;
@@ -235,16 +235,16 @@ protected int onLoadCallback(JNIJavaVM vm, JvmtiEnv jvmti, JvmtiEventCallbacks c
235235
}
236236

237237
ComplexFilter callerFilter = null;
238-
RuleNode callerFilterRuleNode = null;
238+
HierarchyFilterNode callerFilterHierarchyFilterNode = null;
239239
if (!builtinCallerFilter) {
240-
callerFilterRuleNode = RuleNode.createRootWithIncludedChildren();
241-
callerFilter = new ComplexFilter(callerFilterRuleNode);
240+
callerFilterHierarchyFilterNode = HierarchyFilterNode.createInclusiveRoot();
241+
callerFilter = new ComplexFilter(callerFilterHierarchyFilterNode);
242242
}
243243

244244
if (!callerFilterFiles.isEmpty()) {
245-
if (callerFilterRuleNode == null) {
246-
callerFilterRuleNode = AccessAdvisor.copyBuiltinCallerFilterTree();
247-
callerFilter = new ComplexFilter(callerFilterRuleNode);
245+
if (callerFilterHierarchyFilterNode == null) {
246+
callerFilterHierarchyFilterNode = AccessAdvisor.copyBuiltinCallerFilterTree();
247+
callerFilter = new ComplexFilter(callerFilterHierarchyFilterNode);
248248
}
249249
if (!parseFilterFiles(callerFilter, callerFilterFiles)) {
250250
return 1;
@@ -309,18 +309,18 @@ protected int onLoadCallback(JNIJavaVM vm, JvmtiEnv jvmti, JvmtiEventCallbacks c
309309
tracer = writer;
310310
tracingResultWriter = writer;
311311
} else if (!conditionalConfigUserPackageFilterFiles.isEmpty()) {
312-
ComplexFilter userCodeFilter = new ComplexFilter(RuleNode.createRoot());
312+
ComplexFilter userCodeFilter = new ComplexFilter(HierarchyFilterNode.createRoot());
313313
if (!parseFilterFiles(userCodeFilter, conditionalConfigUserPackageFilterFiles)) {
314314
return 2;
315315
}
316316
ComplexFilter classNameFilter;
317317
if (!conditionalConfigClassNameFilterFiles.isEmpty()) {
318-
classNameFilter = new ComplexFilter(RuleNode.createRoot());
319-
if(!parseFilterFiles(classNameFilter, conditionalConfigClassNameFilterFiles)) {
318+
classNameFilter = new ComplexFilter(HierarchyFilterNode.createRoot());
319+
if (!parseFilterFiles(classNameFilter, conditionalConfigClassNameFilterFiles)) {
320320
return 3;
321321
}
322322
} else {
323-
classNameFilter = new ComplexFilter(RuleNode.createRootWithIncludedChildren());
323+
classNameFilter = new ComplexFilter(HierarchyFilterNode.createInclusiveRoot());
324324
}
325325

326326
ConditionalConfigurationPredicate predicate = new ConditionalConfigurationPredicate(classNameFilter);
@@ -432,7 +432,7 @@ private static boolean parseFilterFiles(ComplexFilter filter, List<String> filte
432432
return error(false, "cannot parse filter file " + path + ": " + e);
433433
}
434434
}
435-
filter.getRuleNode().removeRedundantNodes();
435+
filter.getHierarchyFilterNode().removeRedundantNodes();
436436
return true;
437437
}
438438

@@ -458,7 +458,7 @@ private void setupExecutorServiceForPeriodicConfigurationCapture(int writePeriod
458458
initialDelay, writePeriod, TimeUnit.SECONDS);
459459
}
460460

461-
private static void ignoreConfigFromClasspath(JvmtiEnv jvmti, ConfigurationFileCollection ignoredConfigSet) {
461+
private static void ignoreConfigFromClasspath(JvmtiEnv jvmti, ConfigurationFileCollection ignoredConfigCollection) {
462462
String classpath = Support.getSystemProperty(jvmti, "java.class.path");
463463
String sep = Support.getSystemProperty(jvmti, "path.separator");
464464
if (sep == null) {
@@ -472,7 +472,7 @@ private static void ignoreConfigFromClasspath(JvmtiEnv jvmti, ConfigurationFileC
472472
}
473473
}
474474

475-
AgentMetaInfProcessor processor = new AgentMetaInfProcessor(ignoredConfigSet);
475+
AgentMetaInfProcessor processor = new AgentMetaInfProcessor(ignoredConfigCollection);
476476
for (String cpEntry : classpath.split(sep)) {
477477
try {
478478
NativeImageMetaInfWalker.walkMetaInfForCPEntry(Paths.get(cpEntry), processor);

substratevm/src/com.oracle.svm.agent/src/com/oracle/svm/agent/conditionalconfig/ConditionalConfigurationWriter.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.util.Map;
3636
import java.util.Set;
3737

38+
import com.oracle.svm.agent.configwithorigins.HumanReadableConfigurationWithOrigins;
3839
import com.oracle.svm.configure.filters.ComplexFilter;
3940
import org.graalvm.nativeimage.impl.ConfigurationCondition;
4041

@@ -86,7 +87,7 @@ private Map<MethodInfo, List<MethodCallNode>> mapMethodsToCallNodes() {
8687

8788
/* This code is only ever executed by one thread. */
8889
@SuppressWarnings("NonAtomicOperationOnVolatileField")
89-
private Set<MethodInfo> maybePropagateConfiguration(List<MethodCallNode> callNodes) {
90+
private static Set<MethodInfo> maybePropagateConfiguration(List<MethodCallNode> callNodes) {
9091
/*
9192
* Iterate over a given method's call nodes and try to find the common config across all
9293
* calls of that method. Then, for each call node of the given method: 1. Set the common
@@ -134,7 +135,7 @@ private Set<MethodInfo> maybePropagateConfiguration(List<MethodCallNode> callNod
134135
return affectedNodes;
135136
}
136137

137-
private ConfigurationSet findCommonConfigurationForMethod(List<MethodCallNode> callNodes) {
138+
private static ConfigurationSet findCommonConfigurationForMethod(List<MethodCallNode> callNodes) {
138139
ConfigurationSet config = null;
139140
for (MethodCallNode node : callNodes) {
140141
if (config == null) {
@@ -159,7 +160,7 @@ private void deduceConditionalConfiguration(Map<MethodInfo, List<MethodCallNode>
159160
* Once the configuration has been propagated, iterate over all call nodes and use each call
160161
* node as the condition for that call node's config.
161162
*/
162-
MethodCallNode rootNode = methodCallNodes.remove(null).get(0);
163+
MethodCallNode rootCallNode = methodCallNodes.remove(null).get(0);
163164

164165
for (List<MethodCallNode> value : methodCallNodes.values()) {
165166
for (MethodCallNode node : value) {
@@ -170,7 +171,7 @@ private void deduceConditionalConfiguration(Map<MethodInfo, List<MethodCallNode>
170171
}
171172
}
172173

173-
addConfigurationWithCondition(rootNode.configuration, ConfigurationCondition.alwaysTrue());
174+
addConfigurationWithCondition(rootCallNode.configuration, ConfigurationCondition.alwaysTrue());
174175

175176
filterConfiguration();
176177
}
@@ -199,7 +200,7 @@ private void filterConfiguration() {
199200
configurationContainer = configurationContainer.filter(predicate);
200201
}
201202

202-
private void propagateConfiguration(Map<MethodInfo, List<MethodCallNode>> methodCallNodes) {
203+
private static void propagateConfiguration(Map<MethodInfo, List<MethodCallNode>> methodCallNodes) {
203204
/*
204205
* Iteratively propagate configuration from children to parent calls until an iteration
205206
* doesn't produce any changes.

substratevm/src/com.oracle.svm.agent/src/com/oracle/svm/agent/configwithorigins/ClassInfo.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,21 @@
2424
*/
2525
package com.oracle.svm.agent.configwithorigins;
2626

27-
import com.oracle.svm.jni.nativeapi.JNIMethodId;
28-
import com.oracle.svm.jvmtiagentbase.Support;
29-
import jdk.vm.ci.meta.MetaUtil;
30-
import org.graalvm.nativeimage.StackValue;
31-
import org.graalvm.nativeimage.c.type.CCharPointerPointer;
32-
import org.graalvm.word.WordFactory;
27+
import static com.oracle.svm.jvmtiagentbase.Support.checkPhase;
28+
import static org.graalvm.word.WordFactory.nullPointer;
3329

3430
import java.util.Map;
3531
import java.util.Objects;
3632
import java.util.concurrent.ConcurrentHashMap;
3733

38-
import static com.oracle.svm.jvmtiagentbase.Support.check;
39-
import static com.oracle.svm.jvmtiagentbase.Support.checkPhase;
40-
import static org.graalvm.word.WordFactory.nullPointer;
34+
import org.graalvm.nativeimage.StackValue;
35+
import org.graalvm.nativeimage.c.type.CCharPointerPointer;
36+
import org.graalvm.word.WordFactory;
37+
38+
import com.oracle.svm.jni.nativeapi.JNIMethodId;
39+
import com.oracle.svm.jvmtiagentbase.Support;
40+
41+
import jdk.vm.ci.meta.MetaUtil;
4142

4243
class ClassInfo {
4344

substratevm/src/com.oracle.svm.agent/src/com/oracle/svm/agent/configwithorigins/ConfigurationWithOrigins.java

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,12 @@
2727
import java.io.IOException;
2828
import java.util.Set;
2929

30-
import org.graalvm.nativeimage.impl.ConfigurationCondition;
31-
32-
import com.oracle.svm.configure.ConfigurationBase;
3330
import com.oracle.svm.configure.config.ConfigurationSet;
31+
import com.oracle.svm.configure.json.JsonPrintable;
3432
import com.oracle.svm.configure.json.JsonWriter;
3533
import com.oracle.svm.core.configure.ConfigurationFile;
3634

37-
public class ConfigurationWithOrigins extends ConfigurationBase<ConfigurationWithOrigins, ConfigurationWithOrigins.DummyPredicate> {
35+
public class ConfigurationWithOrigins implements JsonPrintable {
3836

3937
private final MethodCallNode root;
4038
private final ConfigurationFile configFile;
@@ -90,43 +88,4 @@ private void printJson(MethodCallNode node, JsonWriter writer, Set<MethodCallNod
9088
writer.append("}");
9189

9290
}
93-
94-
@Override
95-
public boolean isEmpty() {
96-
throw new UnsupportedOperationException();
97-
}
98-
99-
@Override
100-
public ConfigurationWithOrigins copy() {
101-
throw new UnsupportedOperationException();
102-
}
103-
104-
@Override
105-
protected void merge(ConfigurationWithOrigins other) {
106-
throw new UnsupportedOperationException();
107-
}
108-
109-
@Override
110-
protected void mergeConditional(ConfigurationCondition condition, ConfigurationWithOrigins other) {
111-
throw new UnsupportedOperationException();
112-
}
113-
114-
@Override
115-
protected void subtract(ConfigurationWithOrigins other) {
116-
throw new UnsupportedOperationException();
117-
}
118-
119-
@Override
120-
protected void intersect(ConfigurationWithOrigins other) {
121-
throw new UnsupportedOperationException();
122-
}
123-
124-
@Override
125-
protected void removeIf(DummyPredicate predicate) {
126-
throw new UnsupportedOperationException();
127-
}
128-
129-
interface DummyPredicate {
130-
131-
}
13291
}

substratevm/src/com.oracle.svm.agent/src/com/oracle/svm/agent/configwithorigins/ConfigurationWithOriginsTracer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,13 @@ public void traceEntry(Map<String, Object> entry) {
6767
} else {
6868
stackTrace = filterStackTrace(stackTrace);
6969
if (stackTrace != null) {
70-
dispatchTraceEntry(stackTrace, processor, entry);
70+
dispatchTraceEntry(stackTrace, entry);
7171
}
7272
}
7373
}
7474
}
7575

76-
public void dispatchTraceEntry(MethodInfo[] stackTrace, TraceProcessor processor, Map<String, Object> entry) {
76+
public void dispatchTraceEntry(MethodInfo[] stackTrace, Map<String, Object> entry) {
7777
MethodCallNode currentNode = rootNode;
7878
for (int i = stackTrace.length - 1; i >= 0; i--) {
7979
MethodInfo nextMethodInfo = stackTrace[i];

substratevm/src/com.oracle.svm.agent/src/com/oracle/svm/agent/configwithorigins/ConfigurationWithOriginsWriter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535
public class ConfigurationWithOriginsWriter extends ConfigurationWithOriginsTracer implements TracingResultWriter {
3636

37-
public static final String CONFIG_WITH_ORIGINS_SUFFIX = "-origins.json";
37+
public static final String CONFIG_WITH_ORIGINS_SUFFIX = "-origins.txt";
3838

3939
public ConfigurationWithOriginsWriter(TraceProcessor processor, MethodInfoRecordKeeper methodInfoRecordKeeper) {
4040
super(processor, methodInfoRecordKeeper);
@@ -53,6 +53,6 @@ public boolean supportsOnUnloadTraceWriting() {
5353
@Override
5454
public List<Path> writeToDirectory(Path directoryPath) throws IOException {
5555
return ConfigurationSet.writeConfiguration(configFile -> directoryPath.resolve(configFile.getFileName(CONFIG_WITH_ORIGINS_SUFFIX)),
56-
configFile -> new ConfigurationWithOrigins(rootNode, configFile));
56+
configFile -> new HumanReadableConfigurationWithOrigins(rootNode, configFile));
5757
}
5858
}
Lines changed: 3 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,18 @@
2222
* or visit www.oracle.com if you need additional information or have any
2323
* questions.
2424
*/
25-
package com.oracle.svm.agent.conditionalconfig;
25+
package com.oracle.svm.agent.configwithorigins;
2626

2727
import java.io.IOException;
2828
import java.io.StringWriter;
2929
import java.util.List;
3030
import java.util.Set;
3131

32-
import org.graalvm.nativeimage.impl.ConfigurationCondition;
33-
34-
import com.oracle.svm.agent.configwithorigins.MethodCallNode;
35-
import com.oracle.svm.configure.ConfigurationBase;
32+
import com.oracle.svm.configure.json.JsonPrintable;
3633
import com.oracle.svm.configure.json.JsonWriter;
3734
import com.oracle.svm.core.configure.ConfigurationFile;
3835

39-
public class HumanReadableConfigurationWithOrigins extends ConfigurationBase<HumanReadableConfigurationWithOrigins, HumanReadableConfigurationWithOrigins.DummyPredicate> {
36+
public class HumanReadableConfigurationWithOrigins implements JsonPrintable {
4037

4138
static final String CONNECTING_INDENT = "\u2502 "; // "| "
4239
static final String EMPTY_INDENT = " ";
@@ -76,7 +73,6 @@ private void printNode(JsonWriter writer, String prefix, MethodCallNode node) th
7673

7774
@Override
7875
public void printJson(JsonWriter writer) throws IOException {
79-
Set<MethodCallNode> nodesWithNonEmptyConfig = root.getNodesWithNonEmptyConfig(configFile);
8076
writer.append("root").newline();
8177

8278
List<MethodCallNode> nodes = List.copyOf(root.calledMethods.values());
@@ -99,43 +95,4 @@ private void printChildNodes(JsonWriter writer, String prefix, MethodCallNode no
9995
}
10096
}
10197
}
102-
103-
@Override
104-
public boolean isEmpty() {
105-
throw new UnsupportedOperationException();
106-
}
107-
108-
@Override
109-
public HumanReadableConfigurationWithOrigins copy() {
110-
throw new UnsupportedOperationException();
111-
}
112-
113-
@Override
114-
protected void merge(HumanReadableConfigurationWithOrigins other) {
115-
throw new UnsupportedOperationException();
116-
}
117-
118-
@Override
119-
protected void mergeConditional(ConfigurationCondition condition, HumanReadableConfigurationWithOrigins other) {
120-
throw new UnsupportedOperationException();
121-
}
122-
123-
@Override
124-
protected void subtract(HumanReadableConfigurationWithOrigins other) {
125-
throw new UnsupportedOperationException();
126-
}
127-
128-
@Override
129-
protected void intersect(HumanReadableConfigurationWithOrigins other) {
130-
throw new UnsupportedOperationException();
131-
}
132-
133-
@Override
134-
protected void removeIf(DummyPredicate predicate) {
135-
throw new UnsupportedOperationException();
136-
}
137-
138-
interface DummyPredicate {
139-
140-
}
14198
}

0 commit comments

Comments
 (0)