Changeset 35227 in webkit for trunk/JavaScriptCore
- Timestamp:
- Jul 17, 2008, 2:11:04 PM (17 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/API/JSStringRefCF.cpp
r35199 r35227 45 45 CFStringGetCharacters(string, CFRangeMake(0, length), buffer); 46 46 COMPILE_ASSERT(sizeof(UniChar) == sizeof(UChar), unichar_and_uchar_must_be_same_size); 47 rep = UString ::adopt(reinterpret_cast<UChar*>(buffer), length).rep()->ref();47 rep = UString(reinterpret_cast<UChar*>(buffer), length, false).rep()->ref(); 48 48 } 49 49 return toRef(rep); -
trunk/JavaScriptCore/ChangeLog
r35226 r35227 1 2008-07-17 Sam Weinig <[email protected]> 2 3 Roll out r35199 as it is causing failures on the PPC build. 4 1 5 2008-07-17 Geoffrey Garen <[email protected]> 2 6 -
trunk/JavaScriptCore/kjs/StringConstructor.cpp
r35203 r35227 38 38 for (ArgList::const_iterator it = args.begin(); it != end; ++it) 39 39 *p++ = static_cast<UChar>((*it).toUInt32(exec)); 40 s = UString ::adopt(buf, args.size());40 s = UString(buf, args.size(), false); 41 41 } else 42 42 s = ""; -
trunk/JavaScriptCore/kjs/StringPrototype.cpp
r35203 r35227 632 632 if (length == ssize && memcmp(buffer.data(), s.data(), length * sizeof(UChar)) == 0) 633 633 return sVal; 634 return jsString(exec, UString ::adopt(buffer));634 return jsString(exec, UString(buffer.releaseBuffer(), length, false)); 635 635 } 636 636 … … 654 654 if (length == ssize && memcmp(buffer.data(), s.data(), length * sizeof(UChar)) == 0) 655 655 return sVal; 656 return jsString(exec, UString ::adopt(buffer));656 return jsString(exec, UString(buffer.releaseBuffer(), length, false)); 657 657 } 658 658 … … 678 678 if (length == ssize && memcmp(buffer.data(), s.data(), length * sizeof(UChar)) == 0) 679 679 return sVal; 680 return jsString(exec, UString ::adopt(buffer));680 return jsString(exec, UString(buffer.releaseBuffer(), length, false)); 681 681 } 682 682 … … 700 700 if (length == ssize && memcmp(buffer.data(), s.data(), length * sizeof(UChar)) == 0) 701 701 return sVal; 702 return jsString(exec, UString ::adopt(buffer));702 return jsString(exec, UString(buffer.releaseBuffer(), length, false)); 703 703 } 704 704 -
trunk/JavaScriptCore/kjs/ustring.cpp
r35199 r35227 455 455 else 456 456 m_rep = Rep::createCopying(c, length); 457 } 458 459 UString::UString(UChar* c, int length, bool copy) 460 { 461 if (length == 0) 462 m_rep = &Rep::empty; 463 else if (copy) 464 m_rep = Rep::createCopying(c, length); 465 else 466 m_rep = Rep::create(c, length); 457 467 } 458 468 … … 521 531 } 522 532 523 UString UString::adopt(UChar* c, int length)524 {525 if (length == 0)526 return UString("");527 return UString(Rep::create(c, length));528 }529 530 UString UString::adopt(Vector<UChar>& buffer)531 {532 if (buffer.isEmpty())533 return UString("");534 return UString(Rep::create(buffer.releaseBuffer(), buffer.size()));535 }536 537 533 const UString& UString::null() 538 534 { -
trunk/JavaScriptCore/kjs/ustring.h
r35199 r35227 125 125 UString(const char*); 126 126 UString(const UChar*, int length); 127 UString(UChar*, int length, bool copy); 128 129 UString(const UString& s) 130 : m_rep(s.m_rep) 131 { 132 } 133 127 134 UString(const Vector<UChar>& buffer); 128 135 … … 130 137 UString(const UString&, const UString&); 131 138 132 UString(const UString& s) 133 : m_rep(s.m_rep) 134 { 135 } 136 137 UString(PassRefPtr<Rep> r) 138 : m_rep(r) 139 { 140 ASSERT(m_rep); 139 ~UString() 140 { 141 141 } 142 142 … … 146 146 { 147 147 } 148 149 ~UString()150 {151 }152 153 static UString adopt(UChar*, int length);154 static UString adopt(Vector<UChar>& buffer);155 148 156 149 static UString from(int); … … 236 229 Rep* rep() const { return m_rep.get(); } 237 230 231 UString(PassRefPtr<Rep> r) 232 : m_rep(r) 233 { 234 ASSERT(m_rep); 235 } 236 238 237 size_t cost() const; 239 238
Note:
See TracChangeset
for help on using the changeset viewer.