@@ -253,17 +253,19 @@ protected Object evalCachedLanguage(TruffleString language, TruffleString source
253253 @ Cached TruffleString .EqualNode strEq ,
254254 @ Cached @ Shared TruffleString .ToJavaStringNode toJavaStringNode ,
255255 @ 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 ())));
258259 }
259260
260261 @ Specialization (replaces = "evalCachedLanguage" )
261262 @ TruffleBoundary
262263 protected Object evalString (TruffleString language , TruffleString source ,
263264 @ Cached @ Shared TruffleString .ToJavaStringNode toJavaStringNode ,
264- @ Cached @ Shared IndirectCallNode callNode ) {
265+ @ Cached @ Shared IndirectCallNode callNode ,
266+ @ Cached @ Shared ImportValueNode importValueNode ) {
265267 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 () )));
267269 }
268270
269271 private CallTarget evalStringIntl (TruffleString sourceText , String languageId , String mimeType ) {
@@ -300,17 +302,19 @@ protected Object evalFileCachedLanguage(TruffleString language, TruffleString fi
300302 @ Cached TruffleString .EqualNode strEq ,
301303 @ Cached @ Shared TruffleString .ToJavaStringNode toJavaStringNode ,
302304 @ 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 ())));
305308 }
306309
307310 @ Specialization (replaces = "evalFileCachedLanguage" )
308311 @ TruffleBoundary
309312 protected Object evalFileString (TruffleString language , TruffleString file ,
310313 @ Cached @ Shared TruffleString .ToJavaStringNode toJavaStringNode ,
311- @ Cached @ Shared IndirectCallNode callNode ) {
314+ @ Cached @ Shared IndirectCallNode callNode ,
315+ @ Cached @ Shared ImportValueNode importValueNode ) {
312316 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 () )));
314318 }
315319
316320 private CallTarget evalFileIntl (TruffleString fileName , String languageId , String mimeType ) {
0 commit comments