The UString constructors currently initialize m_rep to 0 and then assign to it. This results in an extra branch. Instead the UString constructors should all initialize m_rep.
This seems to be fixed now. Should we close this bug?
No, this is not fixed. Constructors that set m_rep to 0 (by default initializing it, since it's a RefPtr) and then later assign a value to it include: UString::UString(const char*) UString::UString(const UChar*, int length) UString::UString(UChar*, int length, bool copy) UString::UString(const Vector<UChar>&)
What about now?
I think itβs fixed now. I couldn't find the body of UString(const Vector<UChar>&) so I didn't check that one.