Changeset 127574 in webkit
- Timestamp:
- Sep 5, 2012 4:04:33 AM (12 years ago)
- Location:
- trunk/Source
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r127561 r127574 1 2012-09-05 Benjamin Poulain <bpoulain@apple.com> 2 3 Fix the uses of String::operator+=() for Mac 4 https://bugs.webkit.org/show_bug.cgi?id=95818 5 6 Reviewed by Dan Bernstein. 7 8 * jsc.cpp: 9 (functionJSCStack): Use StringBuilder to create the stack dump, it is faster 10 and avoid String::operator+=(). 11 12 * parser/Parser.h: 13 (JSC::Parser::updateErrorMessageSpecialCase): 14 (JSC::Parser::updateErrorMessage): 15 (JSC::Parser::updateErrorWithNameAndMessage): 16 Use the String operators (and makeString) to concatenate the strings. 17 1 18 2012-09-05 Gabor Rapcsanyi <rgabor@webkit.org> 2 19 -
trunk/Source/JavaScriptCore/jsc.cpp
r127349 r127574 25 25 #include "BytecodeGenerator.h" 26 26 #include "Completion.h" 27 #include <wtf/CurrentTime.h>28 27 #include "ExceptionHelpers.h" 29 28 #include "InitializeThreading.h" … … 34 33 #include "JSLock.h" 35 34 #include "JSString.h" 36 #include <wtf/MainThread.h>37 35 #include "SamplingTool.h" 38 36 #include <math.h> … … 40 38 #include <stdlib.h> 41 39 #include <string.h> 40 #include <wtf/CurrentTime.h> 41 #include <wtf/MainThread.h> 42 #include <wtf/text/StringBuilder.h> 42 43 43 44 #if !OS(WINDOWS) … … 309 310 EncodedJSValue JSC_HOST_CALL functionJSCStack(ExecState* exec) 310 311 { 311 String trace = "--> Stack trace:\n"; 312 StringBuilder trace; 313 trace.appendLiteral("--> Stack trace:\n"); 314 312 315 Vector<StackFrame> stackTrace; 313 316 Interpreter::getStackTrace(&exec->globalData(), stackTrace); … … 316 319 for (Vector<StackFrame>::iterator iter = stackTrace.begin(); iter < stackTrace.end(); iter++) { 317 320 StackFrame level = *iter; 318 trace += String::format(" %i %s\n", i, level.toString(exec).utf8().data());321 trace.append(String::format(" %i %s\n", i, level.toString(exec).utf8().data())); 319 322 i++; 320 323 } 321 fprintf(stderr, "%s", trace. utf8().data());324 fprintf(stderr, "%s", trace.toString().utf8().data()); 322 325 return JSValue::encode(jsUndefined()); 323 326 } -
trunk/Source/JavaScriptCore/parser/Parser.h
r127191 r127574 736 736 ALWAYS_INLINE void updateErrorMessageSpecialCase(JSTokenType expectedToken) 737 737 { 738 String errorMessage;739 738 switch (expectedToken) { 740 739 case RESERVED_IF_STRICT: 741 errorMessage = "Use of reserved word '"; 742 errorMessage += getToken().impl(); 743 errorMessage += "' in strict mode"; 744 m_errorMessage = errorMessage.impl(); 740 m_errorMessage = "Use of reserved word '" + getToken() + "' in strict mode"; 745 741 return; 746 742 case RESERVED: 747 errorMessage = "Use of reserved word '"; 748 errorMessage += getToken().impl(); 749 errorMessage += "'"; 750 m_errorMessage = errorMessage.impl(); 743 m_errorMessage = "Use of reserved word '" + getToken() + '\''; 751 744 return; 752 745 case NUMBER: 753 errorMessage = "Unexpected number '"; 754 errorMessage += getToken().impl(); 755 errorMessage += "'"; 756 m_errorMessage = errorMessage.impl(); 746 m_errorMessage = "Unexpected number '" + getToken() + '\''; 757 747 return; 758 748 case IDENT: 759 errorMessage = "Expected an identifier but found '"; 760 errorMessage += getToken().impl(); 761 errorMessage += "' instead"; 762 m_errorMessage = errorMessage.impl(); 749 m_errorMessage = "Expected an identifier but found '" + getToken() + "' instead"; 763 750 return; 764 751 case STRING: 765 errorMessage = "Unexpected string "; 766 errorMessage += getToken().impl(); 767 m_errorMessage = errorMessage.impl(); 752 m_errorMessage = "Unexpected string " + getToken(); 768 753 return; 769 754 case ERRORTOK: 770 errorMessage = "Unrecognized token '"; 771 errorMessage += getToken().impl(); 772 errorMessage += "'"; 773 m_errorMessage = errorMessage.impl(); 755 m_errorMessage = "Unrecognized token '" + getToken() + '\''; 774 756 return; 775 757 case EOFTOK: 776 m_errorMessage = "Unexpected EOF";758 m_errorMessage = ASCIILiteral("Unexpected EOF"); 777 759 return; 778 760 case RETURN: 779 m_errorMessage = "Return statements are only valid inside functions";761 m_errorMessage = ASCIILiteral("Return statements are only valid inside functions"); 780 762 return; 781 763 default: 782 764 ASSERT_NOT_REACHED(); 783 m_errorMessage = "internal error";765 m_errorMessage = ASCIILiteral("internal error"); 784 766 return; 785 767 } … … 807 789 else 808 790 updateErrorMessageSpecialCase(expectedToken); 809 } 791 } 810 792 } 811 793 … … 813 795 { 814 796 m_error = true; 815 String prefix(beforeMsg); 816 String postfix(afterMsg); 817 prefix += " '"; 818 prefix += name.impl(); 819 prefix += "' "; 820 prefix += postfix; 821 m_errorMessage = prefix.impl(); 822 } 823 824 NEVER_INLINE void updateErrorMessage(const char* msg) 797 m_errorMessage = makeString(beforeMsg, " '", name, "' ", afterMsg); 798 } 799 800 NEVER_INLINE void updateErrorMessage(const char* msg) 825 801 { 826 802 m_error = true; -
trunk/Source/WebCore/ChangeLog
r127573 r127574 1 2012-09-05 Benjamin Poulain <bpoulain@apple.com> 2 3 Fix the uses of String::operator+=() for Mac 4 https://bugs.webkit.org/show_bug.cgi?id=95818 5 6 Reviewed by Dan Bernstein. 7 8 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 9 (WebCore::JSCSSStyleDeclaration::putDelegate): 10 This is a legitimate use of String::append(), it is the only 11 concatenation in this function. 12 13 * loader/appcache/ManifestParser.cpp: 14 (WebCore::parseManifest): Ditto. 15 1 16 2012-09-05 Kenneth Rohde Christiansen <kenneth@webkit.org> 2 17 -
trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp
r127191 r127574 359 359 String propValue = valueToStringWithNullCheck(exec, value); 360 360 if (propertyInfo.hadPixelOrPosPrefix) 361 propValue += "px";361 propValue.append("px"); 362 362 363 363 bool important = false; -
trunk/Source/WebCore/loader/appcache/ManifestParser.cpp
r115669 r127574 48 48 RefPtr<TextResourceDecoder> decoder = TextResourceDecoder::create("text/cache-manifest", "UTF-8"); 49 49 String s = decoder->decode(data, length); 50 s += decoder->flush();50 s.append(decoder->flush()); 51 51 52 52 // Look for the magic signature: "^\xFEFF?CACHE MANIFEST[ \t]?" (the BOM is removed by TextResourceDecoder).
Note: See TracChangeset
for help on using the changeset viewer.