• rossberg@chromium.org's avatar
    Make Function.length and Function.name configurable properties. · 7317b71f
    rossberg@chromium.org authored
    ES6 makes the Function object properties "length" and "name"
    configurable; switch the implementation over to follow that.
    
    Doing so exposed a problem in the handling of non-writable, but
    configurable properties backed by foreign callback accessors
    internally. As an optimization, if such an accessor property is
    re-defined with a new value, its setter was passed the new value
    directly, keeping the property as an accessor property. However, this
    is not correct should the property be non-writable, as its setter will
    then simply ignore the updated value. Adjust the enabling logic for
    this optimization accordingly, along with adding a test.
    
    LOG=N
    R=rossberg@chromium.org, rossberg
    BUG=v8:3045
    
    Review URL: https://codereview.chromium.org/116083006
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    7317b71f
regress-270142.js 1.98 KB