JavaScriptCore: Patch by Gavin Barraclough.
authorbweinstein@apple.com <bweinstein@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 11 May 2010 20:52:51 +0000 (20:52 +0000)
committerbweinstein@apple.com <bweinstein@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 11 May 2010 20:52:51 +0000 (20:52 +0000)
commit0c22212bf51e28a04886aa860e50b334bfb05d3e
tree0121dcc3a6ab156ce18023d0b55e13a48acf89dd
parentbe8ed70654a532ca2bddea5b57c55b09722daca0
JavaScriptCore: Patch by Gavin Barraclough.

Reviewed by Steve Falkenburg.

REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
https://bugs.webkit.org/show_bug.cgi?id=38930
<rdar://problem/7937188>

When the String classes were moved from WebCore to WTF, it meant that on Windows, all operations
on Strings in WebCore had to cross a DLL boundary (from WebKit.dll to JavaScript.dll).

We fix this by refactoring some of the WTF string code, so the code in AtomicString, StringImpl, and
WTFString can be built by both WebCore and WTF, and we don't need to talk across a DLL to do operations
on Strings.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Remove string exports, because these are now
    handled in WebCore.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Remove the post-build step that was added
    here (the post build step is in JavaScriptCoreCommon.vsprops).
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: Copy the three cpp files that need to be compiled
    by WebCore into the WebKitOutputDir directory.
* JavaScriptCore.vcproj/WTF/WTF.vcproj: Add the StringStatics file.
* JavaScriptCore.vcproj/jsc/jsc.vcproj: Add the three WTF string cpp files to this project.
* JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Remove the need to link against WTF.lib (since jsc links against JavaScriptCore).
* JavaScriptCore.xcodeproj/project.pbxproj: Add the StringStatics file.
* wtf/text/AtomicString.cpp: Moved code to StringStatics.
* wtf/text/StringImpl.cpp: Ditto.
* wtf/text/StringStatics.cpp: Added. Move functions in WTF Strings that define static variables to here, so
    the rest of the files can be compiled in WebCore.
(WebCore::StringImpl::empty): Moved from StringImpl.cpp to here.
(WebCore::AtomicString::init): Moved from AtomicString.cpp to here.

WebCore: Patch by Gavin Barraclough.

Reviewed by Steve Falkenburg.

REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
https://bugs.webkit.org/show_bug.cgi?id=38930
<rdar://problem/7937188>

Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).

No new tests because no change in behavior.

* WebCore.vcproj/WebCore.vcproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@59171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed:
JavaScriptCore/ChangeLog
JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def
JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj
JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops
JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj
JavaScriptCore/JavaScriptCore.vcproj/jsc/jsc.vcproj
JavaScriptCore/JavaScriptCore.vcproj/jsc/jscCommon.vsprops
JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
JavaScriptCore/wtf/text/AtomicString.cpp
JavaScriptCore/wtf/text/StringImpl.cpp
JavaScriptCore/wtf/text/StringStatics.cpp [new file with mode: 0644]
WebCore/ChangeLog
WebCore/WebCore.vcproj/WebCore.vcproj