Ignore:
Timestamp:
Oct 8, 2009, 8:22:41 PM (16 years ago)
Author:
[email protected]
Message:

At long last, I pronounce the death of AllInOneFile.cpp.

Patch by Geoffrey Garen <[email protected]> on 2009-10-08
Reviewed by Maciej Stachowiak.

SunSpider reports a 1.01x speedup.

to compilation stages.

  • parser/Grammar.y:
  • parser/Lexer.cpp:
  • parser/Lexer.h:

(JSC::jscyylex):

  • runtime/ArrayConstructor.cpp:

(JSC::constructArrayWithSizeQuirk):

  • runtime/Collector.h:
  • runtime/JSCell.cpp:

(JSC::JSCell::operator new):

  • runtime/JSCell.h:

(JSC::JSCell::operator new):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::operator new):

  • runtime/JSNumberCell.h:

(JSC::JSNumberCell::operator new):

  • runtime/JSString.cpp:
  • runtime/JSString.h:

(JSC::jsString):
(JSC::jsSubstring):
(JSC::jsOwnedString):

  • runtime/RegExpConstructor.cpp:
  • runtime/RegExpConstructor.h:

(JSC::RegExpConstructorPrivate::RegExpConstructorPrivate):
(JSC::RegExpConstructorPrivate::lastOvector):
(JSC::RegExpConstructorPrivate::tempOvector):
(JSC::RegExpConstructorPrivate::changeLastOvector):
(JSC::RegExpConstructor::performMatch):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncMatch):

  • yarr/RegexJIT.cpp:
  • yarr/RegexJIT.h:

(JSC::Yarr::executeRegex): Inlined a few things that Shark said
were hot, on the presumption that AllInOneFile.cpp used to inline them
automatically.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/runtime/JSString.cpp

    r47780 r49365  
    140140}
    141141
    142 JSString* jsString(JSGlobalData* globalData, const UString& s)
    143 {
    144     int size = s.size();
    145     if (!size)
    146         return globalData->smallStrings.emptyString(globalData);
    147     if (size == 1) {
    148         UChar c = s.data()[0];
    149         if (c <= 0xFF)
    150             return globalData->smallStrings.singleCharacterString(globalData, c);
    151     }
    152     return new (globalData) JSString(globalData, s);
    153 }
    154    
    155 JSString* jsSubstring(JSGlobalData* globalData, const UString& s, unsigned offset, unsigned length)
    156 {
    157     ASSERT(offset <= static_cast<unsigned>(s.size()));
    158     ASSERT(length <= static_cast<unsigned>(s.size()));
    159     ASSERT(offset + length <= static_cast<unsigned>(s.size()));
    160     if (!length)
    161         return globalData->smallStrings.emptyString(globalData);
    162     if (length == 1) {
    163         UChar c = s.data()[offset];
    164         if (c <= 0xFF)
    165             return globalData->smallStrings.singleCharacterString(globalData, c);
    166     }
    167     return new (globalData) JSString(globalData, UString::Rep::create(s.rep(), offset, length));
    168 }
    169 
    170 JSString* jsOwnedString(JSGlobalData* globalData, const UString& s)
    171 {
    172     int size = s.size();
    173     if (!size)
    174         return globalData->smallStrings.emptyString(globalData);
    175     if (size == 1) {
    176         UChar c = s.data()[0];
    177         if (c <= 0xFF)
    178             return globalData->smallStrings.singleCharacterString(globalData, c);
    179     }
    180     return new (globalData) JSString(globalData, s, JSString::HasOtherOwner);
    181 }
    182 
    183142} // namespace JSC
Note: See TracChangeset for help on using the changeset viewer.