1. 13 Jan, 2014 1 commit
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r161840. · 585639b3
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/161840
      https://bugs.webkit.org/show_bug.cgi?id=126870
      
      Caused jsscore and layout test failures (Requested by smfr on
      #webkit).
      
      Source/JavaScriptCore:
      
      * API/JSValueRef.cpp:
      (JSValueMakeFromJSONString):
      * bindings/ScriptValue.cpp:
      (Deprecated::jsToInspectorValue):
      * inspector/InspectorValues.cpp:
      * runtime/DatePrototype.cpp:
      (JSC::formatLocaleDate):
      * runtime/Identifier.h:
      (JSC::Identifier::characters):
      * runtime/JSStringBuilder.h:
      (JSC::JSStringBuilder::append):
      
      Source/WebCore:
      
      * bindings/objc/WebScriptObject.mm:
      (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
      * editing/CompositeEditCommand.cpp:
      (WebCore::containsOnlyWhitespace):
      * editing/TypingCommand.cpp:
      (WebCore::TypingCommand::insertText):
      * editing/VisibleUnits.cpp:
      (WebCore::startOfParagraph):
      (WebCore::endOfParagraph):
      * html/parser/HTMLParserIdioms.cpp:
      (WebCore::stripLeadingAndTrailingHTMLSpaces):
      (WebCore::parseHTMLNonNegativeInteger):
      * inspector/ContentSearchUtils.cpp:
      (WebCore::ContentSearchUtils::createSearchRegexSource):
      * inspector/InspectorStyleSheet.cpp:
      (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
      * inspector/InspectorStyleTextEditor.cpp:
      (WebCore::InspectorStyleTextEditor::insertProperty):
      (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
      * platform/Length.cpp:
      (WebCore::newCoordsArray):
      * platform/LinkHash.cpp:
      (WebCore::visitedLinkHash):
      * platform/graphics/Color.cpp:
      (WebCore::Color::parseHexColor):
      (WebCore::Color::Color):
      * platform/graphics/TextRun.h:
      (WebCore::TextRun::TextRun):
      * platform/text/TextEncodingRegistry.cpp:
      (WebCore::atomicCanonicalTextEncodingName):
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::constructTextRun):
      * rendering/RenderCombineText.cpp:
      (WebCore::RenderCombineText::width):
      * svg/SVGFontElement.cpp:
      (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
      * xml/XPathFunctions.cpp:
      (WebCore::XPath::FunId::evaluate):
      * xml/XPathNodeSet.h:
      
      Source/WTF:
      
      * wtf/text/StringImpl.cpp:
      (WTF::StringImpl::replace):
      * wtf/text/WTFString.h:
      (WTF::String::isAllSpecialCharacters):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161861 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      585639b3
  2. 12 Jan, 2014 1 commit
    • darin@apple.com's avatar
      Reduce use of String::characters · 91c6d311
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126854
      
      Reviewed by Sam Weinig.
      
      Source/JavaScriptCore:
      
      * API/JSValueRef.cpp:
      (JSValueMakeFromJSONString): Use characters16 instead of characters for 16-bit case.
      Had to remove length check because an empty string could be either 8 bit or 16 bit.
      Don't need a null string check before calling is8Bit because JSStringRef can't hold
      a null string.
      
      * bindings/ScriptValue.cpp:
      (Deprecated::jsToInspectorValue): Use the existing string here instead of creating
      a new one by calling characters and length on the old string. I think this may be
      left over from when string types were not the same in JavaScriptCore and WebCore.
      Also rewrite the property names loop to use modern for syntax and fewer locals.
      
      * inspector/InspectorValues.cpp:
      (Inspector::escapeChar): Changed to use appendLiteral instead of hard-coding string
      lengths. Moved handling of "<" and ">" in here instead of at the call site.
      (Inspector::doubleQuoteString): Simplify the code so there is no use of characters
      and length. This is still an inefficient way of doing this job and could use a rethink.
      
      * runtime/DatePrototype.cpp:
      (JSC::formatLocaleDate): Use RetainPtr, createCFString, and the conversion from
      CFStringRef to WTF::String to remove a lot of unneeded code.
      
      * runtime/Identifier.h: Removed unneeded Identifier::characters function.
      
      * runtime/JSStringBuilder.h:
      (JSC::JSStringBuilder::append): Use characters16 instead of characters function here,
      since we have already checked is8Bit above.
      
      Source/WebCore:
      
      * bindings/objc/WebScriptObject.mm:
      (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
      Get rid of unneeded code to turn a WTF::String into an NSString, since that's
      built into the WTF::String class.
      
      * editing/CompositeEditCommand.cpp:
      (WebCore::containsOnlyWhitespace): Use WTF::String's [] operator instead of
      an explicit call to the characters function. Small performance cost.
      * editing/TypingCommand.cpp:
      (WebCore::TypingCommand::insertText): Ditto.
      
      * editing/VisibleUnits.cpp:
      (WebCore::startOfParagraph): Use reverseFind instead of writing our own loop.
      (WebCore::endOfParagraph): Use find instead of writing our own loop.
      
      * html/parser/HTMLParserIdioms.cpp:
      (WebCore::stripLeadingAndTrailingHTMLSpaces): Use characters16 instead of
      characters since we have already checked is8Bit.
      (WebCore::parseHTMLNonNegativeInteger): Ditto. Replace the length check with
      a check of isNull since a zero length string could be 8 bit, but it's not
      safe to call is8Bit on a null WTF::String. (That should probably be fixed.)
      
      * inspector/ContentSearchUtils.cpp:
      (WebCore::ContentSearchUtils::createSearchRegexSource): Use StringBuilder
      instead of String in code that builds up a string one character at a time.
      The old way was ridiculously slow because it allocated a new string for every
      character; the new way still isn't all that efficient, but it's better. Also
      changed to use strchr instead of WTF::String::find for special characters.
      
      * inspector/InspectorStyleSheet.cpp:
      (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): Use WTF::String's
      [] operator instead of an explicit call to the characters function.
      * inspector/InspectorStyleTextEditor.cpp:
      (WebCore::InspectorStyleTextEditor::insertProperty): Ditto.
      (WebCore::InspectorStyleTextEditor::internalReplaceProperty): Ditto.
      * platform/Length.cpp:
      (WebCore::newCoordsArray): Ditto.
      
      * platform/LinkHash.cpp:
      (WebCore::visitedLinkHash): Use characters16 instead of characters since
      we have already checked is8Bit. Replace the length check with a check of
      isNull (as above in parseHTMLNonNegativeInteger).
      
      * platform/graphics/Color.cpp:
      (WebCore::Color::parseHexColor): Use characters16 since we already checked is8Bit.
      (WebCore::Color::Color): Ditto.
      
      * platform/graphics/TextRun.h:
      (WebCore::TextRun::TextRun): Use characters16 instead of characters since
      we have already checked is8Bit. Replace the length check with a check of
      isNull (as above in parseHTMLNonNegativeInteger).
      
      * platform/text/TextEncodingRegistry.cpp:
      (WebCore::atomicCanonicalTextEncodingName): Use characters16 instead of
      characters since we already checked is8Bit. Also use isEmpty instead of !length.
      
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::constructTextRun): Use characters16 instead of characters
      since we have already checked is8Bit. Replace the length check with a check of
      isNull (as above in parseHTMLNonNegativeInteger).
      
      * rendering/RenderCombineText.cpp:
      (WebCore::RenderCombineText::width): Check for zero length instead of checking
      for null characters.
      
      * svg/SVGFontElement.cpp:
      (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Rewrite ligatures
      for loop and give local variables a better name. Construct the substring with
      the substring function. Still a really inefficient approach -- allocating a new
      string for every character is absurdly expensive.
      
      * xml/XPathFunctions.cpp:
      (WebCore::XPath::FunId::evaluate): Use String instead of StringBuilder. Still
      not all that efficient, but better than before. Use substring to construct the
      substring.
      
      * xml/XPathNodeSet.h: Added begin and end functions so we can use a C++11 for
      loop with this class.
      
      Source/WTF:
      
      * wtf/text/StringImpl.cpp:
      (WTF::StringImpl::replace): Use characters16 here since is8Bit was already checked.
      * wtf/text/WTFString.h:
      (WTF::String::isAllSpecialCharacters): Use characters16 here since is8Bit was
      already checked. Also renamed "len" to "length".
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161840 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      91c6d311
  3. 08 Apr, 2013 1 commit
    • oliver@apple.com's avatar
      Add bounds checking for WTF::Vector::operator[] · 4e3f9653
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=89600
      
      Reviewed by Filip Pizlo.
      
      Source/JavaScriptCore:
      
      Make a few JSC classes opt-out of release mode bounds checking.
      
      * assembler/AssemblerBuffer.h:
      (AssemblerBuffer):
      * assembler/AssemblerBufferWithConstantPool.h:
      (AssemblerBufferWithConstantPool):
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::CodeBlock):
      (JSC::CodeBlock::bytecodeOffset):
      (JSC):
      (JSC::replaceExistingEntries):
      * bytecode/CodeBlock.h:
      (JSC::CodeBlock::bytecodeOffsetForCallAtIndex):
      (JSC::CodeBlock::callReturnIndexVector):
      (JSC::CodeBlock::codeOrigins):
      (RareData):
      * bytecode/UnlinkedCodeBlock.h:
      (JSC::UnlinkedEvalCodeBlock::adoptVariables):
      (UnlinkedEvalCodeBlock):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::BytecodeGenerator):
      (JSC::BytecodeGenerator::emitNewArray):
      (JSC::BytecodeGenerator::emitCall):
      (JSC::BytecodeGenerator::emitConstruct):
      * bytecompiler/BytecodeGenerator.h:
      (CallArguments):
      (JSC::BytecodeGenerator::instructions):
      (BytecodeGenerator):
      * bytecompiler/StaticPropertyAnalysis.h:
      (JSC::StaticPropertyAnalysis::create):
      (JSC::StaticPropertyAnalysis::StaticPropertyAnalysis):
      (StaticPropertyAnalysis):
      * bytecompiler/StaticPropertyAnalyzer.h:
      (StaticPropertyAnalyzer):
      (JSC::StaticPropertyAnalyzer::StaticPropertyAnalyzer):
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::link):
      * parser/ASTBuilder.h:
      (ASTBuilder):
      * runtime/ArgList.h:
      (MarkedArgumentBuffer):
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncSort):
      
      Source/WebCore:
      
      Fix exports
      
      * WebCore.exp.in:
      
      Source/WTF:
      
      Add a template parameter to Vector<> that controls whether
      bounds checking is performed in release builds or not.
      Defaults to crashing on overflow.
      
      * wtf/Forward.h:
      (WTF):
      * wtf/Vector.h:
      (WTF):
      (Vector):
      (WTF::Vector::at):
      (WTF::Vector::removeLast):
      (WTF::::Vector):
      (WTF::=):
      (WTF::::contains):
      (WTF::::find):
      (WTF::::reverseFind):
      (WTF::::fill):
      (WTF::::appendRange):
      (WTF::::expandCapacity):
      (WTF::::tryExpandCapacity):
      (WTF::::resize):
      (WTF::::shrink):
      (WTF::::grow):
      (WTF::::reserveCapacity):
      (WTF::::tryReserveCapacity):
      (WTF::::reserveInitialCapacity):
      (WTF::::shrinkCapacity):
      (WTF::::append):
      (WTF::::tryAppend):
      (WTF::::appendSlowCase):
      (WTF::::uncheckedAppend):
      (WTF::::appendVector):
      (WTF::::insert):
      (WTF::::prepend):
      (WTF::::remove):
      (WTF::::reverse):
      (WTF::::releaseBuffer):
      (WTF::::checkConsistency):
      (WTF::deleteAllValues):
      (WTF::swap):
      (WTF::operator==):
      (WTF::operator!=):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e3f9653
  4. 30 Aug, 2012 1 commit
    • benjamin@webkit.org's avatar
      Replace JSC::UString by WTF::String · cff06e46
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=95271
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-30
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore: 
      
      Having JSC::UString and WTF::String increase the complexity of working on WebKit, and
      add useless conversions in the bindings. It also cause some code bloat.
      
      The performance advantages of UString have been ported over in previous patches. This patch
      is the last step: getting rid of UString.
      
      In addition to the simplified code, this also reduce the binary size by 15kb on x86_64.
      
      * API/OpaqueJSString.cpp:
      (OpaqueJSString::ustring):
      * runtime/Identifier.h:
      (JSC::Identifier::ustring):
      To avoid changing everything at once, the function named ustring() were kept as is. They
      will be renamed in a follow up patch.
      
      * runtime/JSString.h:
      (JSC::JSString::string):
      (JSC::JSValue::toWTFString):
      (JSC::inlineJSValueNotStringtoString):
      (JSC::JSValue::toWTFStringInline):
      Since JSValue::toString() already exist (and return the JSString), the direct accessor is renamed
      to ::toWTFString(). We may change ::string() to ::jsString() and ::toWTFString() to ::toString()
      in the future.
      
      * runtime/StringPrototype.cpp:
      (JSC::substituteBackreferencesSlow): Replace the use of UString::getCharacters<>() by String::getCharactersWithUpconvert<>().
      
      Source/WebCore: 
      
      Update the code to use String instead of UString.
      
      On x86_64, this reduces the binary size by 22kb.
      
      Since it is no longer possible to differenciate JSC::jsString() and WebCore::jsString() by the input
      types, WebCore::jsString() is renated to WebCore::jsStringWithCache().
      
      Since the cache is using a PtrHash, JSC::jsString() is used in place of the old WebCore::jsString() when
      the string is generated locally. This is because the cache can never match in those cases.
      
      Source/WebKit/blackberry: 
      
      Replace UString by String.
      
      * WebCoreSupport/ClientExtension.cpp:
      * WebCoreSupport/PagePopupBlackBerry.cpp:
      (WebCore::PagePopupBlackBerry::installDomFunction):
      
      Source/WebKit/efl: 
      
      Replace UString by String.
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      (DumpRenderTreeSupportEfl::sendWebIntentResponse):
      * ewk/ewk_frame.cpp:
      (ewk_frame_script_execute):
      
      Source/WebKit/gtk: 
      
      Replace UString by String.
      
      * gdom/ConvertToGCharPrivate.h:
      (copyAsGchar):
      
      Source/WebKit/mac: 
      
      Get rid of UString, replace it by String, and simplify the code when possible.
      
      On x86_64, this reduces the binary size by 7kb.
      
      * Plugins/Hosted/NetscapePluginHostProxy.mm:
      (identifierFromIdentifierRep):
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::addValueToArray):
      (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
      * Plugins/Hosted/ProxyInstance.mm:
      (WebKit::ProxyRuntimeMethod::create):
      (WebKit::ProxyRuntimeMethod::finishCreation):
      (WebKit::ProxyInstance::getPropertyNames):
      (WebKit::ProxyInstance::methodsNamed):
      (WebKit::ProxyInstance::fieldNamed):
      * WebView/WebFrame.mm:
      (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
      (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
      * WebView/WebScriptDebugDelegate.mm:
      (-[WebScriptCallFrame functionName]):
      (-[WebScriptCallFrame evaluateWebScript:]):
      * WebView/WebScriptDebugger.h:
      (WTF):
      (JSC):
      (WebScriptDebugger):
      * WebView/WebScriptDebugger.mm:
      (toNSURL):
      (WebScriptDebugger::sourceParsed):
      * WebView/WebView.mm:
      (aeDescFromJSValue):
      
      Source/WebKit/qt: 
      
      Replace UString by String.
      
      * Api/qwebelement.cpp:
      (QWebElement::evaluateJavaScript):
      
      Source/WebKit/win: 
      
      Replace UString by String.
      
      * WebFrame.cpp:
      (WebFrame::stringByEvaluatingJavaScriptInScriptWorld):
      * WebView.cpp:
      (WebView::stringByEvaluatingJavaScriptFromString):
      
      Source/WebKit/wx: 
      
      Update the #includes to use the correct types.
      
      * WebFrame.cpp:
      * WebView.cpp:
      
      Source/WebKit2: 
      
      Update to code to switch from UString to String.
      
      * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
      (WebKit::JSNPMethod::finishCreation):
      * WebProcess/Plugins/Netscape/JSNPMethod.h:
      (WebKit::JSNPMethod::create):
      (JSNPMethod):
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
      (WebKit::npIdentifierFromIdentifier):
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
      (WebKit::NPRuntimeObjectMap::evaluate):
      (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
      
      Source/WTF: 
      
      * wtf/Platform.h: Useless edit to force a full build. This is needed for some bots for some reason.
      * wtf/text/WTFString.h: Export a symbol that was exported on UString and needed in WebCore.
      
      Add String::getCharactersWithUpconvert<>(), which is similar to String::getCharacters<>() but with the same
      behaviors as UString::getCharacters<>().
      
      String::getCharactersWithUpconvert<>() is useful when manipulating multiple strings, it allow writting code
      using 16bits characters if any of the input String is not 8bit.
      
      Tools: 
      
      Get rid of UString.
      
      * DumpRenderTree/efl/WorkQueueItemEfl.cpp:
      * gdb/webkit.py:
      (WTFStringPrinter.to_string):
      (JSCIdentifierPrinter.to_string):
      (JSCJSStringPrinter.to_string):
      (add_pretty_printers):
      
      Websites/webkit.org: 
      
      Update the coding style to avoid mentioning a class that no longer exist.
      
      * coding/coding-style.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cff06e46
  5. 07 Mar, 2012 1 commit
    • eric@webkit.org's avatar
      Make WTF public headers use fully-qualified include paths and remove ForwardingHeaders/wtf · 3979f2d4
      eric@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=80363
      
      Reviewed by Mark Rowe.
      
      Source/JavaScriptCore:
      
      Historically WTF has been part of JavaScriptCore, and on Mac and Windows
      its headers have appeared as part of the "private" headers exported by
      JavaScriptCore.  All of the WTF headers there are "flattened" into a single
      private headers directory, and WebCore, WebKit and WebKit2 have used "ForwardingHeaders"
      to re-map fully-qualified <wtf/text/Foo.h> includes to simple <JavaScriptCore/Foo.h> includes.
      
      However, very soon, we are moving the WTF source code out of JavaScriptCore into its
      own directory and project.  As part of such, the WTF headers will no longer be part of
      the JavaScriptCore private interfaces.
      In preparation for that, this change makes both the Mac and Win builds export
      WTF headers in a non-flattened manner.  On Mac, that means into usr/local/include/wtf
      (and subdirectories), on Windows for now that means JavaScriptCore/wtf (and subdirectories).
      
      There are 5 parts to this change.
      1.  Updates the JavaScriptCore XCode and VCProj files to actually install these headers
          (and header directories) into the appropriate places in the build directory.
      2.  Updates JavaScriptCore.xcodeproj to look for these WTF headers in this install location
          (WebCore, WebKit, etc. had already been taught to look in previous patches).
      3.  Fixes all JavaScriptCore source files, and WTF headers to include WTF headers
          using fully qualified paths.
      4.  Stops the Mac and Win builds from installing these WTF headers in their old "flattened" location.
      5.  Removes WebCore and WebKit ForwardingHeaders/wtf directories now that the flattened headers no longer exist.
      
      Unfortunately we see no way to do this change in smaller parts, since all of these steps are interdependant.
      It is possible there are internal Apple projects which depend on JavaScriptCore/Foo.h working for WTF
      headers, those will have to be updated to use <wtf/Foo.h> after this change.
      I've discussed this proposed change at length with Mark Rowe, and my understanding is they
      are ready for (and interested in) this change happening.
      
      * API/tests/JSNode.c:
      * API/tests/JSNodeList.c:
      * Configurations/Base.xcconfig:
      * JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * assembler/MacroAssemblerCodeRef.h:
      * bytecompiler/BytecodeGenerator.h:
      * dfg/DFGOperations.cpp:
      * heap/GCAssertions.h:
      * heap/HandleHeap.h:
      * heap/HandleStack.h:
      * heap/MarkedSpace.h:
      * heap/PassWeak.h:
      * heap/Strong.h:
      * heap/Weak.h:
      * jit/HostCallReturnValue.cpp:
      * jit/JIT.cpp:
      * jit/JITStubs.cpp:
      * jit/ThunkGenerators.cpp:
      * parser/Lexer.cpp:
      * runtime/Completion.cpp:
      * runtime/Executable.cpp:
      * runtime/Identifier.h:
      * runtime/InitializeThreading.cpp:
      * runtime/JSDateMath.cpp:
      * runtime/JSGlobalObjectFunctions.cpp:
      * runtime/JSStringBuilder.h:
      * runtime/JSVariableObject.h:
      * runtime/NumberPrototype.cpp:
      * runtime/WriteBarrier.h:
      * tools/CodeProfile.cpp:
      * tools/TieredMMapArray.h:
      * wtf/AVLTree.h:
      * wtf/Alignment.h:
      * wtf/AlwaysInline.h:
      * wtf/ArrayBufferView.h:
      * wtf/Assertions.h:
      * wtf/Atomics.h:
      * wtf/Bitmap.h:
      * wtf/BoundsCheckedPointer.h:
      * wtf/CheckedArithmetic.h:
      * wtf/Deque.h:
      * wtf/ExportMacros.h:
      * wtf/FastAllocBase.h:
      * wtf/FastMalloc.h:
      * wtf/Float32Array.h:
      * wtf/Float64Array.h:
      * wtf/Functional.h:
      * wtf/HashCountedSet.h:
      * wtf/HashFunctions.h:
      * wtf/HashMap.h:
      * wtf/HashSet.h:
      * wtf/HashTable.h:
      * wtf/HashTraits.h:
      * wtf/Int16Array.h:
      * wtf/Int32Array.h:
      * wtf/Int8Array.h:
      * wtf/IntegralTypedArrayBase.h:
      * wtf/ListHashSet.h:
      * wtf/MainThread.h:
      * wtf/MetaAllocator.h:
      * wtf/Noncopyable.h:
      * wtf/OwnArrayPtr.h:
      * wtf/OwnPtr.h:
      * wtf/PackedIntVector.h:
      * wtf/ParallelJobs.h:
      * wtf/PassOwnArrayPtr.h:
      * wtf/PassOwnPtr.h:
      * wtf/PassRefPtr.h:
      * wtf/PassTraits.h:
      * wtf/Platform.h:
      * wtf/PossiblyNull.h:
      * wtf/RefCounted.h:
      * wtf/RefCountedLeakCounter.h:
      * wtf/RefPtr.h:
      * wtf/RetainPtr.h:
      * wtf/SimpleStats.h:
      * wtf/Spectrum.h:
      * wtf/StdLibExtras.h:
      * wtf/TCPageMap.h:
      * wtf/TemporaryChange.h:
      * wtf/ThreadSafeRefCounted.h:
      * wtf/Threading.h:
      * wtf/ThreadingPrimitives.h:
      * wtf/TypeTraits.h:
      * wtf/TypedArrayBase.h:
      * wtf/Uint16Array.h:
      * wtf/Uint32Array.h:
      * wtf/Uint8Array.h:
      * wtf/Uint8ClampedArray.h:
      * wtf/UnusedParam.h:
      * wtf/Vector.h:
      * wtf/VectorTraits.h:
      * wtf/dtoa/double-conversion.h:
      * wtf/dtoa/utils.h:
      * wtf/gobject/GRefPtr.h:
      * wtf/gobject/GlibUtilities.h:
      * wtf/text/AtomicString.h:
      * wtf/text/AtomicStringImpl.h:
      * wtf/text/CString.h:
      * wtf/text/StringConcatenate.h:
      * wtf/text/StringHash.h:
      * wtf/text/WTFString.h:
      * wtf/unicode/CharacterNames.h:
      * wtf/unicode/UTF8.h:
      * wtf/unicode/glib/UnicodeGLib.h:
      * wtf/unicode/qt4/UnicodeQt4.h:
      * wtf/unicode/wince/UnicodeWinCE.h:
      * wtf/url/api/ParsedURL.h:
      * wtf/url/api/URLString.h:
      * wtf/wince/FastMallocWinCE.h:
      * yarr/YarrJIT.cpp:
      
      Source/WebCore:
      
      ForwardingHeaders/wtf is no longer needed (or functional) now that
      JavaScriptCore no longer includes the WTF headers as private headers.
      
      * DerivedSources.make:
      * ForwardingHeaders/wtf/ASCIICType.h: Removed.
      * ForwardingHeaders/wtf/AVLTree.h: Removed.
      * ForwardingHeaders/wtf/Alignment.h: Removed.
      * ForwardingHeaders/wtf/AlwaysInline.h: Removed.
      * ForwardingHeaders/wtf/ArrayBuffer.h: Removed.
      * ForwardingHeaders/wtf/ArrayBufferView.h: Removed.
      * ForwardingHeaders/wtf/Assertions.h: Removed.
      * ForwardingHeaders/wtf/Atomics.h: Removed.
      * ForwardingHeaders/wtf/Bitmap.h: Removed.
      * ForwardingHeaders/wtf/BloomFilter.h: Removed.
      * ForwardingHeaders/wtf/BumpPointerAllocator.h: Removed.
      * ForwardingHeaders/wtf/ByteArray.h: Removed.
      * ForwardingHeaders/wtf/CheckedArithmetic.h: Removed.
      * ForwardingHeaders/wtf/CheckedBoolean.h: Removed.
      * ForwardingHeaders/wtf/Compiler.h: Removed.
      * ForwardingHeaders/wtf/Complex.h: Removed.
      * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Removed.
      * ForwardingHeaders/wtf/CurrentTime.h: Removed.
      * ForwardingHeaders/wtf/DataLog.h: Removed.
      * ForwardingHeaders/wtf/DateInstanceCache.h: Removed.
      * ForwardingHeaders/wtf/DateMath.h: Removed.
      * ForwardingHeaders/wtf/DecimalNumber.h: Removed.
      * ForwardingHeaders/wtf/Decoder.h: Removed.
      * ForwardingHeaders/wtf/Deque.h: Removed.
      * ForwardingHeaders/wtf/DisallowCType.h: Removed.
      * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
      * ForwardingHeaders/wtf/DynamicAnnotations.h: Removed.
      * ForwardingHeaders/wtf/Encoder.h: Removed.
      * ForwardingHeaders/wtf/ExportMacros.h: Removed.
      * ForwardingHeaders/wtf/FastAllocBase.h: Removed.
      * ForwardingHeaders/wtf/FastMalloc.h: Removed.
      * ForwardingHeaders/wtf/FixedArray.h: Removed.
      * ForwardingHeaders/wtf/Float32Array.h: Removed.
      * ForwardingHeaders/wtf/Float64Array.h: Removed.
      * ForwardingHeaders/wtf/Forward.h: Removed.
      * ForwardingHeaders/wtf/Functional.h: Removed.
      * ForwardingHeaders/wtf/GetPtr.h: Removed.
      * ForwardingHeaders/wtf/HashCountedSet.h: Removed.
      * ForwardingHeaders/wtf/HashFunctions.h: Removed.
      * ForwardingHeaders/wtf/HashMap.h: Removed.
      * ForwardingHeaders/wtf/HashSet.h: Removed.
      * ForwardingHeaders/wtf/HashTable.h: Removed.
      * ForwardingHeaders/wtf/HashTraits.h: Removed.
      * ForwardingHeaders/wtf/HexNumber.h: Removed.
      * ForwardingHeaders/wtf/Int16Array.h: Removed.
      * ForwardingHeaders/wtf/Int32Array.h: Removed.
      * ForwardingHeaders/wtf/Int8Array.h: Removed.
      * ForwardingHeaders/wtf/ListHashSet.h: Removed.
      * ForwardingHeaders/wtf/ListRefPtr.h: Removed.
      * ForwardingHeaders/wtf/Locker.h: Removed.
      * ForwardingHeaders/wtf/MD5.h: Removed.
      * ForwardingHeaders/wtf/MainThread.h: Removed.
      * ForwardingHeaders/wtf/MathExtras.h: Removed.
      * ForwardingHeaders/wtf/MessageQueue.h: Removed.
      * ForwardingHeaders/wtf/MetaAllocator.h: Removed.
      * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Removed.
      * ForwardingHeaders/wtf/NonCopyingSort.h: Removed.
      * ForwardingHeaders/wtf/Noncopyable.h: Removed.
      * ForwardingHeaders/wtf/NotFound.h: Removed.
      * ForwardingHeaders/wtf/OSAllocator.h: Removed.
      * ForwardingHeaders/wtf/OwnArrayPtr.h: Removed.
      * ForwardingHeaders/wtf/OwnPtr.h: Removed.
      * ForwardingHeaders/wtf/OwnPtrCommon.h: Removed.
      * ForwardingHeaders/wtf/PageAllocation.h: Removed.
      * ForwardingHeaders/wtf/PageAllocationAligned.h: Removed.
      * ForwardingHeaders/wtf/PageBlock.h: Removed.
      * ForwardingHeaders/wtf/PageReservation.h: Removed.
      * ForwardingHeaders/wtf/ParallelJobs.h: Removed.
      * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Removed.
      * ForwardingHeaders/wtf/PassOwnPtr.h: Removed.
      * ForwardingHeaders/wtf/PassRefPtr.h: Removed.
      * ForwardingHeaders/wtf/Platform.h: Removed.
      * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
      * ForwardingHeaders/wtf/RandomNumber.h: Removed.
      * ForwardingHeaders/wtf/RedBlackTree.h: Removed.
      * ForwardingHeaders/wtf/RefCounted.h: Removed.
      * ForwardingHeaders/wtf/RefCountedLeakCounter.h: Removed.
      * ForwardingHeaders/wtf/RefPtr.h: Removed.
      * ForwardingHeaders/wtf/RetainPtr.h: Removed.
      * ForwardingHeaders/wtf/SHA1.h: Removed.
      * ForwardingHeaders/wtf/SegmentedVector.h: Removed.
      * ForwardingHeaders/wtf/SimpleStats.h: Removed.
      * ForwardingHeaders/wtf/Spectrum.h: Removed.
      * ForwardingHeaders/wtf/StackBounds.h: Removed.
      * ForwardingHeaders/wtf/StaticConstructors.h: Removed.
      * ForwardingHeaders/wtf/StdLibExtras.h: Removed.
      * ForwardingHeaders/wtf/StringExtras.h: Removed.
      * ForwardingHeaders/wtf/StringHasher.h: Removed.
      * ForwardingHeaders/wtf/TemporaryChange.h: Removed.
      * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
      * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Removed.
      * ForwardingHeaders/wtf/ThreadSpecific.h: Removed.
      * ForwardingHeaders/wtf/Threading.h: Removed.
      * ForwardingHeaders/wtf/ThreadingPrimitives.h: Removed.
      * ForwardingHeaders/wtf/TypeTraits.h: Removed.
      * ForwardingHeaders/wtf/Uint16Array.h: Removed.
      * ForwardingHeaders/wtf/Uint32Array.h: Removed.
      * ForwardingHeaders/wtf/Uint8Array.h: Removed.
      * ForwardingHeaders/wtf/Uint8ClampedArray.h: Removed.
      * ForwardingHeaders/wtf/UnusedParam.h: Removed.
      * ForwardingHeaders/wtf/VMTags.h: Removed.
      * ForwardingHeaders/wtf/ValueCheck.h: Removed.
      * ForwardingHeaders/wtf/Vector.h: Removed.
      * ForwardingHeaders/wtf/VectorTraits.h: Removed.
      * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
      * ForwardingHeaders/wtf/dtoa.h: Removed.
      * ForwardingHeaders/wtf/dtoa/double-conversion.h: Removed.
      * ForwardingHeaders/wtf/text/ASCIIFastPath.h: Removed.
      * ForwardingHeaders/wtf/text/AtomicString.h: Removed.
      * ForwardingHeaders/wtf/text/AtomicStringHash.h: Removed.
      * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Removed.
      * ForwardingHeaders/wtf/text/CString.h: Removed.
      * ForwardingHeaders/wtf/text/StringBuffer.h: Removed.
      * ForwardingHeaders/wtf/text/StringBuilder.h: Removed.
      * ForwardingHeaders/wtf/text/StringConcatenate.h: Removed.
      * ForwardingHeaders/wtf/text/StringHash.h: Removed.
      * ForwardingHeaders/wtf/text/StringImpl.h: Removed.
      * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
      * ForwardingHeaders/wtf/text/WTFString.h: Removed.
      * ForwardingHeaders/wtf/unicode/CharacterNames.h: Removed.
      * ForwardingHeaders/wtf/unicode/Collator.h: Removed.
      * ForwardingHeaders/wtf/unicode/UTF8.h: Removed.
      * ForwardingHeaders/wtf/unicode/Unicode.h: Removed.
      * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Removed.
      * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Removed.
      * ForwardingHeaders/wtf/url/ParsedURL.h: Removed.
      
      Source/WebKit/mac:
      
      ForwardingHeaders/wtf is no longer necessary (or functional) now that JavaScriptCore
      no longer includes the WTF headers as private headers.
      
      * ForwardingHeaders/wtf/ASCIICType.h: Removed.
      * ForwardingHeaders/wtf/AlwaysInline.h: Removed.
      * ForwardingHeaders/wtf/Assertions.h: Removed.
      * ForwardingHeaders/wtf/Deque.h: Removed.
      * ForwardingHeaders/wtf/DisallowCType.h: Removed.
      * ForwardingHeaders/wtf/FastMalloc.h: Removed.
      * ForwardingHeaders/wtf/Forward.h: Removed.
      * ForwardingHeaders/wtf/GetPtr.h: Removed.
      * ForwardingHeaders/wtf/HashCountedSet.h: Removed.
      * ForwardingHeaders/wtf/HashMap.h: Removed.
      * ForwardingHeaders/wtf/HashSet.h: Removed.
      * ForwardingHeaders/wtf/HashTraits.h: Removed.
      * ForwardingHeaders/wtf/ListHashSet.h: Removed.
      * ForwardingHeaders/wtf/ListRefPtr.h: Removed.
      * ForwardingHeaders/wtf/Locker.h: Removed.
      * ForwardingHeaders/wtf/MathExtras.h: Removed.
      * ForwardingHeaders/wtf/Noncopyable.h: Removed.
      * ForwardingHeaders/wtf/OwnArrayPtr.h: Removed.
      * ForwardingHeaders/wtf/OwnPtr.h: Removed.
      * ForwardingHeaders/wtf/OwnPtrCommon.h: Removed.
      * ForwardingHeaders/wtf/PassOwnPtr.h: Removed.
      * ForwardingHeaders/wtf/PassRefPtr.h: Removed.
      * ForwardingHeaders/wtf/Platform.h: Removed.
      * ForwardingHeaders/wtf/RefCounted.h: Removed.
      * ForwardingHeaders/wtf/RefCountedLeakCounter.h: Removed.
      * ForwardingHeaders/wtf/RefPtr.h: Removed.
      * ForwardingHeaders/wtf/RetainPtr.h: Removed.
      * ForwardingHeaders/wtf/StdLibExtras.h: Removed.
      * ForwardingHeaders/wtf/TemporaryChange.h: Removed.
      * ForwardingHeaders/wtf/Threading.h: Removed.
      * ForwardingHeaders/wtf/UnusedParam.h: Removed.
      * ForwardingHeaders/wtf/VMTags.h: Removed.
      * ForwardingHeaders/wtf/ValueCheck.h: Removed.
      * ForwardingHeaders/wtf/Vector.h: Removed.
      * ForwardingHeaders/wtf/VectorTraits.h: Removed.
      * ForwardingHeaders/wtf/unicode/Unicode.h: Removed.
      * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3979f2d4
  6. 06 Mar, 2012 2 commits
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r109837. · cbcd594c
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/109837
      https://bugs.webkit.org/show_bug.cgi?id=80399
      
      breaks Mac Productions builds, too late to try and fix it
      tonight (Requested by eseidel on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-06
      
      Source/JavaScriptCore:
      
      * API/tests/JSNode.c:
      * API/tests/JSNodeList.c:
      * Configurations/Base.xcconfig:
      * JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * assembler/MacroAssemblerCodeRef.h:
      * bytecompiler/BytecodeGenerator.h:
      * dfg/DFGOperations.cpp:
      * heap/GCAssertions.h:
      * heap/HandleHeap.h:
      * heap/HandleStack.h:
      * heap/MarkedSpace.h:
      * heap/PassWeak.h:
      * heap/Strong.h:
      * heap/Weak.h:
      * jit/HostCallReturnValue.cpp:
      * jit/JIT.cpp:
      * jit/JITStubs.cpp:
      * jit/ThunkGenerators.cpp:
      * parser/Lexer.cpp:
      * runtime/Completion.cpp:
      * runtime/Executable.cpp:
      * runtime/Identifier.h:
      * runtime/InitializeThreading.cpp:
      * runtime/JSDateMath.cpp:
      * runtime/JSGlobalObjectFunctions.cpp:
      * runtime/JSStringBuilder.h:
      * runtime/JSVariableObject.h:
      * runtime/NumberPrototype.cpp:
      * runtime/WriteBarrier.h:
      * tools/CodeProfile.cpp:
      * tools/TieredMMapArray.h:
      * yarr/YarrJIT.cpp:
      
      Tools:
      
      * Scripts/build-webkit:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@109888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cbcd594c
    • eric@webkit.org's avatar
      Source/JavaScriptCore: Update JavaScriptCore files to use fully-qualified WTF include paths · 37ac49ee
      eric@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79960
      
      Reviewed by Adam Barth.
      
      This change does 5 small/related things:
       1. Updates JavaScriptCore.xcodeproj to install WTF headers into $BUILD/usr/local/include
          (WebCore, WebKit were already setup to look there, but JavaScriptCore.xcodeproj
          was not installing headers there.)
       2. Makes JavaScriptCore targets include $BUILD/usr/local/include in their
          header search path, as that's where the WTF headers will be installed.
       3. Similarly updates JavaScriptCore.vcproj/copy-files.cmd to copy WTF headers to PrivateHeaders/wtf/*
          in addition to the current behavior of flattening all headers to PrivateHeaders/*.h.
       4. Updates a bunch of JSC files to use #include <wtf/Foo.h> instead of #include "Foo.h"
          since soon the WTF headers will not be part of the JavaScriptCore Xcode project.
       5. Makes build-webkit build the WTF XCode project by default.
      
      * API/tests/JSNode.c:
      * API/tests/JSNodeList.c:
      * Configurations/Base.xcconfig:
      * assembler/MacroAssemblerCodeRef.h:
      * bytecompiler/BytecodeGenerator.h:
      * dfg/DFGOperations.cpp:
      * heap/GCAssertions.h:
      * heap/HandleHeap.h:
      * heap/HandleStack.h:
      * heap/MarkedSpace.h:
      * heap/PassWeak.h:
      * heap/Strong.h:
      * heap/Weak.h:
      * jit/HostCallReturnValue.cpp:
      * jit/JIT.cpp:
      * jit/JITStubs.cpp:
      * jit/ThunkGenerators.cpp:
      * parser/Lexer.cpp:
      * runtime/Completion.cpp:
      * runtime/Executable.cpp:
      * runtime/Identifier.h:
      * runtime/InitializeThreading.cpp:
      * runtime/JSDateMath.cpp:
      * runtime/JSGlobalObjectFunctions.cpp:
      * runtime/JSStringBuilder.h:
      * runtime/JSVariableObject.h:
      * runtime/NumberPrototype.cpp:
      * runtime/WriteBarrier.h:
      * tools/CodeProfile.cpp:
      * tools/TieredMMapArray.h:
      * yarr/YarrJIT.cpp:
      
      Tools: Update JavaScriptCore files to use fully-qualified WTF include path
      https://bugs.webkit.org/show_bug.cgi?id=79960
      
      Reviewed by Adam Barth.
      
      Build WTF/WTF.xcodeproj by default on Mac.
      
      * Scripts/build-webkit:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@109837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37ac49ee
  7. 06 Dec, 2011 1 commit
    • msaboff@apple.com's avatar
      Add 8 bit paths to global object functions · a5377942
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=73875
      
      Added 8 bit paths for converions methods.
      
      This is worth 1.5% on kraken audio-oscillator,
      1.6% on stanford-crypto-ccm and 2.5% on
      stanford-crypto-sha256-iterative.  See bug for
      a full report.
      
      Reviewed by Oliver Hunt.
      
      * runtime/JSGlobalObjectFunctions.cpp:
      (JSC::decode): Split into a templated helper.
      (JSC::parseInt): Split into a templated helper.
      (JSC::parseFloat): Added an 8 bit path
      (JSC::globalFuncEscape): Added 8 bit path
      (JSC::globalFuncUnescape): Added 8 bit path
      * runtime/JSStringBuilder.h:
      (JSC::JSStringBuilder::append): New append for LChar
      * wtf/text/StringBuilder.h:
      (WTF::StringBuilder::append): New append for LChar
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102146 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5377942
  8. 25 Nov, 2011 1 commit
  9. 02 Jan, 2011 1 commit
    • abarth@webkit.org's avatar
      Move JavaScriptCore to Source · 76da8fc1
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=51604
      
      Reviewed by Eric Seidel.
      
      Update references to JavaScriptCore to point to the new location.
      
      * Android.mk:
      * CMakeLists.txt:
      * DerivedSources.pro:
      * GNUmakefile.am:
      * Makefile:
      * WebKit.pri:
      * WebKit.pro:
      * wscript:
      
      Tools: 
      
      Update references to JavaScriptCore to point to the new location.
      
      * BuildSlaveSupport/build.webkit.org-config/master.cfg:
      * DumpRenderTree/qt/DumpRenderTree.pro:
      * DumpRenderTree/qt/ImageDiff.pro:
      * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
      * DumpRenderTree/wscript:
      * Scripts/build-jsc:
      * Scripts/build-webkit:
      * Scripts/do-file-rename:
      * Scripts/do-webcore-rename:
      * Scripts/run-javascriptcore-tests:
      * Scripts/update-javascriptcore-test-results:
      * Scripts/webkitdirs.pm:
      * Scripts/webkitpy/common/config/build_unittest.py:
      * Scripts/webkitpy/style/checker.py:
      * Scripts/webkitpy/style/checker_unittest.py:
      * Scripts/webkitpy/style/checkers/cpp_unittest.py:
      * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro:
      * WebKitTestRunner/qt/WebKitTestRunner.pro:
      * wx/build/settings.py:
      
      WebCore: 
      
      Update references to JavaScriptCore.
      
      * Android.derived.jscbindings.mk:
      * Android.v8bindings.mk:
      * CMakeLists.txt:
      * WebCore.gyp/WebCore.gyp:
      * WebCore.pro:
        - These changes are subtle and might not be 100% correct.
      * move-js-headers.sh:
      
      WebKit/chromium: 
      
      * WebKit.gyp:
        - Point to JavaScriptCore in its new location.
      
      WebKit/gtk: 
      
      * GNUmakefile.am:
      * docs/GNUmakefile.am:
        - Point to JavaScriptCore in its new location.
      
      WebKit/qt: 
      
      * WebKit_pch.h:
      * docs/qtwebkit.qdocconf:
        - Point to JavaScriptCore in its new location.
      
      WebKit/win: 
      
      * WebKit.vcproj/WebKit.sln:
        - Point to JavaScriptCore in its new location.
      
      WebKit/wx: 
      
      * bindings/python/wscript:
      * wscript:
        - Point to JavaScriptCore in its new location.
      
      WebKit2: 
      
      * WebKit2.pro:
        - Point to JavaScriptCore in its new location.
      
      Websites/bugs.webkit.org: 
      
      * PrettyPatch/PrettyPatch.rb:
        - Remove reference to JavaScriptCore as a source directory.
      
      Websites/webkit.org: 
      
      * coding/assertion-guidelines.html:
        - Update documentation to point to the new location of
          JavaScriptCore.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76da8fc1
  10. 13 Oct, 2010 1 commit
    • zimmermann@webkit.org's avatar
      2010-10-13 Nikolas Zimmermann <nzimmermann@rim.com> · 4e37bb26
      zimmermann@webkit.org authored
              Reviewed by Dirk Schulze.
      
              Add wtf/text/StringConcatenate
              https://bugs.webkit.org/show_bug.cgi?id=47584
      
              Move runtime/StringConcatenate.h to wtf/text, make it work for Strings too.
              Add a special runtime/UStringConcatenate.h class that inherits from StringConcatenate, and extends it for use with UString.
              Exactly the same design that has been followed while refactoring StringBuilder.
      
              The UString variants can all be removed as soon as WTF::String & JSC::UString converge.
      
              * GNUmakefile.am: Add wtf/text/StringConcatenate.h and runtime/UStringConcatenate.h.
              * JavaScriptCore.gypi: Ditto.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
              * JavaScriptCore.vcproj/WTF/WTF.vcproj: Ditto.
              * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
              * bytecode/CodeBlock.cpp: s/makeString/makeUString/
              (JSC::escapeQuotes):
              (JSC::valueToSourceString):
              (JSC::constantName):
              (JSC::idName):
              (JSC::CodeBlock::registerName):
              (JSC::regexpToSourceString):
              (JSC::regexpName):
              * bytecompiler/NodesCodegen.cpp: Ditto.
              (JSC::substitute):
              * profiler/Profiler.cpp: Ditto.
              (JSC::Profiler::createCallIdentifier):
              * runtime/ExceptionHelpers.cpp: Ditto.
              (JSC::createUndefinedVariableError):
              (JSC::createErrorMessage):
              (JSC::createInvalidParamError):
              * runtime/FunctionConstructor.cpp: Ditto.
              (JSC::constructFunction):
              * runtime/FunctionPrototype.cpp: Ditto.
              (JSC::insertSemicolonIfNeeded):
              * runtime/JSONObject.cpp: Ditto.
              (JSC::Stringifier::indent):
              * runtime/JSStringBuilder.h:
              (JSC::jsMakeNontrivialString):
              * runtime/RegExpConstructor.cpp: Ditto.
              (JSC::constructRegExp):
              * runtime/RegExpObject.cpp: Ditto.
              (JSC::RegExpObject::match):
              * runtime/RegExpPrototype.cpp: Ditto.
              (JSC::regExpProtoFuncCompile):
              * runtime/StringConcatenate.h: Removed.
              * runtime/UStringConcatenate.h: Added. Only contains the StringTypeAdapter<JSC::UString> code and the makeUString variants, the rest lives in wtf/text/StringConcatenate.h
              (JSC::makeUString):
              * wtf/text/StringConcatenate.h: Copied from runtime/StringConcatenate.h.
              (WTF::makeString):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e37bb26
  11. 11 Aug, 2010 1 commit
    • barraclough@apple.com's avatar
      Rubber stamps by Darin Adler & Sam Weinig. · c2527d64
      barraclough@apple.com authored
      Bug 43867 - Some UString cleanup
      
      Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
      Move string concatenation methods to a new header to simplify down UString.h.  Remove is8Bit().
      
      JavaScriptCore: 
      
      * API/JSClassRef.cpp:
      (OpaqueJSClass::~OpaqueJSClass):
      (OpaqueJSClass::className):
      * API/OpaqueJSString.cpp:
      (OpaqueJSString::create):
      * JavaScriptCore.exp:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bytecode/CodeBlock.cpp:
      (JSC::constantName):
      (JSC::idName):
      (JSC::CodeBlock::registerName):
      (JSC::regexpName):
      * bytecode/EvalCodeCache.h:
      (JSC::EvalCodeCache::get):
      * bytecompiler/NodesCodegen.cpp:
      (JSC::ResolveNode::emitBytecode):
      (JSC::FunctionCallResolveNode::emitBytecode):
      (JSC::ReadModifyResolveNode::emitBytecode):
      (JSC::processClauseList):
      * parser/ASTBuilder.h:
      (JSC::ASTBuilder::createRegex):
      * parser/ParserArena.h:
      (JSC::IdentifierArena::makeNumericIdentifier):
      * parser/SourceProvider.h:
      (JSC::UStringSourceProvider::data):
      (JSC::UStringSourceProvider::length):
      * profiler/Profiler.cpp:
      * runtime/Arguments.cpp:
      (JSC::Arguments::getOwnPropertySlot):
      (JSC::Arguments::getOwnPropertyNames):
      (JSC::Arguments::put):
      (JSC::Arguments::deleteProperty):
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncToString):
      * runtime/DatePrototype.cpp:
      (JSC::formatLocaleDate):
      * runtime/ExceptionHelpers.cpp:
      * runtime/FunctionConstructor.cpp:
      * runtime/FunctionPrototype.cpp:
      (JSC::insertSemicolonIfNeeded):
      * runtime/Identifier.h:
      (JSC::Identifier::characters):
      (JSC::Identifier::length):
      * runtime/JSGlobalObjectFunctions.cpp:
      (JSC::decode):
      (JSC::parseInt):
      (JSC::parseFloat):
      (JSC::globalFuncEscape):
      (JSC::globalFuncUnescape):
      * runtime/JSNumberCell.cpp:
      (JSC::JSNumberCell::toString):
      * runtime/JSONObject.cpp:
      (JSC::gap):
      (JSC::Stringifier::appendQuotedString):
      (JSC::Stringifier::appendStringifiedValue):
      (JSC::Stringifier::indent):
      (JSC::Stringifier::unindent):
      (JSC::Walker::walk):
      * runtime/JSString.cpp:
      (JSC::JSString::replaceCharacter):
      (JSC::JSString::getIndexSlowCase):
      * runtime/JSString.h:
      (JSC::RopeBuilder::JSString):
      (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
      (JSC::RopeBuilder::fiberCount):
      (JSC::jsSingleCharacterSubstring):
      (JSC::jsNontrivialString):
      (JSC::JSString::getIndex):
      (JSC::jsString):
      (JSC::jsStringWithFinalizer):
      (JSC::jsSubstring):
      (JSC::jsOwnedString):
      * runtime/JSStringBuilder.h:
      (JSC::JSStringBuilder::append):
      * runtime/LiteralParser.h:
      (JSC::LiteralParser::Lexer::Lexer):
      * runtime/NumberPrototype.cpp:
      (JSC::numberProtoFuncToString):
      (JSC::numberProtoFuncToFixed):
      (JSC::numberProtoFuncToExponential):
      (JSC::numberProtoFuncToPrecision):
      * runtime/NumericStrings.h:
      (JSC::NumericStrings::add):
      (JSC::NumericStrings::lookupSmallString):
      * runtime/Operations.h:
      (JSC::jsString):
      * runtime/RegExp.cpp:
      (JSC::RegExp::match):
      * runtime/RegExpCache.cpp:
      (JSC::RegExpCache::lookupOrCreate):
      (JSC::RegExpCache::create):
      * runtime/RegExpConstructor.cpp:
      (JSC::RegExpConstructor::getRightContext):
      * runtime/RegExpObject.cpp:
      (JSC::RegExpObject::match):
      * runtime/RegExpPrototype.cpp:
      (JSC::regExpProtoFuncToString):
      * runtime/StringBuilder.h:
      (JSC::StringBuilder::append):
      * runtime/StringConcatenate.h: Copied from JavaScriptCore/runtime/UString.h.
      (JSC::):
      (JSC::sumWithOverflow):
      (JSC::tryMakeString):
      (JSC::makeString):
      * runtime/StringObject.cpp:
      (JSC::StringObject::getOwnPropertyNames):
      * runtime/StringPrototype.cpp:
      (JSC::substituteBackreferencesSlow):
      (JSC::localeCompare):
      (JSC::jsSpliceSubstringsWithSeparators):
      (JSC::stringProtoFuncReplace):
      (JSC::stringProtoFuncCharAt):
      (JSC::stringProtoFuncCharCodeAt):
      (JSC::stringProtoFuncIndexOf):
      (JSC::stringProtoFuncLastIndexOf):
      (JSC::stringProtoFuncSlice):
      (JSC::stringProtoFuncSplit):
      (JSC::stringProtoFuncSubstr):
      (JSC::stringProtoFuncSubstring):
      (JSC::stringProtoFuncToLowerCase):
      (JSC::stringProtoFuncToUpperCase):
      (JSC::stringProtoFuncFontsize):
      (JSC::stringProtoFuncLink):
      (JSC::trimString):
      * runtime/UString.cpp:
      (JSC::UString::number):
      (JSC::UString::ascii):
      (JSC::UString::operator[]):
      (JSC::UString::toDouble):
      (JSC::UString::find):
      (JSC::UString::rfind):
      (JSC::UString::substr):
      (JSC::operator==):
      (JSC::operator<):
      (JSC::operator>):
      (JSC::UString::UTF8String):
      * runtime/UString.h:
      (JSC::UString::UString):
      (JSC::UString::adopt):
      (JSC::UString::length):
      (JSC::UString::characters):
      (JSC::UString::isNull):
      (JSC::UString::isEmpty):
      (JSC::UString::impl):
      (JSC::UString::cost):
      (JSC::operator==):
      (JSC::operator!=):
      (JSC::codePointCompare):
      (JSC::UString::toArrayIndex):
      (JSC::IdentifierRepHash::hash):
      (WTF::):
      * yarr/RegexJIT.cpp:
      (JSC::Yarr::jitCompileRegex):
      * yarr/RegexParser.h:
      (JSC::Yarr::Parser::Parser):
      
      JavaScriptGlue: 
      
      * JSUtils.cpp:
      (UStringToCFString):
      (KJSValueToCFTypeInternal):
      * JavaScriptGlue.xcodeproj/project.pbxproj:
      
      WebCore: 
      
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSCSSStyleDeclarationCustom.cpp:
      (WebCore::hasCSSPropertyNamePrefix):
      (WebCore::cssPropertyName):
      * bindings/js/JSLocationCustom.cpp:
      (WebCore::JSLocation::setPort):
      * bindings/js/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::dispatchDidParseSource):
      * bindings/js/ScriptString.h:
      (WebCore::ScriptString::size):
      * bindings/js/ScriptValue.cpp:
      (WebCore::jsToInspectorValue):
      * bindings/objc/WebScriptObject.mm:
      (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
      * bridge/jni/jni_jsobject.mm:
      (JavaJSObject::convertValueToJObject):
      * bridge/jni/jsc/JNIUtilityPrivate.cpp:
      (JSC::Bindings::convertArrayInstanceToJavaArray):
      (JSC::Bindings::convertValueToJValue):
      * bridge/objc/objc_runtime.mm:
      (JSC::Bindings::callObjCFallbackObject):
      
      WebKit/mac: 
      
      * WebView/WebScriptDebugger.mm:
      (toNSString):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c2527d64
  12. 10 Aug, 2010 1 commit
    • barraclough@apple.com's avatar
      Bug 43816 - Remove UStringImpl · 4d95c9ee
      barraclough@apple.com authored
      The class was actually removed a long time ago, replaced by StringImpl.
      UStringImpl is just a typedef onto StringImpl.  Remove this.
      
      JavaScriptCore: 
      
      * API/JSClassRef.cpp:
      (OpaqueJSClass::OpaqueJSClass):
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * runtime/JSString.cpp:
      (JSC::JSString::resolveRope):
      (JSC::JSString::replaceCharacter):
      * runtime/JSString.h:
      (JSC::RopeBuilder::RopeIterator::operator*):
      (JSC::RopeBuilder::JSString):
      (JSC::RopeBuilder::appendStringInConstruct):
      (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
      (JSC::jsSingleCharacterSubstring):
      (JSC::jsSubstring):
      * runtime/JSStringBuilder.h:
      (JSC::jsMakeNontrivialString):
      * runtime/RopeImpl.cpp:
      (JSC::RopeImpl::derefFibersNonRecursive):
      * runtime/RopeImpl.h:
      (JSC::RopeImpl::deref):
      * runtime/SmallStrings.cpp:
      (JSC::SmallStringsStorage::SmallStringsStorage):
      * runtime/StringConstructor.cpp:
      (JSC::stringFromCharCodeSlowCase):
      * runtime/StringPrototype.cpp:
      (JSC::jsSpliceSubstringsWithSeparators):
      (JSC::stringProtoFuncFontsize):
      (JSC::stringProtoFuncLink):
      * runtime/UString.cpp:
      (JSC::initializeUString):
      * runtime/UString.h:
      (JSC::UString::adopt):
      (JSC::tryMakeString):
      (JSC::makeString):
      * runtime/UStringImpl.h: Removed.
      
      WebCore: 
      
      Rubber stamped by Sam Weinig.
      
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSDOMBinding.cpp:
      (WebCore::findAtomicString):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d95c9ee
  13. 22 Feb, 2010 1 commit
  14. 09 Feb, 2010 1 commit
    • barraclough@apple.com's avatar
      Rubber Stamped by Geoff Garen. · 9fb0642e
      barraclough@apple.com authored
      Rename StringBuilder::release && JSStringBuilder::releaseJSString
      to 'build()'.
      
      JavaScriptCore: 
      
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncToLocaleString):
      (JSC::arrayProtoFuncJoin):
      * runtime/Executable.cpp:
      (JSC::FunctionExecutable::paramString):
      * runtime/FunctionConstructor.cpp:
      (JSC::constructFunction):
      * runtime/JSGlobalObjectFunctions.cpp:
      (JSC::encode):
      (JSC::decode):
      (JSC::globalFuncEscape):
      (JSC::globalFuncUnescape):
      * runtime/JSONObject.cpp:
      (JSC::Stringifier::stringify):
      * runtime/JSStringBuilder.h:
      (JSC::JSStringBuilder::build):
      * runtime/LiteralParser.cpp:
      (JSC::LiteralParser::Lexer::lexString):
      * runtime/NumberPrototype.cpp:
      (JSC::integerPartNoExp):
      (JSC::numberProtoFuncToFixed):
      * runtime/StringBuilder.h:
      (JSC::StringBuilder::build):
      
      WebCore: 
      
      * bindings/js/ScriptString.h:
      (WebCore::ScriptString::operator+=):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54571 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9fb0642e
  15. 08 Feb, 2010 1 commit
  16. 05 Feb, 2010 2 commits
    • dbates@webkit.org's avatar
      2010-02-04 Daniel Bates <dbates@webkit.org> · fd659c69
      dbates@webkit.org authored
              [Qt] Unreviewed, build fix for Qt bot.
      
              * runtime/JSStringBuilder.h: Changed #include <X.h> notation #include "X.h".
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd659c69
    • barraclough@apple.com's avatar
      Add a JSStringBuilder class (similar-to, and derived-from StringBuilder) to · d2e92465
      barraclough@apple.com authored
      construct JSStrings, throwing a JS exception should we run out of memory whilst
      allocating storage for the string.
      
      Reviewed by Oliver Hunt.
      
      Similarly, add jsMakeNontrivialString methods to use in cases where previously
      we were calling makeString & passing the result to jsNontrivialString.  Again,
      these new methods throw if we hit an out of memory condition.
      
      Move throwOutOfMemoryError into ExceptionHelpers, to make it more widely available.
      
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncToString):
      (JSC::arrayProtoFuncToLocaleString):
      (JSC::arrayProtoFuncJoin):
      * runtime/DateConstructor.cpp:
      (JSC::callDate):
      * runtime/DatePrototype.cpp:
      (JSC::dateProtoFuncToString):
      (JSC::dateProtoFuncToUTCString):
      (JSC::dateProtoFuncToGMTString):
      * runtime/ErrorPrototype.cpp:
      (JSC::errorProtoFuncToString):
      * runtime/ExceptionHelpers.cpp:
      (JSC::throwOutOfMemoryError):
      * runtime/ExceptionHelpers.h:
      * runtime/JSStringBuilder.h: Added.
      (JSC::JSStringBuilder::releaseJSString):
      (JSC::jsMakeNontrivialString):
      * runtime/NumberPrototype.cpp:
      (JSC::numberProtoFuncToPrecision):
      * runtime/ObjectPrototype.cpp:
      (JSC::objectProtoFuncToString):
      * runtime/Operations.cpp:
      * runtime/Operations.h:
      * runtime/RegExpPrototype.cpp:
      (JSC::regExpProtoFuncToString):
      * runtime/StringBuilder.h:
      (JSC::StringBuilder::append):
      * runtime/StringPrototype.cpp:
      (JSC::stringProtoFuncBig):
      (JSC::stringProtoFuncSmall):
      (JSC::stringProtoFuncBlink):
      (JSC::stringProtoFuncBold):
      (JSC::stringProtoFuncFixed):
      (JSC::stringProtoFuncItalics):
      (JSC::stringProtoFuncStrike):
      (JSC::stringProtoFuncSub):
      (JSC::stringProtoFuncSup):
      (JSC::stringProtoFuncFontcolor):
      (JSC::stringProtoFuncFontsize):
      (JSC::stringProtoFuncAnchor):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2e92465