Skip to content
  • barraclough@apple.com's avatar
    JavaScriptCore: · 7b19d4d9
    barraclough@apple.com authored
    2009-06-17  Gavin Barraclough  <barraclough@apple.com>
    
            Reviewed by Oliver Hunt.
    
            <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com
    
            Remove PropertySlot::putValue - PropertySlots should only be used for getting,
            not putting.  Rename JSGlobalObject::getOwnPropertySlot to hasOwnPropertyForWrite,
            which is what it really was being used to ask, and remove some other getOwnPropertySlot
            & getOwnPropertySlotForWrite methods, which were unused and likely to lead to confusion.
    
            * runtime/JSGlobalObject.h:
            (JSC::JSGlobalObject::hasOwnPropertyForWrite):
            * runtime/JSObject.h:
            * runtime/JSStaticScopeObject.cpp:
            * runtime/JSStaticScopeObject.h:
            * runtime/PropertySlot.h:
    
    WebCore:
    
    2009-06-17  Gavin Barraclough  <barraclough@apple.com>
    
            Reviewed by Oliver Hunt.
    
            <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com
    
            JSDOMWindowCustom was using PropertySlot::putValue, however this interface
            appears to be fundaementally incorrect - PropertySlots are only used to get
            values, all puts use PutPropertySlot.  However PutPropertySlot cannot be
            used in the fashion desired here - it only reports the caching type of a
            write that has been performed.
    
            (This caused a bug where the put should have triggered a transition, and
            failed to do so.)
    
            Removing the faulty case from the optimization leads to a ~0.5% progression
            on in-browser SunSpider (presumably the very first case was not being hit
            often, and the simplification here is beneficial).
    
            * bindings/js/JSDOMWindowCustom.cpp:
            (WebCore::JSDOMWindow::put):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@44757 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    7b19d4d9