Changeset 35227 in webkit for trunk/JavaScriptCore


Ignore:
Timestamp:
Jul 17, 2008, 2:11:04 PM (17 years ago)
Author:
[email protected]
Message:

2008-07-17 Sam Weinig <[email protected]>

Roll out r35199 as it is causing failures on the PPC build.

Location:
trunk/JavaScriptCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/API/JSStringRefCF.cpp

    r35199 r35227  
    4545        CFStringGetCharacters(string, CFRangeMake(0, length), buffer);
    4646        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();
    4848    }
    4949    return toRef(rep);
  • trunk/JavaScriptCore/ChangeLog

    r35226 r35227  
     12008-07-17  Sam Weinig  <[email protected]>
     2
     3        Roll out r35199 as it is causing failures on the PPC build.
     4
    152008-07-17  Geoffrey Garen  <[email protected]>
    26
  • trunk/JavaScriptCore/kjs/StringConstructor.cpp

    r35203 r35227  
    3838        for (ArgList::const_iterator it = args.begin(); it != end; ++it)
    3939            *p++ = static_cast<UChar>((*it).toUInt32(exec));
    40         s = UString::adopt(buf, args.size());
     40        s = UString(buf, args.size(), false);
    4141    } else
    4242        s = "";
  • trunk/JavaScriptCore/kjs/StringPrototype.cpp

    r35203 r35227  
    632632    if (length == ssize && memcmp(buffer.data(), s.data(), length * sizeof(UChar)) == 0)
    633633        return sVal;
    634     return jsString(exec, UString::adopt(buffer));
     634    return jsString(exec, UString(buffer.releaseBuffer(), length, false));
    635635}
    636636
     
    654654    if (length == ssize && memcmp(buffer.data(), s.data(), length * sizeof(UChar)) == 0)
    655655        return sVal;
    656     return jsString(exec, UString::adopt(buffer));
     656    return jsString(exec, UString(buffer.releaseBuffer(), length, false));
    657657}
    658658
     
    678678    if (length == ssize && memcmp(buffer.data(), s.data(), length * sizeof(UChar)) == 0)
    679679        return sVal;
    680     return jsString(exec, UString::adopt(buffer));
     680    return jsString(exec, UString(buffer.releaseBuffer(), length, false));
    681681}
    682682
     
    700700    if (length == ssize && memcmp(buffer.data(), s.data(), length * sizeof(UChar)) == 0)
    701701        return sVal;
    702     return jsString(exec, UString::adopt(buffer));
     702    return jsString(exec, UString(buffer.releaseBuffer(), length, false));
    703703}
    704704
  • trunk/JavaScriptCore/kjs/ustring.cpp

    r35199 r35227  
    455455    else
    456456        m_rep = Rep::createCopying(c, length);
     457}
     458
     459UString::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);
    457467}
    458468
     
    521531}
    522532
    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 
    537533const UString& UString::null()
    538534{
  • trunk/JavaScriptCore/kjs/ustring.h

    r35199 r35227  
    125125        UString(const char*);
    126126        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
    127134        UString(const Vector<UChar>& buffer);
    128135
     
    130137        UString(const UString&, const UString&);
    131138
    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        {
    141141        }
    142142
     
    146146        {
    147147        }
    148 
    149         ~UString()
    150         {
    151         }
    152 
    153         static UString adopt(UChar*, int length);
    154         static UString adopt(Vector<UChar>& buffer);
    155148
    156149        static UString from(int);
     
    236229        Rep* rep() const { return m_rep.get(); }
    237230
     231        UString(PassRefPtr<Rep> r)
     232            : m_rep(r)
     233        {
     234            ASSERT(m_rep);
     235        }
     236
    238237        size_t cost() const;
    239238
Note: See TracChangeset for help on using the changeset viewer.