Fix incorrect short cut test that assumed ASCII strings could be Latin1.
authorerik.corry@gmail.com <erik.corry@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 8 Oct 2008 08:05:14 +0000 (08:05 +0000)
committererik.corry@gmail.com <erik.corry@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 8 Oct 2008 08:05:14 +0000 (08:05 +0000)
Review URL: http://codereview.chromium.org/6542

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/runtime.cc

index 42cf7b4..4fe5fe8 100644 (file)
@@ -1086,7 +1086,11 @@ static int BoyerMooreHorspoolIndexOf(Vector<const schar> subject,
   // Notice: Doesn't include last character.
   for (int i = p < m ? m - p : 0; i < m - 1; i++) {
     uc32 c = pattern[i];
-    if (sizeof(schar) == 1 && c > 255) return -1;
+    if (sizeof(schar) == 1 &&
+        sizeof(pchar) > 1 &&
+        c > String::kMaxAsciiCharCode) {
+      return -1;
+    }
     bad_char_map[c & kBMHSignificantBitsMask] = m - 1 - i;
   }