Skip to content

Commit c523e33

Browse files
committed
[GR-69614] Replace InteropLibrary#getLanguage by InteropLibrary#getLanguageId.
PullRequest: graal/22123
2 parents 0b25058 + 025915d commit c523e33

File tree

109 files changed

+900
-612
lines changed

Some content is hidden

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

109 files changed

+900
-612
lines changed

compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/truffle/test/NodeLibraryCompilerTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.junit.Test;
3131

3232
import com.oracle.truffle.api.CompilerDirectives;
33-
import com.oracle.truffle.api.TruffleLanguage;
3433
import com.oracle.truffle.api.frame.Frame;
3534
import com.oracle.truffle.api.frame.FrameDescriptor;
3635
import com.oracle.truffle.api.frame.FrameSlotKind;
@@ -147,14 +146,14 @@ static final class ScopeVariables implements TruffleObject {
147146

148147
@ExportMessage
149148
@SuppressWarnings("static-method")
150-
boolean hasLanguage() {
149+
boolean hasLanguageId() {
151150
return true;
152151
}
153152

154153
@ExportMessage
155154
@SuppressWarnings("static-method")
156-
Class<? extends TruffleLanguage<?>> getLanguage() {
157-
return ProxyLanguage.class;
155+
String getLanguageId() {
156+
return ProxyLanguage.ID;
158157
}
159158

160159
@ExportMessage

espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/EspressoBindings.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import java.util.ArrayList;
2626
import java.util.List;
2727

28-
import com.oracle.truffle.api.TruffleLanguage;
2928
import com.oracle.truffle.api.dsl.Cached;
3029
import com.oracle.truffle.api.dsl.Cached.Exclusive;
3130
import com.oracle.truffle.api.interop.ArityException;
@@ -190,14 +189,14 @@ boolean isScope() {
190189

191190
@ExportMessage
192191
@SuppressWarnings("static-method")
193-
boolean hasLanguage() {
192+
boolean hasLanguageId() {
194193
return true;
195194
}
196195

197196
@ExportMessage
198197
@SuppressWarnings("static-method")
199-
Class<? extends TruffleLanguage<?>> getLanguage() {
200-
return EspressoLanguage.class;
198+
String getLanguageId() {
199+
return EspressoLanguage.ID;
201200
}
202201

203202
@ExportMessage

espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/EspressoScope.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131

3232
import com.oracle.truffle.api.CompilerAsserts;
3333
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
34-
import com.oracle.truffle.api.TruffleLanguage;
3534
import com.oracle.truffle.api.frame.Frame;
3635
import com.oracle.truffle.api.interop.InteropLibrary;
3736
import com.oracle.truffle.api.interop.InvalidArrayIndexException;
@@ -111,14 +110,14 @@ boolean isScope() {
111110

112111
@ExportMessage
113112
@SuppressWarnings("static-method")
114-
boolean hasLanguage() {
113+
boolean hasLanguageId() {
115114
return true;
116115
}
117116

118117
@ExportMessage
119118
@SuppressWarnings("static-method")
120-
Class<? extends TruffleLanguage<?>> getLanguage() {
121-
return EspressoLanguage.class;
119+
String getLanguageId() {
120+
return EspressoLanguage.ID;
122121
}
123122

124123
@ExportMessage

espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/ffi/nfi/NFISulongNativeAccess.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ public boolean hasFallbackSymbols() {
6464
}
6565

6666
@TruffleBoundary
67-
private static boolean isSulongSymbolClass(Object symbolClass) {
68-
return "LLVMLanguage".equals(((Class<?>) symbolClass).getSimpleName());
67+
private static boolean isSulongLanguage(String languageId) {
68+
return "llvm".equals(languageId);
6969
}
7070

7171
@Override
@@ -85,16 +85,16 @@ public NativeAccess getFallbackAccess() {
8585
}
8686

8787
static boolean isFallbackSymbol(TruffleObject symbol, InteropLibrary interop) {
88-
Object symbolClass = getSymbolClass(symbol, interop);
89-
return symbolClass == null || !isSulongSymbolClass(symbolClass);
88+
String languageId = getSymbolClass(symbol, interop);
89+
return languageId == null || !isSulongLanguage(languageId);
9090
}
9191

92-
private static Object getSymbolClass(TruffleObject symbol, InteropLibrary interop) {
93-
if (!interop.hasLanguage(symbol)) {
92+
private static String getSymbolClass(TruffleObject symbol, InteropLibrary interop) {
93+
if (!interop.hasLanguageId(symbol)) {
9494
return null;
9595
}
9696
try {
97-
return interop.getLanguage(symbol);
97+
return interop.getLanguageId(symbol);
9898
} catch (UnsupportedMessageException e) {
9999
CompilerDirectives.transferToInterpreterAndInvalidate();
100100
throw EspressoError.shouldNotReachHere(e);

espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/nodes/SubstitutionScope.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
2626
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
27-
import com.oracle.truffle.api.TruffleLanguage;
2827
import com.oracle.truffle.api.interop.InteropLibrary;
2928
import com.oracle.truffle.api.interop.TruffleObject;
3029
import com.oracle.truffle.api.interop.UnknownIdentifierException;
@@ -61,14 +60,14 @@ boolean isScope() {
6160

6261
@ExportMessage
6362
@SuppressWarnings("static-method")
64-
boolean hasLanguage() {
63+
boolean hasLanguageId() {
6564
return true;
6665
}
6766

6867
@ExportMessage
6968
@SuppressWarnings("static-method")
70-
Class<? extends TruffleLanguage<?>> getLanguage() {
71-
return EspressoLanguage.class;
69+
String getLanguageId() {
70+
return EspressoLanguage.ID;
7271
}
7372

7473
@ExportMessage

espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/runtime/dispatch/messages/InteropMessage.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,6 @@ public enum Message {
167167
GetIteratorNextElement,
168168
HasSourceLocation,
169169
GetSourceLocation,
170-
HasLanguage,
171-
GetLanguage,
172170
HasMetaObject,
173171
GetMetaObject,
174172
ToDisplayString,
@@ -183,7 +181,9 @@ public enum Message {
183181
IdentityHashCode,
184182
IsScope,
185183
HasScopeParent,
186-
GetScopeParent;
184+
GetScopeParent,
185+
HasLanguageId,
186+
GetLanguageId;
187187

188188
public static final int MESSAGE_COUNT = Message.values().length;
189189
}
@@ -2072,10 +2072,10 @@ public final Object execute(Object[] args) throws InteropException {
20722072
}
20732073

20742074
@GenerateUncached(inherit = true)
2075-
public abstract static class HasLanguage extends InteropMessage {
2075+
public abstract static class HasLanguageId extends InteropMessage {
20762076
@Override
20772077
public final String name() {
2078-
return "hasLanguage";
2078+
return "hasLanguageId";
20792079
}
20802080

20812081
@Override
@@ -2088,10 +2088,10 @@ public final Object execute(Object[] args) throws InteropException {
20882088
}
20892089

20902090
@GenerateUncached(inherit = true)
2091-
public abstract static class GetLanguage extends InteropMessage {
2091+
public abstract static class GetLanguageId extends InteropMessage {
20922092
@Override
20932093
public final String name() {
2094-
return "getLanguage";
2094+
return "getLanguageId";
20952095
}
20962096

20972097
@Override

espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/runtime/dispatch/staticobject/BaseInterop.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import static com.oracle.truffle.espresso.vm.InterpreterToVM.instanceOf;
2626

2727
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
28-
import com.oracle.truffle.api.TruffleLanguage;
2928
import com.oracle.truffle.api.dsl.Cached;
3029
import com.oracle.truffle.api.dsl.Fallback;
3130
import com.oracle.truffle.api.dsl.GenerateUncached;
@@ -224,14 +223,14 @@ public static int identityHashCode(StaticObject object,
224223
// region ### Language/DisplayString
225224
@SuppressWarnings("unused")
226225
@ExportMessage
227-
public static boolean hasLanguage(StaticObject object) {
226+
public static boolean hasLanguageId(StaticObject object) {
228227
return true;
229228
}
230229

231230
@SuppressWarnings("unused")
232231
@ExportMessage
233-
public static Class<? extends TruffleLanguage<?>> getLanguage(StaticObject object) {
234-
return EspressoLanguage.class;
232+
public static String getLanguageId(StaticObject object) {
233+
return EspressoLanguage.ID;
235234
}
236235

237236
@ExportMessage

espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/runtime/dispatch/staticobject/SharedInterop.java

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

3535
import com.oracle.truffle.api.CallTarget;
3636
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
37-
import com.oracle.truffle.api.TruffleLanguage;
3837
import com.oracle.truffle.api.dsl.Cached;
3938
import com.oracle.truffle.api.dsl.GenerateUncached;
4039
import com.oracle.truffle.api.dsl.Specialization;
@@ -2108,36 +2107,35 @@ public static SourceSection getSourceLocation(StaticObject receiver,
21082107
}
21092108

21102109
@ExportMessage
2111-
public static boolean hasLanguage(StaticObject receiver,
2110+
public static boolean hasLanguageId(StaticObject receiver,
21122111
@Cached IndirectCallNode callNode,
21132112
@Cached CallSharedInteropMessage sharedCallNode) {
21142113
int dispatchId = receiver.getKlass().getDispatchId();
2115-
InteropMessage.Message message = InteropMessage.Message.HasLanguage;
2114+
InteropMessage.Message message = InteropMessage.Message.HasLanguageId;
21162115
if (InteropMessageFactories.isShareable(dispatchId, message)) {
21172116
dispatchId = InteropMessageFactories.sourceDispatch(dispatchId, message);
21182117
return (boolean) sharedCallNode.call(dispatchId, message, receiver);
21192118
}
2120-
CallTarget target = getTarget(receiver, InteropMessage.Message.HasLanguage);
2119+
CallTarget target = getTarget(receiver, InteropMessage.Message.HasLanguageId);
21212120
if (target != null) {
21222121
return (boolean) callNode.call(target, receiver);
21232122
}
21242123
return false;
21252124
}
21262125

2127-
@SuppressWarnings("unchecked")
21282126
@ExportMessage
2129-
public static Class<? extends TruffleLanguage<?>> getLanguage(StaticObject receiver,
2127+
public static String getLanguageId(StaticObject receiver,
21302128
@Cached IndirectCallNode callNode,
21312129
@Cached CallSharedInteropMessage sharedCallNode) throws UnsupportedMessageException {
21322130
int dispatchId = receiver.getKlass().getDispatchId();
2133-
InteropMessage.Message message = InteropMessage.Message.GetLanguage;
2131+
InteropMessage.Message message = InteropMessage.Message.GetLanguageId;
21342132
if (InteropMessageFactories.isShareable(dispatchId, message)) {
21352133
dispatchId = InteropMessageFactories.sourceDispatch(dispatchId, message);
2136-
return (Class<? extends TruffleLanguage<?>>) sharedCallNode.call(dispatchId, message, receiver);
2134+
return (String) sharedCallNode.call(dispatchId, message, receiver);
21372135
}
2138-
CallTarget target = getTarget(receiver, InteropMessage.Message.GetLanguage);
2136+
CallTarget target = getTarget(receiver, InteropMessage.Message.GetLanguageId);
21392137
if (target != null) {
2140-
return (Class<? extends TruffleLanguage<?>>) callNode.call(target, receiver);
2138+
return (String) callNode.call(target, receiver);
21412139
}
21422140
throw unsupported();
21432141
}

regex/src/com.oracle.truffle.regex/src/com/oracle/truffle/regex/AbstractRegexObject.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
import java.util.Map;
4646

4747
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
48-
import com.oracle.truffle.api.TruffleLanguage;
4948
import com.oracle.truffle.api.interop.InteropLibrary;
5049
import com.oracle.truffle.api.interop.TruffleObject;
5150
import com.oracle.truffle.api.library.ExportLibrary;
@@ -60,14 +59,14 @@ public abstract class AbstractRegexObject implements TruffleObject {
6059

6160
@ExportMessage
6261
@SuppressWarnings("static-method")
63-
public final boolean hasLanguage() {
62+
public final boolean hasLanguageId() {
6463
return true;
6564
}
6665

6766
@ExportMessage
6867
@SuppressWarnings("static-method")
69-
public final Class<? extends TruffleLanguage<?>> getLanguage() {
70-
return RegexLanguage.class;
68+
public String getLanguageId() {
69+
return RegexLanguage.ID;
7170
}
7271

7372
@SuppressWarnings("static-method")

sulong/projects/com.oracle.truffle.llvm.runtime/src/com/oracle/truffle/llvm/runtime/LLVMScopeChain.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2021, 2022, Oracle and/or its affiliates.
2+
* Copyright (c) 2021, 2025, Oracle and/or its affiliates.
33
*
44
* All rights reserved.
55
*
@@ -30,7 +30,6 @@
3030
package com.oracle.truffle.llvm.runtime;
3131

3232
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
33-
import com.oracle.truffle.api.TruffleLanguage;
3433
import com.oracle.truffle.api.dsl.Cached;
3534
import com.oracle.truffle.api.interop.InteropLibrary;
3635
import com.oracle.truffle.api.interop.InvalidArrayIndexException;
@@ -127,13 +126,13 @@ public synchronized void concatNextChain(LLVMScopeChain scopeChain) {
127126
}
128127

129128
@ExportMessage
130-
final boolean hasLanguage() {
129+
final boolean hasLanguageId() {
131130
return true;
132131
}
133132

134133
@ExportMessage
135-
final Class<? extends TruffleLanguage<?>> getLanguage() {
136-
return LLVMLanguage.class;
134+
final String getLanguageId() {
135+
return LLVMLanguage.ID;
137136
}
138137

139138
@ExportMessage

0 commit comments

Comments
 (0)