Dear webkit-dev,<div><br></div><div><br></div><div>Some recent changes improved the way we can use string classes with literals.</div><div><br></div><div>There are 3 new constructors for initializing a string from a literal:</div>
<div>-String(ASCIILIteral): <a href="http://trac.webkit.org/browser/trunk/Source/WTF/wtf/text/WTFString.h#L139">http://trac.webkit.org/browser/trunk/Source/WTF/wtf/text/WTFString.h#L139</a></div><div>-String(const char[], ConstructFromLiteralTag)</div>
<div>-AtomicString(const char[], ConstructFromLiteralTag)</div><div><br></div><div>The differences with the regular char* constructor are:</div><div>-no memory is allocated for the bytes of the string.</div><div>-the characters are not copied to the heap</div>
<div>-String(const char[], ConstructFromLiteralTag) does not even access the bytes of the string.</div><div><br></div><div>Those constructors are faster and use less memory in some cases.</div><div>I converted some of the generated code to use the new constructors. In the future, please consider using ASCIILiteral() whenever constructing a String, and ConstructFromLiteral for a AtomicString.</div>
<div><br></div><div>cheers,</div><div>Benjamin</div><div><br></div><div>PS: I started a Wiki page about the efficient use of the string classes: <a href="http://trac.webkit.org/wiki/EfficientStrings">http://trac.webkit.org/wiki/EfficientStrings</a></div>