Skip to content

Commit cca0ccd

Browse files
committed
[GR-52365] Adopt addition of ConstantReflectionProvider.identityHashCode
PullRequest: graal/22747
2 parents 46e56d1 + 73c300b commit cca0ccd

File tree

46 files changed

+118
-348
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+118
-348
lines changed

common.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@
4949
"graalvm-ee-25-ea": {"name": "graalvm-jdk", "version": "25.0.0", "ea": "36", "platformspecific": true },
5050

5151
"oraclejdk-latest": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25.0.1+8", "platformspecific": true, "extrabundles": ["static-libs"]},
52-
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-25.0.1+8-jvmci-25.1-b10", "platformspecific": true },
53-
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-25.0.1+8-jvmci-25.1-b10-debug", "platformspecific": true },
54-
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-25.0.1+8-jvmci-25.1-b10-sulong", "platformspecific": true },
55-
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-25.0.1+8-jvmci-25.1-b10", "platformspecific": true },
56-
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-25.0.1+8-jvmci-25.1-b10-debug", "platformspecific": true },
57-
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-25.0.1+8-jvmci-25.1-b10-sulong", "platformspecific": true }
52+
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-25.0.1+8-jvmci-25.1-b11", "platformspecific": true },
53+
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-25.0.1+8-jvmci-25.1-b11-debug", "platformspecific": true },
54+
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-25.0.1+8-jvmci-25.1-b11-sulong", "platformspecific": true },
55+
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-25.0.1+8-jvmci-25.1-b11", "platformspecific": true },
56+
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-25.0.1+8-jvmci-25.1-b11-debug", "platformspecific": true },
57+
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-25.0.1+8-jvmci-25.1-b11-sulong", "platformspecific": true }
5858
},
5959

