Ignore:
Timestamp:
Aug 10, 2010, 5:16:38 PM (15 years ago)
Author:
[email protected]
Message:

Bug 43817 - Remove UString::Rep
UString::Rep has for a long time been replaced by UStringImpl (Rep
remaining as a typedef). UStringImpl has since been removed too
(unified with StringImpl). Remove Rep, rename rep() to impl() and
m_rep to m_impl. Also add impl() method to Identifier, and rename
its UString member from _ustring to m_string.

Rubber stamped by Sam Weinig

JavaScriptCore:

  • API/JSCallbackObject.h:

(JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
(JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
(JSC::JSCallbackObjectData::JSPrivatePropertyMap::deletePrivateProperty):

  • API/JSCallbackObjectFunctions.h:

(JSC::::getOwnPropertySlot):
(JSC::::put):
(JSC::::deleteProperty):
(JSC::::getOwnPropertyNames):
(JSC::::staticValueGetter):
(JSC::::staticFunctionGetter):

  • API/JSClassRef.cpp:

(tryCreateStringFromUTF8):
(OpaqueJSClass::OpaqueJSClass):
(OpaqueJSClass::~OpaqueJSClass):
(OpaqueJSClassContextData::OpaqueJSClassContextData):

  • API/JSClassRef.h:
  • API/OpaqueJSString.cpp:

(OpaqueJSString::ustring):

  • bytecode/EvalCodeCache.h:

(JSC::EvalCodeCache::get):

  • bytecode/JumpTable.h:

(JSC::StringJumpTable::offsetForValue):
(JSC::StringJumpTable::ctiForValue):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::addVar):
(JSC::BytecodeGenerator::addGlobalVar):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::addParameter):
(JSC::BytecodeGenerator::registerFor):
(JSC::BytecodeGenerator::willResolveToArguments):
(JSC::BytecodeGenerator::uncheckedRegisterForArguments):
(JSC::BytecodeGenerator::constRegisterFor):
(JSC::BytecodeGenerator::isLocal):
(JSC::BytecodeGenerator::isLocalConstant):
(JSC::BytecodeGenerator::addConstant):
(JSC::BytecodeGenerator::emitLoad):
(JSC::BytecodeGenerator::findScopedProperty):
(JSC::keyForCharacterSwitch):
(JSC::prepareJumpTableForStringSwitch):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::processClauseList):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • parser/JSParser.cpp:

(JSC::JSParser::parseStrictObjectLiteral):

  • pcre/pcre_exec.cpp:

(Histogram::add):

  • profiler/CallIdentifier.h:

(JSC::CallIdentifier::Hash::hash):

  • profiler/Profile.cpp:
  • profiler/ProfileNode.cpp:

(JSC::ProfileNode::debugPrintDataSampleStyle):

  • profiler/ProfileNode.h:
  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncToString):

  • runtime/Identifier.cpp:

(JSC::Identifier::equal):
(JSC::IdentifierCStringTranslator::hash):
(JSC::IdentifierCStringTranslator::equal):
(JSC::IdentifierCStringTranslator::translate):
(JSC::Identifier::add):
(JSC::IdentifierUCharBufferTranslator::hash):
(JSC::IdentifierUCharBufferTranslator::equal):
(JSC::IdentifierUCharBufferTranslator::translate):
(JSC::Identifier::addSlowCase):

  • runtime/Identifier.h:

(JSC::Identifier::Identifier):
(JSC::Identifier::ustring):
(JSC::Identifier::impl):
(JSC::Identifier::data):
(JSC::Identifier::size):
(JSC::Identifier::ascii):
(JSC::Identifier::isNull):
(JSC::Identifier::isEmpty):
(JSC::Identifier::toUInt32):
(JSC::Identifier::toStrictUInt32):
(JSC::Identifier::toArrayIndex):
(JSC::Identifier::toDouble):
(JSC::Identifier::equal):
(JSC::Identifier::add):

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreadingOnce):

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::displayName):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::displayName):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::addStaticGlobals):

  • runtime/JSStaticScopeObject.h:

(JSC::JSStaticScopeObject::JSStaticScopeObject):

  • runtime/JSString.h:

(JSC::):
(JSC::RopeBuilder::appendStringInConstruct):
(JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
(JSC::jsSingleCharacterSubstring):
(JSC::jsSubstring):

  • runtime/JSVariableObject.cpp:

(JSC::JSVariableObject::deleteProperty):
(JSC::JSVariableObject::symbolTableGet):

  • runtime/JSVariableObject.h:

(JSC::JSVariableObject::symbolTableGet):
(JSC::JSVariableObject::symbolTablePut):
(JSC::JSVariableObject::symbolTablePutWithAttributes):

  • runtime/Lookup.cpp:

(JSC::HashTable::createTable):
(JSC::HashTable::deleteTable):

  • runtime/Lookup.h:

(JSC::HashEntry::initialize):
(JSC::HashEntry::setKey):
(JSC::HashEntry::key):
(JSC::HashTable::entry):

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyMapEntry::PropertyMapEntry):

  • runtime/PropertyNameArray.cpp:

