Changeset 21736 in webkit


Ignore:
Timestamp:
May 24, 2007 4:28:28 PM (17 years ago)
Author:
weinig
Message:

Reviewed by Darin

Patch for http://bugs.webkit.org/show_bug.cgi?id=13855
Port patch 666176 to JavaScriptCore

  • Renamed JSValue::downcast() to JSValue::asCell() which makes the function meaning cleaner. It's modeled after Harri Porten change in KDE trunk.
  • kjs/collector.cpp: (KJS::Collector::protect): (KJS::Collector::unprotect): (KJS::Collector::collectOnMainThreadOnly):
  • kjs/object.h: (KJS::JSValue::isObject):
  • kjs/string_object.cpp: (KJS::StringProtoFunc::callAsFunction):
  • kjs/value.h: (KJS::JSValue::asCell): (KJS::JSValue::isNumber): (KJS::JSValue::isString): (KJS::JSValue::isObject): (KJS::JSValue::getNumber): (KJS::JSValue::getString): (KJS::JSValue::getObject): (KJS::JSValue::getUInt32): (KJS::JSValue::mark): (KJS::JSValue::marked): (KJS::JSValue::type): (KJS::JSValue::toPrimitive): (KJS::JSValue::toBoolean): (KJS::JSValue::toNumber): (KJS::JSValue::toString): (KJS::JSValue::toObject):
