Changeset 37381 in webkit for trunk/JavaScriptCore/VM/CTI.cpp


Ignore:
Timestamp:
Oct 7, 2008, 11:17:37 AM (17 years ago)
Author:
[email protected]
Message:

2008-10-07 Cameron Zwarich <[email protected]>

Rubber-stamped by Mark Rowe.

Roll out r37370.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/VM/CTI.cpp

    r37370 r37381  
    27442744static JSValue* SFX_CALL transitionObject(StructureID* newStructureID, size_t cachedOffset, JSObject* baseObject, JSValue* value)
    27452745{
     2746    StructureID* oldStructureID = newStructureID->previousID();
     2747
    27462748    baseObject->transitionTo(newStructureID);
     2749
     2750    if (oldStructureID->propertyMap().storageSize() == JSObject::inlineStorageCapacity)
     2751        baseObject->allocatePropertyStorage(oldStructureID->propertyMap().storageSize(), oldStructureID->propertyMap().size());
     2752
    27472753    baseObject->putDirectOffset(cachedOffset, value);
    27482754    return baseObject;
     
    27532759static inline bool transitionWillNeedStorageRealloc(StructureID* oldStructureID, StructureID* newStructureID)
    27542760{
    2755     return oldStructureID->propertyStorageCapacity() != newStructureID->propertyStorageCapacity();
     2761    if (oldStructureID->propertyMap().storageSize() == JSObject::inlineStorageCapacity)
     2762        return true;
     2763
     2764    if (oldStructureID->propertyMap().storageSize() < JSObject::inlineStorageCapacity)
     2765        return false;
     2766
     2767    if (oldStructureID->propertyMap().size() != newStructureID->propertyMap().size())
     2768        return true;
     2769
     2770    return false;
    27562771}
    27572772
Note: See TracChangeset for help on using the changeset viewer.