Skip to content

Commit ce716eb

Browse files
committed
Use fast path for getting a Ruby encoding from a Java encoding.
1 parent 087b4b0 commit ce716eb

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/main/java/org/truffleruby/core/regexp/TruffleRegexpNodes.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.truffleruby.core.array.ArrayBuilderNode;
4242
import org.truffleruby.core.array.ArrayBuilderNode.BuilderState;
4343
import org.truffleruby.core.array.RubyArray;
44+
import org.truffleruby.core.encoding.EncodingNodes;
4445
import org.truffleruby.core.encoding.RubyEncoding;
4546
import org.truffleruby.core.kernel.KernelNodes.SameOrEqualNode;
4647
import org.truffleruby.core.regexp.RegexpNodes.ToSNode;
@@ -245,6 +246,7 @@ public abstract static class SelectEncodingNode extends CoreMethodArrayArguments
245246

246247
@Specialization(guards = "libString.isRubyString(str)")
247248
protected RubyEncoding selectEncoding(RubyRegexp re, Object str, boolean encodingConversion,
249+
@Cached EncodingNodes.GetRubyEncodingNode getRubyEncodingNode,
248250
@Cached TruffleRegexpNodes.CheckEncodingNode checkEncodingNode,
249251
@CachedLibrary(limit = "2") RubyStringLibrary libString) {
250252
Encoding encoding;
@@ -258,7 +260,8 @@ protected RubyEncoding selectEncoding(RubyRegexp re, Object str, boolean encodin
258260
} else {
259261
encoding = re.regex.getEncoding();
260262
}
261-
return getContext().getEncodingManager().getRubyEncoding(encoding);
263+
264+
return getRubyEncodingNode.executeGetRubyEncoding(encoding);
262265
}
263266
}
264267

0 commit comments

Comments
 (0)