Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index 88786e82473eada4915a7260b4e2f633d0dda729..e4bf83d4a9e13d684af33a6ee1a6891a4d0f30f2 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -4927,16 +4927,6 @@ static Object* ConvertCaseHelper(String* s, |
} |
-static inline SeqAsciiString* TryGetSeqAsciiString(String* s) { |
- if (!s->IsFlat() || !s->IsAsciiRepresentation()) return NULL; |
- if (s->IsConsString()) { |
- ASSERT(ConsString::cast(s)->second()->length() == 0); |
- return SeqAsciiString::cast(ConsString::cast(s)->first()); |
- } |
- return SeqAsciiString::cast(s); |
-} |
- |
- |
namespace { |
struct ToLowerTraits { |
@@ -4983,7 +4973,7 @@ static Object* ConvertCase( |
unibrow::Mapping<typename ConvertTraits::UnibrowConverter, 128>* mapping) { |
NoHandleAllocation ha; |
CONVERT_CHECKED(String, s, args[0]); |
- s->TryFlatten(); |
+ s = s->TryFlattenGetString(); |
const int length = s->length(); |
// Assume that the string is not empty; we need this assumption later |
@@ -4995,13 +4985,12 @@ static Object* ConvertCase( |
// character is also ascii. This is currently the case, but it |
// might break in the future if we implement more context and locale |
// dependent upper/lower conversions. |
- SeqAsciiString* seq_ascii = TryGetSeqAsciiString(s); |
- if (seq_ascii != NULL) { |
+ if (s->IsSeqAsciiString()) { |
Object* o = Heap::AllocateRawAsciiString(length); |
if (o->IsFailure()) return o; |
SeqAsciiString* result = SeqAsciiString::cast(o); |
bool has_changed_character = ConvertTraits::ConvertAscii( |
- result->GetChars(), seq_ascii->GetChars(), length); |
+ result->GetChars(), SeqAsciiString::cast(s)->GetChars(), length); |
return has_changed_character ? result : s; |
} |
@@ -5545,7 +5534,7 @@ static Object* Runtime_StringBuilderConcat(Arguments args) { |
if (first->IsString()) return first; |
} |
- bool ascii = special->IsAsciiRepresentation(); |
+ bool ascii = special->HasAsciiChars(); |
int position = 0; |
for (int i = 0; i < array_length; i++) { |
int increment = 0; |
@@ -5586,7 +5575,7 @@ static Object* Runtime_StringBuilderConcat(Arguments args) { |
String* element = String::cast(elt); |
int element_length = element->length(); |
increment = element_length; |
- if (ascii && !element->IsAsciiRepresentation()) { |
+ if (ascii && !element->HasAsciiChars()) { |
ascii = false; |
} |
} else { |