Ignore:
Timestamp:
Nov 9, 2009, 6:19:04 PM (16 years ago)
Author:
[email protected]
Message:

Can cache prototype lookups on uncacheable dictionaries.
https://bugs.webkit.org/show_bug.cgi?id=31198

Reviewed by Gavin Barraclough.

Replace fromDictionaryTransition with flattenDictionaryObject and
flattenDictionaryStructure. This change is necessary as we need to
guarantee that our attempt to convert away from a dictionary structure
will definitely succeed, and in some cases this requires mutating the
object storage itself.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/interpreter/Interpreter.cpp

    r50675 r50704  
    10431043        // should not be treated as a dictionary.
    10441044        if (baseObject->structure()->isDictionary())
    1045             baseObject->setStructure(Structure::fromDictionaryTransition(baseObject->structure()));
     1045            baseObject->flattenDictionaryObject();
    10461046
    10471047        ASSERT(!baseObject->structure()->isUncacheableDictionary());
Note: See TracChangeset for help on using the changeset viewer.