Fix potential assertion failure in ConvertCase.
authoryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 11 Nov 2013 14:51:56 +0000 (14:51 +0000)
committeryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 11 Nov 2013 14:51:56 +0000 (14:51 +0000)
IsOneByteRepresentationUnderneath requires the string to be flat, which is not
guaranteed in this case.  Using IsOneByteRepresentation is sufficient here.

R=mvstanton@chromium.org
BUG=

Review URL: https://codereview.chromium.org/62493007

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

src/runtime.cc

index 7da24c3..bf4fa4e 100644 (file)
@@ -6444,7 +6444,7 @@ MUST_USE_RESULT static MaybeObject* ConvertCase(
     }
   }
 
-  String::Encoding result_encoding = s->IsOneByteRepresentationUnderneath()
+  String::Encoding result_encoding = s->IsOneByteRepresentation()
       ? String::ONE_BYTE_ENCODING : String::TWO_BYTE_ENCODING;
   Object* answer;
   { MaybeObject* maybe_answer = ConvertCaseHelper(