Add createNonCopying method to UString to make replace constructor passed bool,
to make behaviour more explicit. Add createFromUTF8 to UString (wrapping method
on UString::Rep), since other cases of transliteration (e.g. from ascii) are
performed in UString constructors. Add/use setHash & size() accessors on Rep,
rather than accessing _hash/len directly.
Reviewed by Sam Weinig.
(OpaqueJSClass::OpaqueJSClass):
(OpaqueJSString::ustring):
(JSC::arrayProtoFuncToString):
(JSC::Identifier::equal):
(JSC::CStringTranslator::translate):
(JSC::UCharBufferTranslator::translate):
(JSC::Identifier::addSlowCase):
(JSC::JSString::resolveRope):
(JSC::JSString::Rope::Fiber::refAndGetLength):
(JSC::JSString::Rope::append):
(JSC::StringBuilder::release):
- runtime/StringConstructor.cpp:
(JSC::stringFromCharCodeSlowCase):
- runtime/StringPrototype.cpp:
(JSC::substituteBackreferencesSlow):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncLink):
(JSC::UString::UString):
(JSC::UString::createNonCopying):
(JSC::UString::createFromUTF8):
(JSC::UString::Rep::setHash):
(JSC::UString::~UString):
(JSC::makeString):