Changeset 49365 in webkit for trunk/JavaScriptCore/runtime/JSString.cpp
- Timestamp:
- Oct 8, 2009, 8:22:41 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/JSString.cpp
r47780 r49365 140 140 } 141 141 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 183 142 } // namespace JSC
Note:
See TracChangeset
for help on using the changeset viewer.