Changeset 49365 in webkit for trunk/JavaScriptCore/runtime/JSString.h
- Timestamp:
- Oct 8, 2009, 8:22:41 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/JSString.h
r47780 r49365 168 168 ASSERT(canGetIndex(i)); 169 169 return jsSingleCharacterSubstring(globalData, m_value, i); 170 } 171 172 inline JSString* jsString(JSGlobalData* globalData, const UString& s) 173 { 174 int size = s.size(); 175 if (!size) 176 return globalData->smallStrings.emptyString(globalData); 177 if (size == 1) { 178 UChar c = s.data()[0]; 179 if (c <= 0xFF) 180 return globalData->smallStrings.singleCharacterString(globalData, c); 181 } 182 return new (globalData) JSString(globalData, s); 183 } 184 185 inline JSString* jsSubstring(JSGlobalData* globalData, const UString& s, unsigned offset, unsigned length) 186 { 187 ASSERT(offset <= static_cast<unsigned>(s.size())); 188 ASSERT(length <= static_cast<unsigned>(s.size())); 189 ASSERT(offset + length <= static_cast<unsigned>(s.size())); 190 if (!length) 191 return globalData->smallStrings.emptyString(globalData); 192 if (length == 1) { 193 UChar c = s.data()[offset]; 194 if (c <= 0xFF) 195 return globalData->smallStrings.singleCharacterString(globalData, c); 196 } 197 return new (globalData) JSString(globalData, UString::Rep::create(s.rep(), offset, length)); 198 } 199 200 inline JSString* jsOwnedString(JSGlobalData* globalData, const UString& s) 201 { 202 int size = s.size(); 203 if (!size) 204 return globalData->smallStrings.emptyString(globalData); 205 if (size == 1) { 206 UChar c = s.data()[0]; 207 if (c <= 0xFF) 208 return globalData->smallStrings.singleCharacterString(globalData, c); 209 } 210 return new (globalData) JSString(globalData, s, JSString::HasOtherOwner); 170 211 } 171 212
Note:
See TracChangeset
for help on using the changeset viewer.