|
|
Description[parsing] Be less pessimistic about maybe_assigned of parameters.
Instead of unconditionally setting maybe_assigned for parameters, treat
parameters like other variables except that at the end we set maybe_assigned if
the function has a sloppy arguments object.
R=adamk@chromium.org, mstarzinger@chromium.org
BUG=v8:5636
Review-Url: https://codereview.chromium.org/2578103002
Cr-Commit-Position: refs/heads/master@{#41731}
Committed: https://chromium.googlesource.com/v8/v8/+/7ca72292834361e2ebcff5da44e7657d6f53d388
Patch Set 1 #
Total comments: 1
Patch Set 2 : Remove unused variable and add more tests. #Patch Set 3 : Oooops #
Total comments: 3
Patch Set 4 : Add more tests and change setup. #Patch Set 5 : Simplify. #Patch Set 6 : Remove unused var. #
Messages
Total messages: 32 (22 generated)
The CQ bit was checked by neis@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...
lgtm with the additional tests https://codereview.chromium.org/2578103002/diff/1/test/cctest/test-parsing.cc File test/cctest/test-parsing.cc (right): https://codereview.chromium.org/2578103002/diff/1/test/cctest/test-parsing.cc... test/cctest/test-parsing.cc:3451: {false, "(function f(arg=1) {g(arg)})"}, Can you add a few tests with an argument called "arguments"? f(arguments) f(arguments=1) f(...arguments)
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: v8_linux64_gyp_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_gyp_rel_ng/build...)
The CQ bit was checked by neis@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_linux64_asan_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_asan_rel_ng/buil...) v8_linux64_asan_rel_ng_triggered on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_asan_rel_ng_trig...)
The CQ bit was checked by neis@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...
marja@chromium.org changed reviewers: + marja@chromium.org
lgtm % https://codereview.chromium.org/2578103002/diff/40001/test/cctest/test-parsin... File test/cctest/test-parsing.cc (right): https://codereview.chromium.org/2578103002/diff/40001/test/cctest/test-parsin... test/cctest/test-parsing.cc:3484: {true, "(function f(arg) {g(arg); eval('arguments[0] = 42'); g(arg)})"}, Can you add a test where arg is the rest parameter (and then either does or doesn't get assigned w/ the various constructs)?
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
https://codereview.chromium.org/2578103002/diff/40001/test/cctest/test-parsin... File test/cctest/test-parsing.cc (right): https://codereview.chromium.org/2578103002/diff/40001/test/cctest/test-parsin... test/cctest/test-parsing.cc:3445: {false, "(function f(arg) {})"}, Routing offline discussion here: The two cases you want to test are 1) top level eager funcs and 2) inner lazy funcs Here you always force the function to be eager so the lazy-nolazy distinguishion doesn't do want you want it to do.
LGTM from my end.
gsathya@chromium.org changed reviewers: + gsathya@chromium.org
https://codereview.chromium.org/2578103002/diff/40001/test/cctest/test-parsin... File test/cctest/test-parsing.cc (right): https://codereview.chromium.org/2578103002/diff/40001/test/cctest/test-parsin... test/cctest/test-parsing.cc:3449: {false, "(function f(arg) {function h() { g(arg) }; return h})"}, isn't this same as the previous one?
Description was changed from ========== [parsing] Be less pessimistic about maybe_assigned of parameters. Instead of unconditionally setting maybe_assigned for parameters, treat parameters like other variables except that at the end we set maybe_assigned if the function has a sloppy argument object. R=adamk@chromium.org, mstarzinger@chromium.org BUG=v8:5636 ========== to ========== [parsing] Be less pessimistic about maybe_assigned of parameters. Instead of unconditionally setting maybe_assigned for parameters, treat parameters like other variables except that at the end we set maybe_assigned if the function has a sloppy arguments object. R=adamk@chromium.org, mstarzinger@chromium.org BUG=v8:5636 ==========
The CQ bit was checked by neis@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from adamk@chromium.org, marja@chromium.org, mstarzinger@chromium.org Link to the patchset: https://codereview.chromium.org/2578103002/#ps80001 (title: "Simplify.")
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
Try jobs failed on following builders: v8_linux64_gyp_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_gyp_rel_ng/build...)
The CQ bit was checked by neis@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from marja@chromium.org, adamk@chromium.org, mstarzinger@chromium.org Link to the patchset: https://codereview.chromium.org/2578103002/#ps100001 (title: "Remove unused var.")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 100001, "attempt_start_ts": 1481816194140000, "parent_rev": "b4aadaec1e46a98f2c2ee273c99aa808e19c770f", "commit_rev": "7ca72292834361e2ebcff5da44e7657d6f53d388"}
Message was sent while issue was closed.
Description was changed from ========== [parsing] Be less pessimistic about maybe_assigned of parameters. Instead of unconditionally setting maybe_assigned for parameters, treat parameters like other variables except that at the end we set maybe_assigned if the function has a sloppy arguments object. R=adamk@chromium.org, mstarzinger@chromium.org BUG=v8:5636 ========== to ========== [parsing] Be less pessimistic about maybe_assigned of parameters. Instead of unconditionally setting maybe_assigned for parameters, treat parameters like other variables except that at the end we set maybe_assigned if the function has a sloppy arguments object. R=adamk@chromium.org, mstarzinger@chromium.org BUG=v8:5636 Review-Url: https://codereview.chromium.org/2578103002 Cr-Commit-Position: refs/heads/master@{#41731} Committed: https://chromium.googlesource.com/v8/v8/+/7ca72292834361e2ebcff5da44e7657d6f5... ==========
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as https://chromium.googlesource.com/v8/v8/+/7ca72292834361e2ebcff5da44e7657d6f5... |