(JSC::PropertyNameArray::add):

  • runtime/PropertyNameArray.h:

(JSC::PropertyNameArray::add):
(JSC::PropertyNameArray::addKnownUnique):

  • runtime/RegExp.cpp:

(JSC::RegExp::match):

  • runtime/RegExpCache.cpp:

(JSC::RegExpCache::create):

  • runtime/RegExpKey.h:

(JSC::RegExpKey::RegExpKey):

  • runtime/SmallStrings.cpp:

(JSC::SmallStringsStorage::rep):
(JSC::SmallStrings::singleCharacterStringRep):

  • runtime/SmallStrings.h:
  • runtime/StringPrototype.cpp:

(JSC::jsSpliceSubstringsWithSeparators):
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch):

  • runtime/Structure.cpp:

(JSC::Structure::~Structure):
(JSC::Structure::despecifyDictionaryFunction):
(JSC::Structure::addPropertyTransitionToExistingStructure):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::copyPropertyTable):
(JSC::Structure::get):
(JSC::Structure::despecifyFunction):
(JSC::Structure::put):
(JSC::Structure::hasTransition):
(JSC::Structure::remove):
(JSC::Structure::checkConsistency):

  • runtime/Structure.h:

(JSC::Structure::get):
(JSC::Structure::hasTransition):

  • runtime/StructureTransitionTable.h:
  • runtime/SymbolTable.h:
  • runtime/UString.cpp:

(JSC::UString::UString):
(JSC::UString::toStrictUInt32):
(JSC::UString::substr):

  • runtime/UString.h:

(JSC::UString::UString):
(JSC::UString::adopt):
(JSC::UString::data):
(JSC::UString::size):
(JSC::UString::isNull):
(JSC::UString::isEmpty):
(JSC::UString::impl):
(JSC::UString::cost):
(JSC::operator==):
(JSC::codePointCompare):
(JSC::IdentifierRepHash::hash):
(WTF::):

WebCore:

  • bindings/js/JSDOMBinding.cpp:

(WebCore::findAtomicString):

  • bindings/js/JSDOMBinding.h:

(WebCore::ustringToString):
(WebCore::identifierToString):
(WebCore::ustringToAtomicString):
(WebCore::identifierToAtomicString):

  • bindings/js/SerializedScriptValue.h:

(WebCore::SerializedScriptValueData::SerializedScriptValueData):

  • bridge/IdentifierRep.cpp:

(WebCore::IdentifierRep::get):

  • bridge/c/c_class.cpp:

(JSC::Bindings::CClass::methodsNamed):
(JSC::Bindings::CClass::fieldNamed):

  • bridge/jni/jsc/JavaClassJSC.cpp:

(JavaClass::JavaClass):
(JavaClass::methodsNamed):
(JavaClass::fieldNamed):

  • bridge/jni/jsc/JavaStringJSC.h:

(JSC::Bindings::JavaStringImpl::~JavaStringImpl):
(JSC::Bindings::JavaStringImpl::init):
(JSC::Bindings::JavaStringImpl::UTF8String):
(JSC::Bindings::JavaStringImpl::uchars):
(JSC::Bindings::JavaStringImpl::length):
(JSC::Bindings::JavaStringImpl::uString):

  • bridge/jsc/BridgeJSC.h:

