aboutsummaryrefslogtreecommitdiffstats
path: root/insns.def
diff options
context:
space:
mode:
Diffstat (limited to 'insns.def')
-rw-r--r--insns.def5
1 files changed, 3 insertions, 2 deletions
diff --git a/insns.def b/insns.def
index 1d9ef3d6f2..d31a9656bc 100644
--- a/insns.def
+++ b/insns.def
@@ -1700,13 +1700,14 @@ opt_eq
if (str1 == str2) {
val = Qtrue;
}
- else if (RSTRING_LEN(str1) == RSTRING_LEN(str2) &&
+ else if (!ENCODING_GET(str1) && !ENCODING_GET(str2) &&
+ RSTRING_LEN(str1) == RSTRING_LEN(str2) &&
rb_memcmp(RSTRING_PTR(str1), RSTRING_PTR(str2),
RSTRING_LEN(str1)) == 0) {
val = Qtrue;
}
else {
- val = Qfalse;
+ val = rb_str_equal(str1, str2);
}
}
else {