6060
"eclipse": {

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/HotSpotBackendFactory.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import jdk.graal.compiler.debug.Assertions;
3535
import jdk.graal.compiler.hotspot.meta.HotSpotGraalConstantFieldProvider;
3636
import jdk.graal.compiler.hotspot.meta.HotSpotHostForeignCallsProvider;
37-
import jdk.graal.compiler.hotspot.meta.HotSpotIdentityHashCodeProvider;
3837
import jdk.graal.compiler.hotspot.meta.HotSpotLoweringProvider;
3938
import jdk.graal.compiler.hotspot.meta.HotSpotMetaAccessExtensionProvider;
4039
import jdk.graal.compiler.hotspot.meta.HotSpotPlatformConfigurationProvider;
@@ -55,7 +54,6 @@
5554
import jdk.graal.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration;
5655
import jdk.graal.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins;
5756
import jdk.graal.compiler.nodes.loop.LoopsDataProviderImpl;
58-
import jdk.graal.compiler.nodes.spi.IdentityHashCodeProvider;
5957
import jdk.graal.compiler.nodes.spi.LoopsDataProvider;
6058
import jdk.graal.compiler.nodes.spi.Replacements;
6159
import jdk.graal.compiler.nodes.type.NarrowOopStamp;
@@ -221,12 +219,8 @@ public final HotSpotBackend createBackend(HotSpotGraalRuntimeProvider graalRunti
221219
try (InitTimer rt = timer("create Bytecode provider")) {
222220
bytecodeProvider = createBytecodeProvider(metaAccess, snippetReflection);
223221
}
224-
IdentityHashCodeProvider identityHashCodeProvider;
225-
try (InitTimer rt = timer("create IdentityHashCode provider")) {
226-
identityHashCodeProvider = createIdentityHashCodeProvider();
227-
}
228222
providers = new HotSpotProviders(metaAccess, codeCache, constantReflection, constantFieldProvider, foreignCalls, lowerer, null, null, registers,
229-
snippetReflection, wordTypes, stampProvider, platformConfigurationProvider, metaAccessExtensionProvider, loopsDataProvider, config, identityHashCodeProvider,
223+
snippetReflection, wordTypes, stampProvider, platformConfigurationProvider, metaAccessExtensionProvider, loopsDataProvider, config,
230224
graalRuntime.getReplayCompilationSupport());
231225

232226
try (InitTimer rt = timer("create Replacements provider")) {
@@ -256,10 +250,6 @@ public final HotSpotBackend createBackend(HotSpotGraalRuntimeProvider graalRunti
256250
}
257251
}
258252

259-
protected IdentityHashCodeProvider createIdentityHashCodeProvider() {
260-
return new HotSpotIdentityHashCodeProvider();
261-
}
262-
263253
protected abstract HotSpotBackend createBackend(GraalHotSpotVMConfig config, HotSpotGraalRuntimeProvider graalRuntime, HotSpotProviders providers);
264254

265255
protected abstract Value[] createNativeABICallerSaveRegisters(GraalHotSpotVMConfig config, RegisterConfig registerConfig);

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/HotSpotDecoratedBackendFactory.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
import jdk.graal.compiler.hotspot.word.HotSpotWordTypes;
3939
import jdk.graal.compiler.nodes.gc.BarrierSet;
4040
import jdk.graal.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration;
41-
import jdk.graal.compiler.nodes.spi.IdentityHashCodeProvider;
4241
import jdk.graal.compiler.nodes.spi.LoopsDataProvider;
4342
import jdk.graal.compiler.options.OptionValues;
4443
import jdk.graal.compiler.phases.tiers.CompilerConfiguration;
@@ -118,11 +117,6 @@ protected HotSpotSnippetReflectionProvider createSnippetReflection(HotSpotGraalR
118117
return delegate.createSnippetReflection(runtime, constantReflection, wordTypes);
119118
}
120119

121-
@Override
122-
protected IdentityHashCodeProvider createIdentityHashCodeProvider() {
123-
return delegate.createIdentityHashCodeProvider();
124-
}
125-
126120
@Override
127121
protected LoopsDataProvider createLoopsDataProvider() {
128122
return delegate.createLoopsDataProvider();

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/JVMCIVersionCheck.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ public final class JVMCIVersionCheck {
5858
// Checkstyle: stop stable iteration order check
5959
private static final Map<String, Map<String, Version>> JVMCI_MIN_VERSIONS = Map.of(
6060
"25", Map.of(
61-
"Oracle Corporation", createLabsJDKVersion("25.0.1+8", "25.1", 10),
62-
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("25.0.1+8", "25.1", 10)));
61+
"Oracle Corporation", createLabsJDKVersion("25.0.1+8", "25.1", 11),
62+
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("25.0.1+8", "25.1", 11)));
6363
// Checkstyle: resume stable iteration order check
6464

6565
private static final int NA = 0;

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/SnippetResolvedJavaType.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -174,12 +174,6 @@ public ResolvedJavaType lookupType(UnresolvedJavaType unresolvedJavaType, boolea
174174
throw new NoClassDefFoundError();
175175
}
176176

177-
@SuppressWarnings("deprecation")
178-
@Override
179-
public ResolvedJavaType getHostClass() {
180-
throw new UnsupportedOperationException();
181-
}
182-
183177
@Override
184178
public boolean isInstance(JavaConstant obj) {
185179
if (obj instanceof SnippetObjectConstant) {

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/SymbolicSnippetEncoder.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ private boolean verifySnippetEncodeDecode(DebugContext debug, ResolvedJavaMethod
362362
originalProvider.getConstantFieldProvider(), originalProvider.getForeignCalls(), originalProvider.getLowerer(), null, originalProvider.getSuites(),
363363
originalProvider.getRegisters(), originalProvider.getSnippetReflection(), originalProvider.getWordTypes(), originalProvider.getStampProvider(),
364364
originalProvider.getPlatformConfigurationProvider(), originalProvider.getMetaAccessExtensionProvider(), originalProvider.getLoopsDataProvider(), originalProvider.getConfig(),
365-
originalProvider.getIdentityHashCodeProvider(), originalProvider.getReplayCompilationSupport());
365+
originalProvider.getReplayCompilationSupport());
366366
HotSpotSnippetReplacementsImpl filteringReplacements = new HotSpotSnippetReplacementsImpl(newProviders,
367367
originalProvider.getReplacements().getDefaultReplacementBytecodeProvider(), originalProvider.getCodeCache().getTarget());
368368
filteringReplacements.setGraphBuilderPlugins(originalProvider.getReplacements().getGraphBuilderPlugins());
@@ -647,6 +647,11 @@ public JavaConstant asJavaClass(ResolvedJavaType type) {
647647
public Constant asObjectHub(ResolvedJavaType type) {
648648
return constantReflection.asObjectHub(type);
649649
}
650+
651+
@Override
652+
public Integer identityHashCode(JavaConstant constant) {
653+
return constantReflection.identityHashCode(constant);
654+
}
650655
}
651656

652657
class SnippetObjectFilter {

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/meta/HotSpotIdentityHashCodeProvider.java

Lines changed: 0 additions & 44 deletions
This file was deleted.

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/meta/HotSpotProviders.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import jdk.graal.compiler.hotspot.replaycomp.ReplayCompilationSupport;
3232
import jdk.graal.compiler.hotspot.word.HotSpotWordTypes;
3333
import jdk.graal.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins;
34-
import jdk.graal.compiler.nodes.spi.IdentityHashCodeProvider;
3534
import jdk.graal.compiler.nodes.spi.LoopsDataProvider;
3635
import jdk.graal.compiler.nodes.spi.LoweringProvider;
3736
import jdk.graal.compiler.nodes.spi.PlatformConfigurationProvider;
@@ -74,10 +73,9 @@ public HotSpotProviders(MetaAccessProvider metaAccess,
7473
MetaAccessExtensionProvider metaAccessExtensionProvider,
7574
LoopsDataProvider loopsDataProvider,
7675
GraalHotSpotVMConfig config,
77-
IdentityHashCodeProvider identityHashCodeProvider,
7876
ReplayCompilationSupport replayCompilationSupport) {
7977
super(metaAccess, codeCache, constantReflection, constantField, foreignCalls, lowerer, replacements, stampProvider, platformConfigurationProvider, metaAccessExtensionProvider,
80-
snippetReflection, wordTypes, loopsDataProvider, identityHashCodeProvider);
78+
snippetReflection, wordTypes, loopsDataProvider);
8179
this.suites = suites;
8280
this.registers = registers;
8381
this.config = config;
@@ -125,7 +123,7 @@ public HotSpotProviders copyWith(ConstantReflectionProvider substitution) {
125123
return new HotSpotProviders(getMetaAccess(), getCodeCache(), substitution, getConstantFieldProvider(), getForeignCalls(), getLowerer(), getReplacements(), getSuites(),
126124
getRegisters(), getSnippetReflection(), getWordTypes(), getStampProvider(), getPlatformConfigurationProvider(), getMetaAccessExtensionProvider(),
127125
getLoopsDataProvider(),
128-
config, getIdentityHashCodeProvider(), getReplayCompilationSupport());
126+
config, getReplayCompilationSupport());
129127
}
130128

131129
@Override
@@ -134,22 +132,22 @@ public HotSpotProviders copyWith(ConstantFieldProvider substitution) {
134132
getSuites(),
135133
getRegisters(), getSnippetReflection(), getWordTypes(), getStampProvider(), getPlatformConfigurationProvider(), getMetaAccessExtensionProvider(),
136134
getLoopsDataProvider(),
137-
config, getIdentityHashCodeProvider(), getReplayCompilationSupport());
135+
config, getReplayCompilationSupport());
138136
}
139137

140138
@Override
141139
public HotSpotProviders copyWith(Replacements substitution) {
142140
return new HotSpotProviders(getMetaAccess(), getCodeCache(), getConstantReflection(), getConstantFieldProvider(), getForeignCalls(), getLowerer(), substitution,
143141
getSuites(), getRegisters(), getSnippetReflection(), getWordTypes(), getStampProvider(), getPlatformConfigurationProvider(),
144142
getMetaAccessExtensionProvider(),
145-
getLoopsDataProvider(), config, getIdentityHashCodeProvider(), getReplayCompilationSupport());
143+
getLoopsDataProvider(), config, getReplayCompilationSupport());
146144
}
147145