Location:
trunk/JavaScriptCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r21557 r21736  
     12007-05-24  Luciano Montanaro  <mikelima@cirulla.net>
     2
     3        Reviewed by Darin
     4
     5        Patch for http://bugs.webkit.org/show_bug.cgi?id=13855
     6        Port patch 666176 to JavaScriptCore
     7
     8        - Renamed JSValue::downcast() to JSValue::asCell() which makes the
     9        function meaning cleaner. It's modeled after Harri Porten change in
     10        KDE trunk.
     11
     12        * kjs/collector.cpp:
     13        (KJS::Collector::protect):
     14        (KJS::Collector::unprotect):
     15        (KJS::Collector::collectOnMainThreadOnly):
     16        * kjs/object.h:
     17        (KJS::JSValue::isObject):
     18        * kjs/string_object.cpp:
     19        (KJS::StringProtoFunc::callAsFunction):
     20        * kjs/value.h:
     21        (KJS::JSValue::asCell):
     22        (KJS::JSValue::isNumber):
     23        (KJS::JSValue::isString):
     24        (KJS::JSValue::isObject):
     25        (KJS::JSValue::getNumber):
     26        (KJS::JSValue::getString):
     27        (KJS::JSValue::getObject):
     28        (KJS::JSValue::getUInt32):
     29        (KJS::JSValue::mark):
     30        (KJS::JSValue::marked):
     31        (KJS::JSValue::type):
     32        (KJS::JSValue::toPrimitive):
     33        (KJS::JSValue::toBoolean):
     34        (KJS::JSValue::toNumber):
     35        (KJS::JSValue::toString):
     36        (KJS::JSValue::toObject):
     37
    1382007-05-18  Holger Hans Peter Freyther  <zecke@selfish.org>
    239
  • trunk/JavaScriptCore/kjs/collector.cpp

    r21048 r21736  
    631631      return;
    632632
    633     protectedValues().add(k->downcast());
     633    protectedValues().add(k->asCell());
    634634}
    635635
     
    643643      return;
    644644
    645     protectedValues().remove(k->downcast());
     645    protectedValues().remove(k->asCell());
    646646}
    647647
     
    655655      return;
    656656
    657     JSCell* cell = value->downcast();
     657    JSCell* cell = value->asCell();
    658658    cellBlock(cell)->collectOnMainThreadOnly.set(cellOffset(cell));
    659659    ++mainThreadOnlyObjectCount;
  • trunk/JavaScriptCore/kjs/object.h

    r20310 r21736  
    543543inline bool JSValue::isObject(const ClassInfo *c) const
    544544{
    545     return !JSImmediate::isImmediate(this) && downcast()->isObject(c);
     545    return !JSImmediate::isImmediate(this) && asCell()->isObject(c);
    546546}
    547547
  • trunk/JavaScriptCore/kjs/string_object.cpp

    r20775 r21736  
    552552          // Null instead of an empty array, because this matches
    553553          // other browsers and because Null is a false value.
    554           result = jsNull(); 
     554          result = jsNull();
    555555        } else {
    556556          result = exec->lexicalInterpreter()->builtinArray()->construct(exec, list);
  • trunk/JavaScriptCore/kjs/value.h

    r21047 r21736  
    5757class JSValue {
    5858    friend class JSCell; // so it can derive from this class
    59     friend class Collector; // so it can call downcast()
     59    friend class Collector; // so it can call asCell()
    6060
    6161private:
     
    109109private:
    110110    // Implementation details.
    111     JSCell *downcast();
    112     const JSCell *downcast() const;
     111    JSCell *asCell();
     112    const JSCell *asCell() const;
    113113
    114114    // Give a compile time error if we try to copy one of these.
     
    234234}
    235235
    236 inline JSCell *JSValue::downcast()
     236inline JSCell *JSValue::asCell()
    237237{
    238238    ASSERT(!JSImmediate::isImmediate(this));
     
    240240}
    241241
    242 inline const JSCell *JSValue::downcast() const
     242inline const JSCell *JSValue::asCell() const
    243243{
    244244    ASSERT(!JSImmediate::isImmediate(this));
     
    268268inline bool JSValue::isNumber() const
    269269{
    270     return JSImmediate::isNumber(this) || !JSImmediate::isImmediate(this) && downcast()->isNumber();
     270    return JSImmediate::isNumber(this) || !JSImmediate::isImmediate(this) && asCell()->isNumber();
    271271}
    272272
    273273inline bool JSValue::isString() const
    274274{
    275     return !JSImmediate::isImmediate(this) && downcast()->isString();
     275    return !JSImmediate::isImmediate(this) && asCell()->isString();
    276276}
    277277
    278278inline bool JSValue::isObject() const
    279279{
    280     return !JSImmediate::isImmediate(this) && downcast()->isObject();
     280    return !JSImmediate::isImmediate(this) && asCell()->isObject();
    281281}
    282282
     
    302302        return true;
    303303    }
    304     return downcast()->getNumber(v);
     304    return asCell()->getNumber(v);
    305305}
    306306
    307307inline double JSValue::getNumber() const
    308308{
    309     return JSImmediate::isImmediate(this) ? JSImmediate::toDouble(this) : downcast()->getNumber();
     309    return JSImmediate::isImmediate(this) ? JSImmediate::toDouble(this) : asCell()->getNumber();
    310310}
    311311
    312312inline bool JSValue::getString(UString& s) const
    313313{
    314     return !JSImmediate::isImmediate(this) && downcast()->getString(s);
     314    return !JSImmediate::isImmediate(this) && asCell()->getString(s);
    315315}
    316316
    317317inline UString JSValue::getString() const
    318318{
    319     return JSImmediate::isImmediate(this) ? UString() : downcast()->getString();
     319    return JSImmediate::isImmediate(this) ? UString() : asCell()->getString();
    320320}
    321321
    322322inline JSObject *JSValue::getObject()
    323323{
    324     return JSImmediate::isImmediate(this) ? 0 : downcast()->getObject();
     324    return JSImmediate::isImmediate(this) ? 0 : asCell()->getObject();
    325325}
    326326
    327327inline const JSObject *JSValue::getObject() const
    328328{
    329     return JSImmediate::isImmediate(this) ? 0 : downcast()->getObject();
     329    return JSImmediate::isImmediate(this) ? 0 : asCell()->getObject();
    330330}
    331331
     
    339339        return JSImmediate::isNumber(this);
    340340    }
    341     return downcast()->getUInt32(v);
     341    return asCell()->getUInt32(v);
    342342}
    343343
     
    345345{
    346346    ASSERT(!JSImmediate::isImmediate(this)); // callers should check !marked() before calling mark()
    347     downcast()->mark();
     347    asCell()->mark();
    348348}
    349349
    350350inline bool JSValue::marked() const
    351351{
    352     return JSImmediate::isImmediate(this) || downcast()->marked();
     352    return JSImmediate::isImmediate(this) || asCell()->marked();
    353353}
    354354
    355355inline JSType JSValue::type() const
    356356{
    357     return JSImmediate::isImmediate(this) ? JSImmediate::type(this) : downcast()->type();
     357    return JSImmediate::isImmediate(this) ? JSImmediate::type(this) : asCell()->type();
    358358}
    359359
    360360inline JSValue *JSValue::toPrimitive(ExecState *exec, JSType preferredType) const
    361361{
    362     return JSImmediate::isImmediate(this) ? const_cast<JSValue *>(this) : downcast()->toPrimitive(exec, preferredType);
     362    return JSImmediate::isImmediate(this) ? const_cast<JSValue *>(this) : asCell()->toPrimitive(exec, preferredType);
    363363}
    364364
    365365inline bool JSValue::toBoolean(ExecState *exec) const
    366366{
    367     return JSImmediate::isImmediate(this) ? JSImmediate::toBoolean(this) : downcast()->toBoolean(exec);
     367    return JSImmediate::isImmediate(this) ? JSImmediate::toBoolean(this) : asCell()->toBoolean(exec);
    368368}
    369369
    370370inline double JSValue::toNumber(ExecState *exec) const
    371371{
    372     return JSImmediate::isImmediate(this) ? JSImmediate::toDouble(this) : downcast()->toNumber(exec);
     372    return JSImmediate::isImmediate(this) ? JSImmediate::toDouble(this) : asCell()->toNumber(exec);
    373373}
    374374
    375375inline UString JSValue::toString(ExecState *exec) const
    376376{
    377     return JSImmediate::isImmediate(this) ? JSImmediate::toString(this) : downcast()->toString(exec);
     377    return JSImmediate::isImmediate(this) ? JSImmediate::toString(this) : asCell()->toString(exec);
    378378}
    379379
    380380inline JSObject* JSValue::toObject(ExecState* exec) const
    381381{
    382     return JSImmediate::isImmediate(this) ? JSImmediate::toObject(this, exec) : downcast()->toObject(exec);
     382    return JSImmediate::isImmediate(this) ? JSImmediate::toObject(this, exec) : asCell()->toObject(exec);
    383383}
    384384
Note: See TracChangeset for help on using the changeset viewer.