Skip to content

Commit a3e2faf

Browse files
committed
we cannot invalidate here, using _cpyton_sre this will lead us to a deopt cycle
1 parent e0ea8f0 commit a3e2faf

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/PyUnicodeWrappers.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
import com.oracle.graal.python.builtins.objects.cext.DynamicObjectNativeWrapper.ToPyObjectNode;
4848
import com.oracle.graal.python.builtins.objects.cext.UnicodeObjectNodes.UnicodeAsWideCharNode;
4949
import com.oracle.graal.python.builtins.objects.str.PString;
50-
import com.oracle.truffle.api.CompilerDirectives;
5150
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
5251
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
5352
import com.oracle.truffle.api.dsl.Cached;
@@ -226,12 +225,16 @@ protected Object readMember(String member,
226225

227226
private boolean onlyAscii(String value) {
228227
if (asciiEncoder == null) {
229-
CompilerDirectives.transferToInterpreterAndInvalidate();
230-
asciiEncoder = Charset.forName("US-ASCII").newEncoder();
228+
asciiEncoder = newAsciiEncoder();
231229
}
232230
return doCheck(value, asciiEncoder);
233231
}
234232

233+
@TruffleBoundary
234+
private static CharsetEncoder newAsciiEncoder() {
235+
return Charset.forName("US-ASCII").newEncoder();
236+
}
237+
235238
@TruffleBoundary
236239
private static boolean doCheck(String value, CharsetEncoder asciiEncoder) {
237240
return asciiEncoder.canEncode(value);

0 commit comments

Comments
 (0)