WebKit/mac:

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::methodsNamed):
(WebKit::ProxyInstance::fieldNamed):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/runtime/UString.h

    r65099 r65104  
    4646
    4747    public:
    48         typedef StringImpl Rep;
    49    
    50     public:
    5148        UString() {}
    5249        UString(const char*); // Constructor for null-terminated string.
     
    5653
    5754        UString(const UString& s)
    58             : m_rep(s.m_rep)
     55            : m_impl(s.m_impl)
    5956        {
    6057        }
     
    6259        // Special constructor for cases where we overwrite an object in place.
    6360        UString(PlacementNewAdoptType)
    64             : m_rep(PlacementNewAdopt)
     61            : m_impl(PlacementNewAdopt)
    6562        {
    6663        }
     
    6966        static PassRefPtr<StringImpl> adopt(Vector<UChar, inlineCapacity>& vector)
    7067        {
    71             return Rep::adopt(vector);
     68            return StringImpl::adopt(vector);
    7269        }
    7370
     
    9491        const UChar* data() const
    9592        {
    96             if (!m_rep)
     93            if (!m_impl)
    9794                return 0;
    98             return m_rep->characters();
     95            return m_impl->characters();
    9996        }
    10097
    10198        unsigned size() const
    10299        {
    103             if (!m_rep)
     100            if (!m_impl)
    104101                return 0;
    105             return m_rep->length();
    106         }
    107 
    108         bool isNull() const { return !m_rep; }
    109         bool isEmpty() const { return !m_rep || !m_rep->length(); }
     102            return m_impl->length();
     103        }
     104
     105        bool isNull() const { return !m_impl; }
     106        bool isEmpty() const { return !m_impl || !m_impl->length(); }
    110107
    111108        bool is8Bit() const;
     
    131128        UString substr(unsigned pos = 0, unsigned len = 0xFFFFFFFF) const;
    132129
    133         static const UString& null() { return *s_nullUString; }
    134 
    135         Rep* rep() const { return m_rep.get(); }
    136 
    137         UString(PassRefPtr<Rep> r)
    138             : m_rep(r)
     130        StringImpl* impl() const { return m_impl.get(); }
     131
     132        UString(PassRefPtr<StringImpl> r)
     133            : m_impl(r)
    139134        {
    140135        }
     
    142137        size_t cost() const
    143138        {
    144             if (!m_rep)
     139            if (!m_impl)
    145140                return 0;
    146             return m_rep->cost();
     141            return m_impl->cost();
    147142        }
    148143
    149144        ALWAYS_INLINE ~UString() { }
    150145    private:
    151         RefPtr<Rep> m_rep;
    152 
    153         static UString* s_nullUString;
    154 
    155         friend void initializeUString();
     146        RefPtr<StringImpl> m_impl;
     147
    156148        friend bool operator==(const UString&, const UString&);
    157149    };
     
    159151    ALWAYS_INLINE bool operator==(const UString& s1, const UString& s2)
    160152    {
    161         UString::Rep* rep1 = s1.rep();
    162         UString::Rep* rep2 = s2.rep();
     153        StringImpl* rep1 = s1.impl();
     154        StringImpl* rep2 = s2.impl();
    163155        unsigned size1 = 0;
    164156        unsigned size2 = 0;
     
    227219    inline int codePointCompare(const UString& s1, const UString& s2)
    228220    {
    229         return codePointCompare(s1.rep(), s2.rep());
     221        return codePointCompare(s1.impl(), s2.impl());
    230222    }
    231223
     
    245237    static const unsigned minShareSize = Heap::minExtraCost / sizeof(UChar);
    246238
    247     struct IdentifierRepHash : PtrHash<RefPtr<JSC::UString::Rep> > {
    248         static unsigned hash(const RefPtr<JSC::UString::Rep>& key) { return key->existingHash(); }
    249         static unsigned hash(JSC::UString::Rep* key) { return key->existingHash(); }
    250     };
    251 
    252     void initializeUString();
     239    struct IdentifierRepHash : PtrHash<RefPtr<StringImpl> > {
     240        static unsigned hash(const RefPtr<StringImpl>& key) { return key->existingHash(); }
     241        static unsigned hash(StringImpl* key) { return key->existingHash(); }
     242    };
    253243
    254244    template<typename StringType>
     
    652642    template<typename T> struct StrHash;
    653643
    654     template<> struct StrHash<JSC::UString::Rep*> {
    655         static unsigned hash(const JSC::UString::Rep* key) { return key->hash(); }
    656         static bool equal(const JSC::UString::Rep* a, const JSC::UString::Rep* b) { return ::equal(a, b); }
     644    template<> struct StrHash<StringImpl*> {
     645        static unsigned hash(const StringImpl* key) { return key->hash(); }
     646        static bool equal(const StringImpl* a, const StringImpl* b) { return ::equal(a, b); }
    657647        static const bool safeToCompareToEmptyOrDeleted = false;
    658648    };
    659649
    660     template<> struct StrHash<RefPtr<JSC::UString::Rep> > : public StrHash<JSC::UString::Rep*> {
    661         using StrHash<JSC::UString::Rep*>::hash;
    662         static unsigned hash(const RefPtr<JSC::UString::Rep>& key) { return key->hash(); }
    663         using StrHash<JSC::UString::Rep*>::equal;
    664         static bool equal(const RefPtr<JSC::UString::Rep>& a, const RefPtr<JSC::UString::Rep>& b) { return ::equal(a.get(), b.get()); }
    665         static bool equal(const JSC::UString::Rep* a, const RefPtr<JSC::UString::Rep>& b) { return ::equal(a, b.get()); }
    666         static bool equal(const RefPtr<JSC::UString::Rep>& a, const JSC::UString::Rep* b) { return ::equal(a.get(), b); }
     650    template<> struct StrHash<RefPtr<StringImpl> > : public StrHash<StringImpl*> {
     651        using StrHash<StringImpl*>::hash;
     652        static unsigned hash(const RefPtr<StringImpl>& key) { return key->hash(); }
     653        using StrHash<StringImpl*>::equal;
     654        static bool equal(const RefPtr<StringImpl>& a, const RefPtr<StringImpl>& b) { return ::equal(a.get(), b.get()); }
     655        static bool equal(const StringImpl* a, const RefPtr<StringImpl>& b) { return ::equal(a, b.get()); }
     656        static bool equal(const RefPtr<StringImpl>& a, const StringImpl* b) { return ::equal(a.get(), b); }
    667657
    668658        static const bool safeToCompareToEmptyOrDeleted = false;
Note: See TracChangeset for help on using the changeset viewer.