148146
public HotSpotProviders copyWith() {
149147
return new HotSpotProviders(getMetaAccess(), getCodeCache(), getConstantReflection(), getConstantFieldProvider(), getForeignCalls(), getLowerer(), getReplacements(),
150148
getSuites(), getRegisters(), getSnippetReflection(), getWordTypes(), getStampProvider(), getPlatformConfigurationProvider(), getMetaAccessExtensionProvider(),
151149
getLoopsDataProvider(),
152-
config, getIdentityHashCodeProvider(), getReplayCompilationSupport());
150+
config, getReplayCompilationSupport());
153151
}
154152

155153
public void setSuites(HotSpotSuitesProvider suites) {

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/java/BytecodeParser.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2228,7 +2228,6 @@ private void emitCheckForDeclaringClassChange(ResolvedJavaType declaringClass, V
22282228
*/
22292229
protected void emitCheckForInvokeSuperSpecial(ValueNode[] args) {
22302230
ResolvedJavaType callingClass = method.getDeclaringClass();
2231-
callingClass = getHostClass(callingClass);
22322231
if (callingClass.isInterface()) {
22332232
args[0] = emitIncompatibleClassChangeCheck(args[0], callingClass);
22342233
}
@@ -2246,12 +2245,6 @@ protected ValueNode emitIncompatibleClassChangeCheck(ValueNode object, ResolvedJ
22462245
return append(PiNode.create(object, StampFactory.object(checkedTypeRef, true), guardingNode));
22472246
}
22482247

2249-
@SuppressWarnings("deprecation")
2250-
private static ResolvedJavaType getHostClass(ResolvedJavaType type) {
2251-
ResolvedJavaType hostClass = type.getHostClass();
2252-
return hostClass != null ? hostClass : type;
2253-
}
2254-
22552248
protected JavaTypeProfile getProfileForInvoke(InvokeKind invokeKind) {
22562249
if (invokeKind.isIndirect() && profilingInfo != null && this.optimisticOpts.useTypeCheckHints(getOptions())) {
22572250
return profilingInfo.getTypeProfile(bci());

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/nodes/spi/CoreProviders.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,4 @@ public interface CoreProviders {
6060
CodeCacheProvider getCodeCache();
6161

6262
SnippetReflectionProvider getSnippetReflection();
63-
64-
IdentityHashCodeProvider getIdentityHashCodeProvider();
6563
}

0 commit comments

Comments
 (0)