From 3c78d621e60a2cae073b5e6ef7b7ac8b6d884a7e Mon Sep 17 00:00:00 2001 From: ko1 Date: Sun, 7 Oct 2007 06:49:38 +0000 Subject: * insns.def (opt_eq): fix to use rb_str_equal(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- insns.def | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) (limited to 'insns.def') diff --git a/insns.def b/insns.def index d5a6fe7b63..ee6de0a845 100644 --- a/insns.def +++ b/insns.def @@ -1694,21 +1694,7 @@ opt_eq else if (HEAP_CLASS_OF(recv) == rb_cString && HEAP_CLASS_OF(obj) == rb_cString && BASIC_OP_UNREDEFINED_P(BOP_EQ)) { - - VALUE str1 = recv; - VALUE str2 = obj; - val = Qtrue; - do { - if (str1 == str2) break; - if (!ENCODING_GET(str1) && !ENCODING_GET(str2)) { - if (RSTRING_LEN(str1) == RSTRING_LEN(str2)) { - int cmp = memcmp(RSTRING_PTR(str1), RSTRING_PTR(str2), - RSTRING_LEN(str1)); - if (!cmp) break; - } - } - val = rb_str_equal(str1, str2); - } while (0); + val = rb_str_equal(recv, obj); } else { goto INSN_LABEL(normal_dispatch); -- cgit v1.2.3