Skip to content

Commit fd76737

Browse files
committed
fixup! Don't create JNINativeCallWrapperMethods for JNICallTrampolineMethods
1 parent d81251f commit fd76737

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

substratevm/src/com.oracle.svm.jni/src/com/oracle/svm/jni/access/JNIAccessFeature.java

+12-12
Original file line numberDiff line numberDiff line change
@@ -189,30 +189,30 @@ private static void registerJavaCallTrampoline(BeforeAnalysisAccessImpl access,
189189
ResolvedJavaField field = JNIAccessibleMethod.getCallWrapperField(metaAccess.getWrapped(), variant, nonVirtual);
190190
access.getUniverse().lookup(field.getDeclaringClass()).registerAsReachable();
191191
access.registerAsAccessed(access.getUniverse().lookup(field));
192-
String trampolineName = JNIJavaCallTrampolines.getTrampolineName(variant, nonVirtual);
193-
Method reflectionMethod = ReflectionUtil.lookupMethod(JNIJavaCallTrampolines.class, trampolineName);
192+
String name = JNIJavaCallTrampolines.getTrampolineName(variant, nonVirtual);
193+
Method method = ReflectionUtil.lookupMethod(JNIJavaCallTrampolines.class, name);
194194
// Look up the java method to ensure a JNICallTrampolineMethod gets created for it through
195195
// com.oracle.svm.jni.hosted.JNINativeCallWrapperSubstitutionProcessor.lookup
196-
AnalysisMethod trampoline = metaAccess.lookupJavaMethod(reflectionMethod);
196+
AnalysisMethod trampoline = metaAccess.lookupJavaMethod(method);
197197
access.registerAsCompiled(trampoline);
198198
}
199199

200200
public JNICallTrampolineMethod getCallTrampolineMethod(CallVariant variant, boolean nonVirtual) {
201-
String trampolineName = JNIJavaCallTrampolines.getTrampolineName(variant, nonVirtual);
202-
return getCallTrampolineMethod(trampolineName);
201+
String name = JNIJavaCallTrampolines.getTrampolineName(variant, nonVirtual);
202+
return getCallTrampolineMethod(name);
203203
}
204204

205205
public JNICallTrampolineMethod getCallTrampolineMethod(String javaTrampolineName) {
206-
JNICallTrampolineMethod jniCallTrampolineMethod = trampolineMethods.get(javaTrampolineName);
207-
assert jniCallTrampolineMethod != null;
208-
return jniCallTrampolineMethod;
206+
JNICallTrampolineMethod trampoline = trampolineMethods.get(javaTrampolineName);
207+
assert trampoline != null;
208+
return trampoline;
209209
}
210210

211211
public JNICallTrampolineMethod getOrCreateCallTrampolineMethod(DuringSetupAccessImpl access, String trampolineName) {
212-
JNICallTrampolineMethod jniCallTrampolineMethod = trampolineMethods.get(trampolineName);
212+
JNICallTrampolineMethod trampoline = trampolineMethods.get(trampolineName);
213213

214-
if (jniCallTrampolineMethod != null) {
215-
return jniCallTrampolineMethod;
214+
if (trampoline != null) {
215+
return trampoline;
216216
}
217217

218218
MetaAccessProvider wrappedMetaAccess = access.getMetaAccess().getWrapped();
@@ -222,7 +222,7 @@ public JNICallTrampolineMethod getOrCreateCallTrampolineMethod(DuringSetupAccess
222222
// Use wrapped MetaAccess to avoid infinite recursion through
223223
// com.oracle.svm.jni.hosted.JNINativeCallWrapperSubstitutionProcessor.lookup
224224
ResolvedJavaMethod method = wrappedMetaAccess.lookupJavaMethod(reflectionMethod);
225-
JNICallTrampolineMethod trampoline = new JNICallTrampolineMethod(method, field, nonVirtual);
225+
trampoline = new JNICallTrampolineMethod(method, field, nonVirtual);
226226
trampolineMethods.put(trampolineName, trampoline);
227227
return trampoline;
228228
}

0 commit comments

Comments
 (0)