• dcarney@chromium.org's avatar
    Fix stub-invoked setter callback handling. · 7cee5294
    dcarney@chromium.org authored
    When invoking a setter callback for a property using
    JSObject::SetPropertyWithCallback(),the callback arguments includes
    a correct pair of receiver and holder objects.
    
    Such a pair of _possibly different_ arguments (receiver, holder) must
    also be supplied when invoking the same setter callback from JITed
    code, when the setter is invoked through the StoreCallbackProperty
    stub.
    
    An example where this matters are the accessor properties kept on the
    global scope of Worker (i.e., properties kept on the global object
    itself, and not on its prototype.) Conflating the receiver with the
    holder leads to general confusion when attempting to fetch out the
    wrapper object.
    
    LOG=N
    R=dcarney@chromium.org, dcarney
    BUG=239669
    
    Review URL: https://codereview.chromium.org/139263008
    
    Patch from Sigbjorn Finne <sigbjornf@opera.com>.
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    7cee5294
stub-cache-ia32.cc 102 KB