Ignore:
Timestamp:
Apr 14, 2022, 10:55:19 AM (3 years ago)
Author:
Chris Dumez
Message:

Drop inefficient String::append() overloads
https://bugs.webkit.org/show_bug.cgi?id=239289

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • heap/HeapSnapshotBuilder.cpp:

(JSC::HeapSnapshotBuilder::json):

  • runtime/IntlObject.cpp:

(JSC::resolveLocale):

  • runtime/TemporalObject.cpp:

(JSC::ellipsizeAt):

  • tools/FunctionOverrides.cpp:

(JSC::initializeOverrideInfo):
(JSC::parseClause):

Source/WebCore:

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::loggingString const):

  • Modules/indexeddb/IDBKeyRangeData.cpp:

(WebCore::IDBKeyRangeData::loggingString const):

  • Modules/indexeddb/shared/IDBIndexInfo.cpp:

(WebCore::IDBIndexInfo::loggingString const):

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::trimInputSample):

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):

  • dom/CharacterData.cpp:

(WebCore::CharacterData::parserAppendData):

  • dom/Text.cpp:

(WebCore::appendTextRepresentation):

  • dom/ViewportArguments.cpp:

(WebCore::viewportErrorMessage):

  • editing/markup.cpp:

(WebCore::fillContainerFromString):

  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
(WebCore::FTPDirectoryDocumentParser::append):
(WebCore::FTPDirectoryDocumentParser::finish):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getActiveUniform):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::checkAndStoreStyleSheet):

  • html/track/WebVTTParser.h:
  • inspector/InspectorOverlay.cpp:

(WebCore::truncateWithEllipsis):

  • inspector/InspectorOverlayLabel.cpp:

(WebCore::InspectorOverlayLabel::draw):

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode):

  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::scrollingStateTreeAsText const):

  • platform/graphics/HEVCUtilities.cpp:

(WebCore::createHEVCCodecParametersString):

  • platform/network/HTTPParsers.cpp:

(WebCore::trimInputSample):

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::CurlCacheEntry):
(WebCore::CurlCacheEntry::saveResponseHeaders):

  • platform/network/curl/CurlCacheManager.cpp:

(WebCore::CurlCacheManager::setCacheDirectory):

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::addExtraNetworkLoadMetrics):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):

Source/WebKit:

  • Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::populateSandboxInitializationParameters):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::setSuggestedFilename):

Source/WebKitLegacy/win:

  • WebDownload.cpp:

(WebDownload::bundlePathForTargetPath):

Source/WTF:

  • wtf/Assertions.cpp:
  • wtf/text/StringBuilder.h:

(WTF::StringBuilder::append):

  • wtf/text/WTFString.cpp:

(WTF::String::insert):
(WTF::String::append):

  • wtf/text/WTFString.h:

Tools:

  • TestWebKitAPI/Tests/WTF/FileSystem.cpp:

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WTF/StringBuilder.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didReceiveAuthenticationChallenge):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/tools/FunctionOverrides.cpp

    r291800 r292879  
    136136    String origHeader = origProviderStr.substring(origFunctionStart, headerLength);
    137137
    138     String newProviderStr;
    139     newProviderStr.append(origHeader);
    140     newProviderStr.append(newBody);
     138    String newProviderString = makeString(origHeader, newBody);
    141139
    142140    auto overridden = "<overridden>"_s;
    143141    URL url({ }, overridden);
    144     Ref<SourceProvider> newProvider = StringSourceProvider::create(newProviderStr, SourceOrigin { url }, overridden);
     142    Ref<SourceProvider> newProvider = StringSourceProvider::create(newProviderString, SourceOrigin { url }, overridden);
    145143
    146144    info.firstLine = 1;
     
    148146    info.startColumn = 1;
    149147    info.endColumn = 1; // Faking it. This doesn't really matter for now.
    150     info.parametersStartOffset = newProviderStr.find('(');
    151     info.typeProfilingStartOffset = newProviderStr.find('{');
    152     info.typeProfilingEndOffset = newProviderStr.length() - 1;
     148    info.parametersStartOffset = newProviderString.find('(');
     149    info.typeProfilingStartOffset = newProviderString.find('{');
     150    info.typeProfilingEndOffset = newProviderString.length() - 1;
    153151
    154152    info.sourceCode =
     
    226224        FAIL_WITH_ERROR(SYNTAX_ERROR, ("Delimiter '", delimiter, "' cannot have '{', '}', or whitespace:\n", line, "\n"));
    227225   
    228     String terminatorString;
    229     terminatorString.append('}');
    230     terminatorString.append(delimiter);
    231 
    232     CString terminatorCString = terminatorString.ascii();
     226    CString terminatorCString = makeString('}', delimiter).ascii();
    233227    const char* terminator = terminatorCString.data();
    234228    line = delimiterEnd; // Start from the {.
Note: See TracChangeset for help on using the changeset viewer.