Skip to content

Commit 9c93e95

Browse files
committed
Move toJavaStringOrThrow() behind TruffleBoundary
1 parent 2591a94 commit 9c93e95

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/main/java/org/truffleruby/debug/TruffleDebugNodes.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.oracle.truffle.api.object.DynamicObjectLibrary;
3434
import com.oracle.truffle.api.source.Source;
3535
import com.oracle.truffle.api.source.SourceSection;
36+
import com.oracle.truffle.api.strings.AbstractTruffleString;
3637
import com.oracle.truffle.api.strings.TruffleString;
3738
import org.graalvm.collections.Pair;
3839
import org.truffleruby.Layouts;
@@ -300,17 +301,16 @@ protected Object parse(Object code,
300301
public abstract static class YARPExecuteNode extends CoreMethodArrayArgumentsNode {
301302
@Specialization(guards = "strings.isRubyString(code)", limit = "1")
302303
protected Object yarpExecute(VirtualFrame frame, Object code,
303-
@Cached RubyStringLibrary strings,
304-
@Cached TruffleString.CopyToByteArrayNode copyToByteArrayNode) {
304+
@Cached RubyStringLibrary strings) {
305305
var tstring = strings.getTString(code);
306306
var encoding = strings.getEncoding(code);
307-
String sourceString = TStringUtils.toJavaStringOrThrow(tstring, encoding);
308307

309-
return doExecute(sourceString, RubyArguments.getMethod(frame));
308+
return doExecute(tstring, encoding, RubyArguments.getMethod(frame));
310309
}
311310

312311
@TruffleBoundary
313-
private Object doExecute(String sourceString, InternalMethod method) {
312+
private Object doExecute(AbstractTruffleString tstring, RubyEncoding encoding, InternalMethod method) {
313+
String sourceString = TStringUtils.toJavaStringOrThrow(tstring, encoding);
314314
Source source = Source.newBuilder("ruby", sourceString, "<parse_ast>").build();
315315
TranslatorEnvironment.resetTemporaryVariablesIndex();
316316

0 commit comments

Comments
 (0)