The patch landed in <http://trac.webkit.org/changeset/101187> did not include the prior "is already lower case" optimization.
Created attachment 116679 [details] Patch
Comment on attachment 116679 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=116679&action=review r=me with one change below. > Source/JavaScriptCore/runtime/StringPrototype.cpp:1196 > + return JSValue::encode(jsString(exec, UString(lower))); lower.release() is the idiom for avoiding refcount churn here.
Committed r101278: <http://trac.webkit.org/changeset/101278>