Bug 1027528 part 2 - Make AtomizeString, StringBuffer::finishAtom handle Latin1 strings. r=luke

This commit is contained in:
Jan de Mooij
2014-06-20 12:39:42 +02:00
parent ca24b9717d
commit 83b5dd05fa
2 changed files with 12 additions and 3 deletions

View File

@@ -430,11 +430,14 @@ js::AtomizeString(ExclusiveContext *cx, JSString *str,
return &atom;
}
const jschar *chars = str->getChars(cx);
if (!chars)
JSLinearString *linear = str->ensureLinear(cx);
if (!linear)
return nullptr;
return AtomizeAndCopyChars(cx, chars, str->length(), ib);
JS::AutoCheckCannotGC nogc;
return linear->hasLatin1Chars()
? AtomizeAndCopyChars(cx, linear->latin1Chars(nogc), linear->length(), ib)
: AtomizeAndCopyChars(cx, linear->twoByteChars(nogc), linear->length(), ib);
}
JSAtom *