Changeset 94336 in webkit


Ignore:
Timestamp:
Sep 1, 2011, 1:04:34 PM (14 years ago)
Author:
msaboff@apple.com
Message:

Remove simple usage of UString::characters() from JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=67340

In preparation to allowing StringImpl to be backed by 8 bit
characters when appropriate, we need to eliminate or change the
usage of StringImpl::characters(). Most of the changes below
change s->characters()[0] to s[0].

Reviewed by Geoffrey Garen.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::keyForCharacterSwitch):

  • bytecompiler/NodesCodegen.cpp:

(JSC::processClauseList):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/Identifier.cpp:

(JSC::Identifier::addSlowCase):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::jsToNumber):
(JSC::parseFloat):

  • runtime/JSString.cpp:

(JSC::JSString::substringFromRope):

  • runtime/JSString.h:

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

  • runtime/RegExp.cpp:

(JSC::regExpFlags):

  • wtf/text/StringBuilder.h:

(WTF::StringBuilder::operator[]):

Location:
trunk/Source/JavaScriptCore
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r94298 r94336  
     12011-09-01  Michael Saboff  <msaboff@apple.com>
     2
     3        Remove simple usage of UString::characters() from JavaScriptCore
     4        https://bugs.webkit.org/show_bug.cgi?id=67340
     5
     6        In preparation to allowing StringImpl to be backed by 8 bit
     7        characters when appropriate, we need to eliminate or change the
     8        usage of StringImpl::characters().  Most of the changes below
     9        change s->characters()[0] to s[0].
     10
     11        Reviewed by Geoffrey Garen.
     12
     13        * bytecompiler/BytecodeGenerator.cpp:
     14        (JSC::keyForCharacterSwitch):
     15        * bytecompiler/NodesCodegen.cpp:
     16        (JSC::processClauseList):
     17        * interpreter/Interpreter.cpp:
     18        (JSC::Interpreter::privateExecute):
     19        * jit/JITStubs.cpp:
     20        (JSC::DEFINE_STUB_FUNCTION):
     21        * runtime/Identifier.cpp:
     22        (JSC::Identifier::addSlowCase):
     23        * runtime/JSGlobalObjectFunctions.cpp:
     24        (JSC::jsToNumber):
     25        (JSC::parseFloat):
     26        * runtime/JSString.cpp:
     27        (JSC::JSString::substringFromRope):
     28        * runtime/JSString.h:
     29        (JSC::jsSingleCharacterSubstring):
     30        (JSC::jsString):
     31        (JSC::jsSubstring):
     32        (JSC::jsOwnedString):
     33        * runtime/RegExp.cpp:
     34        (JSC::regExpFlags):
     35        * wtf/text/StringBuilder.h:
     36        (WTF::StringBuilder::operator[]):
     37
    1382011-09-01  Ada Chan  <adachan@apple.com>
    239
  • trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp

    r91194 r94336  
    22742274    ASSERT(clause->length() == 1);
    22752275   
    2276     int32_t key = clause->characters()[0];
     2276    int32_t key = (*clause)[0];
    22772277    ASSERT(key >= min);
    22782278    ASSERT(key <= max);
  • trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp

    r93487 r94336  
    17411741            const UString& value = static_cast<StringNode*>(clauseExpression)->value().ustring();
    17421742            if (singleCharacterSwitch &= value.length() == 1) {
    1743                 int32_t intVal = value.impl()->characters()[0];
     1743                int32_t intVal = value[0];
    17441744                if (intVal < min_num)
    17451745                    min_num = intVal;
  • trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp

    r93755 r94336  
    40764076                vPC += defaultOffset;
    40774077            else
    4078                 vPC += codeBlock->characterSwitchJumpTable(tableIndex).offsetForValue(value->characters()[0], defaultOffset);
     4078                vPC += codeBlock->characterSwitchJumpTable(tableIndex).offsetForValue((*value)[0], defaultOffset);
    40794079        }
    40804080        NEXT_INSTRUCTION();
  • trunk/Source/JavaScriptCore/jit/JITStubs.cpp

    r93755 r94336  
    34543454        StringImpl* value = asString(scrutinee)->value(callFrame).impl();
    34553455        if (value->length() == 1)
    3456             result = codeBlock->characterSwitchJumpTable(tableIndex).ctiForValue(value->characters()[0]).executableAddress();
     3456            result = codeBlock->characterSwitchJumpTable(tableIndex).ctiForValue((*value)[0]).executableAddress();
    34573457    }
    34583458
  • trunk/Source/JavaScriptCore/runtime/Identifier.cpp

    r93045 r94336  
    233233
    234234    if (r->length() == 1) {
    235         UChar c = r->characters()[0];
     235        UChar c = (*r)[0];
    236236        if (c <= maxSingleCharacterString)
    237237            r = globalData->smallStrings.singleCharacterStringRep(c);
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp

    r91966 r94336  
    368368
    369369    if (size == 1) {
    370         UChar c = s.characters()[0];
     370        UChar c = s[0];
    371371        if (isASCIIDigit(c))
    372372            return c - '0';
     
    411411
    412412    if (size == 1) {
    413         UChar c = s.characters()[0];
     413        UChar c = s[0];
    414414        if (isASCIIDigit(c))
    415415            return c - '0';
  • trunk/Source/JavaScriptCore/runtime/JSString.cpp

    r91194 r94336  
    195195    if (substringLength == 1) {
    196196        ASSERT(substringFiberCount == 1);
    197         UChar c = substringFibers[0].characters()[0];
     197        UChar c = substringFibers[0][0];
    198198        if (c <= maxSingleCharacterString)
    199199            return globalData->smallStrings.singleCharacterString(globalData, c);
  • trunk/Source/JavaScriptCore/runtime/JSString.h

    r93841 r94336  
    561561        JSGlobalData* globalData = &exec->globalData();
    562562        ASSERT(offset < static_cast<unsigned>(s.length()));
    563         UChar c = s.characters()[offset];
     563        UChar c = s[offset];
    564564        if (c <= maxSingleCharacterString)
    565565            return globalData->smallStrings.singleCharacterString(globalData, c);
     
    596596            return globalData->smallStrings.emptyString(globalData);
    597597        if (size == 1) {
    598             UChar c = s.characters()[0];
     598            UChar c = s[0];
    599599            if (c <= maxSingleCharacterString)
    600600                return globalData->smallStrings.singleCharacterString(globalData, c);
     
    624624            return globalData->smallStrings.emptyString(globalData);
    625625        if (length == 1) {
    626             UChar c = s.characters()[offset];
     626            UChar c = s[offset];
    627627            if (c <= maxSingleCharacterString)
    628628                return globalData->smallStrings.singleCharacterString(globalData, c);
     
    637637            return globalData->smallStrings.emptyString(globalData);
    638638        if (size == 1) {
    639             UChar c = s.characters()[0];
     639            UChar c = s[0];
    640640            if (c <= maxSingleCharacterString)
    641641                return globalData->smallStrings.singleCharacterString(globalData, c);
  • trunk/Source/JavaScriptCore/runtime/RegExp.cpp

    r93920 r94336  
    4343
    4444    for (unsigned i = 0; i < string.length(); ++i) {
    45         switch (string.characters()[i]) {
     45        switch (string[i]) {
    4646        case 'g':
    4747            if (flags & FlagGlobal)
  • trunk/Source/JavaScriptCore/wtf/text/StringBuilder.h

    r69683 r94336  
    112112            return m_string[i];
    113113        ASSERT(m_buffer);
    114         return m_buffer->characters()[i];
     114        return (*m_buffer)[i];
    115115    }
    116116
Note: See TracChangeset for help on using the changeset viewer.