|
|
Description[regexp] Set static property attributes as in spec proposal
'[...] accessor properties who have the attributes { [[Enumerable]]:
false, [[Configurable]]: true } [...]'
BUG=v8:5566
Committed: https://crrev.com/88c5a300c5d291a76cf62c216aeeddf022efea45
Cr-Commit-Position: refs/heads/master@{#40609}
Patch Set 1 #
Total comments: 2
Patch Set 2 : Ensure setters are undefined #Patch Set 3 : Remove useless code #Patch Set 4 : Check properties are getters #
Total comments: 2
Patch Set 5 : Check setters as well #Messages
Total messages: 28 (18 generated)
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
jgruber@chromium.org changed reviewers: + littledan@chromium.org, yangguo@chromium.org
Let's see whether layout tests need to be updated.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm https://codereview.chromium.org/2452913002/diff/1/test/mjsunit/regress/regres... File test/mjsunit/regress/regress-5566.js (right): https://codereview.chromium.org/2452913002/diff/1/test/mjsunit/regress/regres... test/mjsunit/regress/regress-5566.js:22: assertFalse(Object.getOwnPropertyDescriptor(RegExp, prop).enumerable, prop); While you're looking at the property descriptors, it'd be nice to check that these are getter/setters.
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
https://codereview.chromium.org/2452913002/diff/1/test/mjsunit/regress/regres... File test/mjsunit/regress/regress-5566.js (right): https://codereview.chromium.org/2452913002/diff/1/test/mjsunit/regress/regres... test/mjsunit/regress/regress-5566.js:22: assertFalse(Object.getOwnPropertyDescriptor(RegExp, prop).enumerable, prop); On 2016/10/26 08:36:41, Dan Ehrenberg wrote: > While you're looking at the property descriptors, it'd be nice to check that > these are getter/setters. Done, and also changed setters to be undefined instead of the EmptyFunction builtin.
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: v8_mac_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel_ng/builds/11501) v8_mac_rel_ng_triggered on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel_ng_triggered/bui...)
Could you back out that setter change from this patch? I hadn't noticed it in the legacy properties spec--that seems like a big deal! It would make setting the legacy properties throw in strict mode--obscure, to be sure, but making code that doesn't throw throw could really break websites. I don't know if it's web-compatible. The best way to go forward would be to replace kEmptyFunction with a builtin which increments a UseCounter so we can learn how frequently this setter path is hit. If it is hit "too frequently" (a subjective measurement), then we should petition to change the draft spec to use empty functions as setters as well, to suppress the exception.
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2016/10/26 09:59:58, Dan Ehrenberg wrote: > Could you back out that setter change from this patch? I hadn't noticed it in > the legacy properties spec--that seems like a big deal! It would make setting > the legacy properties throw in strict mode--obscure, to be sure, but making code > that doesn't throw throw could really break websites. I don't know if it's > web-compatible. > > The best way to go forward would be to replace kEmptyFunction with a builtin > which increments a UseCounter so we can learn how frequently this setter path is > hit. If it is hit "too frequently" (a subjective measurement), then we should > petition to change the draft spec to use empty functions as setters as well, to > suppress the exception. Ok, reverted back to kEmptyFunction for now and we can do the UseCounters in a follow-up (not doing them here since it requires touching chromium as well).
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm https://codereview.chromium.org/2452913002/diff/60001/test/mjsunit/regress/re... File test/mjsunit/regress/regress-5566.js (right): https://codereview.chromium.org/2452913002/diff/60001/test/mjsunit/regress/re... test/mjsunit/regress/regress-5566.js:20: assertTrue(desc.get !== undefined, prop); Since we left it this way on purpose, how about desc.set !== undefined as well?
https://codereview.chromium.org/2452913002/diff/60001/test/mjsunit/regress/re... File test/mjsunit/regress/regress-5566.js (right): https://codereview.chromium.org/2452913002/diff/60001/test/mjsunit/regress/re... test/mjsunit/regress/regress-5566.js:20: assertTrue(desc.get !== undefined, prop); On 2016/10/26 11:14:27, Dan Ehrenberg wrote: > Since we left it this way on purpose, how about desc.set !== undefined as well? Done.
The CQ bit was checked by jgruber@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from littledan@chromium.org Link to the patchset: https://codereview.chromium.org/2452913002/#ps80001 (title: "Check setters as well")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Committed patchset #5 (id:80001)
Message was sent while issue was closed.
Description was changed from ========== [regexp] Set static property attributes as in spec proposal '[...] accessor properties who have the attributes { [[Enumerable]]: false, [[Configurable]]: true } [...]' BUG=v8:5566 ========== to ========== [regexp] Set static property attributes as in spec proposal '[...] accessor properties who have the attributes { [[Enumerable]]: false, [[Configurable]]: true } [...]' BUG=v8:5566 Committed: https://crrev.com/88c5a300c5d291a76cf62c216aeeddf022efea45 Cr-Commit-Position: refs/heads/master@{#40609} ==========
Message was sent while issue was closed.
Patchset 5 (id:??) landed as https://crrev.com/88c5a300c5d291a76cf62c216aeeddf022efea45 Cr-Commit-Position: refs/heads/master@{#40609} |