Some rope cleanup following r97827
https://bugs.webkit.org/show_bug.cgi?id=70398
Reviewed by Oliver Hunt.
9% speedup on date-format-xparb, neutral overall.
- Removed RopeImpl*.
- Removed JSString::m_fiberCount, since this can be deduced from other data.
- Renamed a jsString() variant to jsStringFromArguments for clarity.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetCharCodeAt):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::JIT::emitLoadCharacterString):
- jit/JITPropertyAccess.cpp:
(JSC::JIT::stringGetByValStubGenerator):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::stringGetByValStubGenerator):
- jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::loadJSStringArgument):
(JSC::stringCharLoad): Use a NULL m_value to signal rope-iness, instead
of testing m_fiberCount, since m_fiberCount is gone now.
(JSC::JSString::RopeBuilder::expand):
(JSC::JSString::visitChildren):
(JSC::JSString::resolveRope):
(JSC::JSString::resolveRopeSlowCase):
(JSC::JSString::outOfMemory): Use a NULL fiber to indicate "last fiber
in the vector" instead of testing m_fiberCount, since m_fiberCount is gone now.
(JSC::RopeBuilder::JSString):
(JSC::RopeBuilder::finishCreation):
(JSC::RopeBuilder::offsetOfLength):
(JSC::RopeBuilder::isRope):
(JSC::RopeBuilder::string): Removed m_fiberCount. Renamed
jsString => jsStringFromArguments for clarity.
(JSC::jsStringFromArguments): Renamed.
- runtime/RopeImpl.cpp: Removed.
- runtime/RopeImpl.h: Removed.
- runtime/SmallStrings.cpp:
(JSC::SmallStrings::createEmptyString): Switched to StringImpl::empty,
which is slightly faster.
- runtime/StringPrototype.cpp:
(JSC::stringProtoFuncConcat): Updated for rename.
- wtf/text/StringImplBase.h:
(WTF::StringImplBase::StringImplBase): Removed the concept of an invalid
StringImpl, since this was only used by RopeImpl, which is now gone.