Skip to content

Commit cc99d6c

Browse files
committed
fixes after rebase
1 parent c095a4e commit cc99d6c

File tree

7 files changed

+24
-27
lines changed

7 files changed

+24
-27
lines changed

substratevm/mx.substratevm/suite.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@
407407
"dependencies": [
408408
"com.oracle.graal.pointsto",
409409
],
410-
"checkstyle": "com.oracle.graal.pointsto",
410+
"checkstyle": "com.oracle.svm.core",
411411
"javaCompliance": "11+",
412412
"annotationProcessors": [
413413
"compiler:GRAAL_PROCESSOR",

substratevm/src/com.oracle.graal.pointsto/src/com/oracle/graal/pointsto/ReachabilityAnalysis.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ default boolean markFieldUnsafeAccessed(AnalysisField field) {
8383
if (!field.isUnsafeAccessed()) {
8484
/* Register the field as unsafe accessed. */
8585
field.registerAsAccessed();
86-
field.registerAsUnsafeAccessed(getUniverse());
86+
field.registerAsUnsafeAccessed();
8787
/* Force the update of registered unsafe loads and stores. */
8888
forceUnsafeUpdate(field);
8989
return true;
@@ -99,7 +99,7 @@ default void registerAsUnsafeAccessed(AnalysisField field, UnsafePartitionKind p
9999
if (!field.isUnsafeAccessed()) {
100100
/* Register the field as unsafe accessed. */
101101
field.registerAsAccessed();
102-
field.registerAsUnsafeAccessed(getUniverse(), partitionKind);
102+
field.registerAsUnsafeAccessed(partitionKind);
103103
/* Force the update of registered unsafe loads and stores. */
104104
forceUnsafeUpdate(field);
105105
}

substratevm/src/com.oracle.graal.pointsto/src/com/oracle/graal/pointsto/meta/AnalysisType.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -444,10 +444,6 @@ public boolean registerAsAllocated(Node node) {
444444

445445
/** Register the type as instantiated with all its super types. */
446446
private void registerAsInstantiated(UsageKind usageKind) {
447-
assert isAllocated.get() || isInHeap.get();
448-
assert isArray() || (isInstanceClass() && !Modifier.isAbstract(getModifiers())) : this;
449-
universe.hostVM.checkForbidden(this, usageKind);
450-
451447
forAllSuperTypes(t -> t.instantiatedSubtypes.add(this));
452448
}
453449

substratevm/src/com.oracle.graal.reachability/src/com/oracle/graal/reachability/ReachabilityObjectScanner.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import jdk.vm.ci.meta.JavaConstant;
3434
import jdk.vm.ci.meta.JavaKind;
3535

36+
// todo resolve return values
3637
public class ReachabilityObjectScanner implements ObjectScanningObserver {
3738

3839
private final ReachabilityAnalysis bb;
@@ -44,41 +45,52 @@ public ReachabilityObjectScanner(BigBang bb, AnalysisMetaAccess access) {
4445
}
4546

4647
@Override
47-
public void forRelocatedPointerFieldValue(JavaConstant receiver, AnalysisField field, JavaConstant fieldValue) {
48+
public boolean forRelocatedPointerFieldValue(JavaConstant receiver, AnalysisField field, JavaConstant fieldValue, ObjectScanner.ScanReason reason) {
4849
field.registerAsAccessed();
4950
if (fieldValue.isNonNull() && fieldValue.getJavaKind() == JavaKind.Object) {
5051
// todo mark as instantiated
5152
// bb.markTypeInstantiated(constantType(bb, fieldValue));
5253
}
54+
return true;
5355
}
5456

5557
@Override
56-
public void forNullFieldValue(JavaConstant receiver, AnalysisField field) {
58+
public boolean forNullFieldValue(JavaConstant receiver, AnalysisField field, ObjectScanner.ScanReason reason) {
5759
if (receiver != null) {
5860
bb.markTypeReachable(constantType(receiver));
5961
}
6062
bb.markTypeReachable(field.getType());
6163
// System.out.println("Scanning field " + field);
64+
return true;
6265
}
6366

6467
@Override
65-
public void forNonNullFieldValue(JavaConstant receiver, AnalysisField field, JavaConstant fieldValue) {
68+
public boolean forNonNullFieldValue(JavaConstant receiver, AnalysisField field, JavaConstant fieldValue, ObjectScanner.ScanReason reason) {
6669
if (receiver != null) {
6770
bb.markTypeReachable(constantType(receiver));
6871
}
6972
bb.markTypeReachable(field.getType());
7073
// System.out.println("Scanning field " + field);
74+
return true;
7175
}
7276

7377
@Override
74-
public void forNullArrayElement(JavaConstant array, AnalysisType arrayType, int elementIndex) {
78+
public boolean forNullArrayElement(JavaConstant array, AnalysisType arrayType, int elementIndex, ObjectScanner.ScanReason reason) {
7579
bb.markTypeReachable(arrayType);
80+
return true;
7681
}
7782

7883
@Override
79-
public void forNonNullArrayElement(JavaConstant array, AnalysisType arrayType, JavaConstant elementConstant, AnalysisType elementType, int elementIndex) {
84+
public boolean forNonNullArrayElement(JavaConstant array, AnalysisType arrayType, JavaConstant elementConstant, AnalysisType elementType, int elementIndex, ObjectScanner.ScanReason reason) {
8085
bb.markTypeReachable(arrayType);
8186
bb.markTypeInstantiated(elementType);
87+
return true;
88+
}
89+
90+
@Override
91+
public void forEmbeddedRoot(JavaConstant root, ObjectScanner.ScanReason reason) {
92+
bb.markTypeReachable(constantType(root));
93+
bb.markTypeInstantiated(constantType(root));
8294
}
8395

8496
@Override

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

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -381,15 +381,7 @@ public void registerAsUnsafeAccessed(Field field) {
381381
}
382382

383383
public boolean registerAsUnsafeAccessed(AnalysisField aField) {
384-
if (!aField.isUnsafeAccessed()) {
385-
/* Register the field as unsafe accessed. */
386-
aField.registerAsAccessed();
387-
aField.registerAsUnsafeAccessed();
388-
/* Force the update of registered unsafe loads and stores. */
389-
bb.forceUnsafeUpdate(aField);
390-
return true;
391-
}
392-
return false;
384+
return bb.markFieldUnsafeAccessed(aField);
393385
// if (!field.isUnsafeAccessed()) {
394386
// /* Register the field as unsafe accessed. */
395387
// field.registerAsAccessed();
@@ -398,7 +390,7 @@ public boolean registerAsUnsafeAccessed(AnalysisField aField) {
398390
// bb.forceUnsafeUpdate(field);
399391
// return true;
400392
// }
401-
return bb.markFieldUnsafeAccessed(aField);
393+
402394
}
403395

404396
public void registerAsFrozenUnsafeAccessed(Field field) {

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/analysis/NativeImageReachabilityAnalysis.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public NativeImageReachabilityAnalysis(OptionValues options, AnalysisUniverse un
6666
super(options, universe, providers, universe.hostVM(), executor, heartbeatCallback, new SubstrateUnsupportedFeatures(), methodSummaryProvider);
6767
this.annotationSubstitutionProcessor = annotationSubstitutionProcessor;
6868
this.strengthenGraalGraphs = SubstrateOptions.parseOnce();
69-
this.dynamicHubInitializer = new DynamicHubInitializer(universe, metaAccess, unsupportedFeatures, providers.getConstantReflection());
69+
this.dynamicHubInitializer = new DynamicHubInitializer(metaAccess, unsupportedFeatures, providers.getConstantReflection());
7070
}
7171

7272
@Override
@@ -112,7 +112,7 @@ public void checkUserLimitations() {
112112
private void scanHub(ObjectScanner objectScanner, AnalysisType type) {
113113
SVMHost svmHost = (SVMHost) hostVM;
114114
JavaConstant hubConstant = SubstrateObjectConstant.forObject(svmHost.dynamicHub(type));
115-
objectScanner.scanConstant(hubConstant, ObjectScanner.ScanReason.HUB);
115+
objectScanner.scanConstant(hubConstant, ObjectScanner.OtherReason.HUB);
116116
}
117117

118118
private void handleUnknownValueField(AnalysisField field) {

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/code/CompileQueue.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,9 +172,6 @@
172172
import com.oracle.svm.hosted.phases.HostedGraphBuilderPhase;
173173
import com.oracle.svm.hosted.phases.ImageBuildStatisticsCounterPhase;
174174
import com.oracle.svm.hosted.phases.ImplicitAssertionsPhase;
175-
import com.oracle.svm.hosted.phases.StrengthenStampsPhase;
176-
import com.oracle.svm.hosted.reporting.ProgressReporter;
177-
import com.oracle.svm.hosted.reporting.ProgressReporter.ReporterClosable;
178175
import com.oracle.svm.hosted.substitute.DeletedMethod;
179176
import com.oracle.svm.util.ImageBuildStatistics;
180177

0 commit comments

Comments
 (0)