@@ -253,17 +253,19 @@ protected Object evalCachedLanguage(TruffleString language, TruffleString source
253
253
@ Cached TruffleString .EqualNode strEq ,
254
254
@ Cached @ Shared TruffleString .ToJavaStringNode toJavaStringNode ,
255
255
@ Cached ("getLanguageIdAndMimeType(toJavaStringNode, language)" ) Pair <String , String > languagePair ,
256
- @ Cached @ Shared IndirectCallNode callNode ) {
257
- return callNode .call (evalStringIntl (source , languagePair .getFirst (), languagePair .getSecond ()));
256
+ @ Cached @ Shared IndirectCallNode callNode ,
257
+ @ Cached @ Shared ImportValueNode importValueNode ) {
258
+ return importValueNode .executeWithTarget (callNode .call (evalStringIntl (source , languagePair .getFirst (), languagePair .getSecond ())));
258
259
}
259
260
260
261
@ Specialization (replaces = "evalCachedLanguage" )
261
262
@ TruffleBoundary
262
263
protected Object evalString (TruffleString language , TruffleString source ,
263
264
@ Cached @ Shared TruffleString .ToJavaStringNode toJavaStringNode ,
264
- @ Cached @ Shared IndirectCallNode callNode ) {
265
+ @ Cached @ Shared IndirectCallNode callNode ,
266
+ @ Cached @ Shared ImportValueNode importValueNode ) {
265
267
Pair <String , String > pair = getLanguageIdAndMimeType (toJavaStringNode , language );
266
- return callNode .call (evalStringIntl (source , pair .getFirst (), pair .getSecond ()));
268
+ return importValueNode . executeWithTarget ( callNode .call (evalStringIntl (source , pair .getFirst (), pair .getSecond () )));
267
269
}
268
270
269
271
private CallTarget evalStringIntl (TruffleString sourceText , String languageId , String mimeType ) {
@@ -300,17 +302,19 @@ protected Object evalFileCachedLanguage(TruffleString language, TruffleString fi
300
302
@ Cached TruffleString .EqualNode strEq ,
301
303
@ Cached @ Shared TruffleString .ToJavaStringNode toJavaStringNode ,
302
304
@ Cached ("getLanguageIdAndMimeType(toJavaStringNode, language)" ) Pair <String , String > languagePair ,
303
- @ Cached @ Shared IndirectCallNode callNode ) {
304
- return callNode .call (evalFileIntl (file , languagePair .getFirst (), languagePair .getSecond ()));
305
+ @ Cached @ Shared IndirectCallNode callNode ,
306
+ @ Cached @ Shared ImportValueNode importValueNode ) {
307
+ return importValueNode .executeWithTarget (callNode .call (evalFileIntl (file , languagePair .getFirst (), languagePair .getSecond ())));
305
308
}
306
309
307
310
@ Specialization (replaces = "evalFileCachedLanguage" )
308
311
@ TruffleBoundary
309
312
protected Object evalFileString (TruffleString language , TruffleString file ,
310
313
@ Cached @ Shared TruffleString .ToJavaStringNode toJavaStringNode ,
311
- @ Cached @ Shared IndirectCallNode callNode ) {
314
+ @ Cached @ Shared IndirectCallNode callNode ,
315
+ @ Cached @ Shared ImportValueNode importValueNode ) {
312
316
Pair <String , String > pair = getLanguageIdAndMimeType (toJavaStringNode , language );
313
- return callNode .call (evalFileIntl (file , pair .getFirst (), pair .getSecond ()));
317
+ return importValueNode . executeWithTarget ( callNode .call (evalFileIntl (file , pair .getFirst (), pair .getSecond () )));
314
318
}
315
319
316
320
private CallTarget evalFileIntl (TruffleString fileName , String languageId , String mimeType ) {
0 commit comments