diff options
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSString.h')
-rw-r--r-- | Source/JavaScriptCore/runtime/JSString.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Source/JavaScriptCore/runtime/JSString.h b/Source/JavaScriptCore/runtime/JSString.h index 5079e8583..111853c39 100644 --- a/Source/JavaScriptCore/runtime/JSString.h +++ b/Source/JavaScriptCore/runtime/JSString.h @@ -200,9 +200,7 @@ namespace JSC { { if (m_index == JSRopeString::s_maxInternalRopeLength) expand(); - m_jsString->m_fibers[m_index++].set(m_globalData, m_jsString, jsString); - m_jsString->m_length += jsString->m_length; - m_jsString->m_is8Bit = m_jsString->m_is8Bit && jsString->m_is8Bit; + m_jsString->append(m_globalData, m_index++, jsString); } JSRopeString* release() @@ -252,6 +250,13 @@ namespace JSC { JSString::finishCreation(globalData); } + void append(JSGlobalData& globalData, size_t index, JSString* jsString) + { + m_fibers[index].set(globalData, this, jsString); + m_length += jsString->m_length; + m_is8Bit = m_is8Bit && jsString->m_is8Bit; + } + static JSRopeString* createNull(JSGlobalData& globalData) { JSRopeString* newString = new (NotNull, allocateCell<JSRopeString>(globalData.heap)) JSRopeString(globalData); |