Ignore:
Timestamp:
May 11, 2010, 5:22:28 PM (15 years ago)
Author:
[email protected]
Message:

JavaScriptCore: Patch by Gavin Barraclough.

Reviewed by Steve Falkenburg and Jon Honeycutt.

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.

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 and Jon Honeycutt.

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:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r59172 r59187  
    197197                860161E50F3A83C100F84710 /* MacroAssemblerX86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = 860161E10F3A83C100F84710 /* MacroAssemblerX86_64.h */; };
    198198                860161E60F3A83C100F84710 /* MacroAssemblerX86Common.h in Headers */ = {isa = PBXBuildFile; fileRef = 860161E20F3A83C100F84710 /* MacroAssemblerX86Common.h */; };
     199                8626BECF11928E3900782FAB /* StringStatics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8626BECE11928E3900782FAB /* StringStatics.cpp */; };
    199200                863B23E00FC6118900703AA4 /* MacroAssemblerCodeRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 863B23DF0FC60E6200703AA4 /* MacroAssemblerCodeRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
    200201                86565742115BE3DA00291F40 /* CString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86565740115BE3DA00291F40 /* CString.cpp */; };
     
    751752                860161E10F3A83C100F84710 /* MacroAssemblerX86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MacroAssemblerX86_64.h; sourceTree = "<group>"; };
    752753                860161E20F3A83C100F84710 /* MacroAssemblerX86Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MacroAssemblerX86Common.h; sourceTree = "<group>"; };
     754                8626BECE11928E3900782FAB /* StringStatics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StringStatics.cpp; path = text/StringStatics.cpp; sourceTree = "<group>"; };
    753755                863B23DF0FC60E6200703AA4 /* MacroAssemblerCodeRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MacroAssemblerCodeRef.h; sourceTree = "<group>"; };
    754756                86565740115BE3DA00291F40 /* CString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CString.cpp; path = text/CString.cpp; sourceTree = "<group>"; };
     
    17201722                                868BFA07117CEFD100B908B1 /* StringImpl.h */,
    17211723                                86B99AE2117E578100DF5A90 /* StringImplBase.h */,
     1724                                8626BECE11928E3900782FAB /* StringStatics.cpp */,
    17221725                                868BFA15117CF19900B908B1 /* WTFString.cpp */,
    17231726                                868BFA16117CF19900B908B1 /* WTFString.h */,
     
    25842587                                A7386555118697B400540279 /* ThunkGenerators.cpp in Sources */,
    25852588                                A75706DE118A2BCF0057F88F /* JITArithmetic32_64.cpp in Sources */,
     2589                                8626BECF11928E3900782FAB /* StringStatics.cpp in Sources */,
    25862590                                A71236E51195F33C00BD2174 /* JITOpcodes32_64.cpp in Sources */,
    25872591                        );
Note: See TracChangeset for help on using the changeset viewer.