Ignore:
Timestamp:
Jun 8, 2012, 2:30:35 PM (13 years ago)
Author:
[email protected]
Message:

Unreviewed roll out r119795.

This broke jquery/core.html

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::emitAllocateBasicJSObject):

  • jit/JITInlineMethods.h:

(JSC::JIT::emitAllocateBasicJSObject):

  • llint/LowLevelInterpreter.asm:
  • runtime/JSGlobalData.h:

(JSGlobalData):

  • runtime/JSGlobalThis.cpp:

(JSC::JSGlobalThis::setUnwrappedObject):

  • runtime/JSObject.cpp:

(JSC::JSObject::visitChildren):
(JSC::JSObject::createInheritorID):

  • runtime/JSObject.h:

(JSObject):
(JSC::JSObject::resetInheritorID):
(JSC):
(JSC::JSObject::offsetOfInheritorID):
(JSC::JSObject::inheritorID):

File:
1 edited

Legend:

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

    r119795 r119865  
    237237        static size_t offsetOfInlineStorage();
    238238        static size_t offsetOfPropertyStorage();
     239        static size_t offsetOfInheritorID();
    239240
    240241        static JS_EXPORTDATA const ClassInfo s_info;
     
    264265        JSObject(JSGlobalData&, Structure*, PropertyStorage inlineStorage);
    265266       
    266         void resetInheritorID(JSGlobalData& globalData)
    267         {
    268             removeDirect(globalData, globalData.m_inheritorIDKey);
     267        void resetInheritorID()
     268        {
     269            m_inheritorID.clear();
    269270        }
    270271
     
    303304
    304305        StorageBarrier m_propertyStorage;
    305 
    306 #if USE(JSVALUE32_64)
    307         // FIXME: keep the size of JSObject a multiple of 64-bits, so that the
    308         // internal storage is aligned. We can remove this when we remove JSCell's
    309         // direct ClassInfo pointer.
    310         void* sixtyFourBitAlign;
    311 #endif
     306        WriteBarrier<Structure> m_inheritorID;
    312307    };
    313308
     
    317312#define JSFinalObject_inlineStorageCapacity 6
    318313#else
    319 #define JSNonFinalObject_inlineStorageCapacity 3
    320 #define JSFinalObject_inlineStorageCapacity 5
     314#define JSNonFinalObject_inlineStorageCapacity 2
     315#define JSFinalObject_inlineStorageCapacity 4
    321316#endif
    322317
     
    423418}
    424419
     420inline size_t JSObject::offsetOfInheritorID()
     421{
     422    return OBJECT_OFFSETOF(JSObject, m_inheritorID);
     423}
     424
    425425inline bool JSObject::isGlobalObject() const
    426426{
     
    515515inline Structure* JSObject::inheritorID(JSGlobalData& globalData)
    516516{
    517     if (WriteBarrierBase<Unknown>* location = getDirectLocation(globalData, globalData.m_inheritorIDKey)) {
    518         Structure* inheritorID = jsCast<Structure*>(location->get());
    519         ASSERT(inheritorID->isEmpty());
    520         return inheritorID;
     517    if (m_inheritorID) {
     518        ASSERT(m_inheritorID->isEmpty());
     519        return m_inheritorID.get();
    521520    }
    522521    return createInheritorID(globalData);
Note: See TracChangeset for help on using the changeset viewer.