DescriptionMake Function.length and Function.name configurable properties.
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
Committed: https://code.google.com/p/v8/source/detail?r=19200
Patch Set 1 #
Total comments: 3
Patch Set 2 : Improve test changes somewhat #
Total comments: 2
Patch Set 3 : Make comment + predicate more precise/correct. #
Messages
Total messages: 12 (0 generated)
|