Ignore:
Timestamp:
Jan 31, 2011, 12:07:21 PM (14 years ago)
Author:
[email protected]
Message:

2011-01-31 Oliver Hunt <[email protected]>

Convert markstack to a slot visitor API
https://bugs.webkit.org/show_bug.cgi?id=53219

rolling r77098, r77099, r77100, r77109, and
r77111 back in, along with a few more Qt fix attempts.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/JSCell.h

    r77113 r77151  
    337337        return isCell() ? asCell()->toThisObject(exec) : toThisObjectSlowCase(exec);
    338338    }
    339 
    340     ALWAYS_INLINE void MarkStack::append(JSCell* cell)
     339   
     340    template <typename T> void MarkStack::append(DeprecatedPtr<T>* slot)
     341    {
     342        internalAppend(slot->get());
     343    }
     344   
     345    template <typename T> void MarkStack::append(WriteBarrierBase<T>* slot)
     346    {
     347        internalAppend(slot->get());
     348    }
     349
     350    ALWAYS_INLINE void MarkStack::internalAppend(JSCell* cell)
    341351    {
    342352        ASSERT(!m_isCheckingForDefaultMarkViolation);
     
    348358    }
    349359
    350     ALWAYS_INLINE void MarkStack::append(JSValue value)
     360    ALWAYS_INLINE void MarkStack::deprecatedAppend(JSCell** value)
     361    {
     362        ASSERT(value);
     363        internalAppend(*value);
     364    }
     365
     366    ALWAYS_INLINE void MarkStack::deprecatedAppend(JSValue* value)
     367    {
     368        ASSERT(value);
     369        internalAppend(*value);
     370    }
     371   
     372    ALWAYS_INLINE void MarkStack::deprecatedAppend(Register* value)
     373    {
     374        ASSERT(value);
     375        internalAppend(value->jsValue());
     376    }
     377
     378    ALWAYS_INLINE void MarkStack::internalAppend(JSValue value)
    351379    {
    352380        ASSERT(value);
    353381        if (value.isCell())
    354             append(value.asCell());
     382            internalAppend(value.asCell());
    355383    }
    356384
Note: See TracChangeset for help on using the changeset viewer.