|
|
DescriptionGenerate inferred names for es6 class functions
Inferred names are currently generated for FunctionLiterals but not generated
for ClassLiterals. Without them, DevTools does not have enough information to
make descriptive descriptions.
E.g.
var x = {y: class{}};
var a = new x.y();
console.log(a);
This shows "Object{}" when it could be more descriptive "x.y {}"
BUG=v8:5621
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
Committed: https://crrev.com/e80cfa000b5be9ee92b9fd95ebe63cb2da63c553
Cr-Commit-Position: refs/heads/master@{#41013}
Patch Set 1 #
Total comments: 2
Patch Set 2 : fix test expectation #
Total comments: 2
Patch Set 3 : Remove unused, duplicate, strings #Patch Set 4 : fix format #Patch Set 5 : Use cctest instead of inspector protocol test #Patch Set 6 : git cl format #Messages
Total messages: 45 (26 generated)
Description was changed from ========== Generate inferred names for es6 class functions BUG=5621 ========== to ========== Generate inferred names for es6 class functions Inferred names are currently generated for FunctionLiterals but not generated for ClassLiterals. Without them, DevTools does not have enough information to make descriptive descriptions. E.g. var x = {y: class{}}; var a = new x.y(); console.log(a); This shows "Object{}" when it could be more descriptive "x.y {}" BUG=5621 ==========
luoe@chromium.org changed reviewers: + kozyatinskiy@chromium.org
@kozyatinskiy, do you know who would be the best reviewers / owners I should CC?
luoe@chromium.org changed reviewers: + einbinder@chromium.org
kozyatinskiy@chromium.org changed reviewers: + yangguo@chromium.org
wow, great. lgtm, Yang, could you take a look?
Please add following line into CL description. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel to force running blink layout tests to check that all layout tests are ready for this change. Or check it manually.
yangguo@chromium.org changed reviewers: + vogelheim@chromium.org
lgtm, but some actual owner needs to review this.
https://codereview.chromium.org/2488193003/diff/1/test/inspector/runtime/func... File test/inspector/runtime/function-inferred-names-expected.txt (right): https://codereview.chromium.org/2488193003/diff/1/test/inspector/runtime/func... test/inspector/runtime/function-inferred-names-expected.txt:1: a What is going on in this expected file?
Expectation set, test description added. PTAL https://codereview.chromium.org/2488193003/diff/1/test/inspector/runtime/func... File test/inspector/runtime/function-inferred-names-expected.txt (right): https://codereview.chromium.org/2488193003/diff/1/test/inspector/runtime/func... test/inspector/runtime/function-inferred-names-expected.txt:1: a On 2016/11/11 08:51:41, einbinder wrote: > What is going on in this expected file? Good catch, I forgot to set the expectation.txt file, sorry.
Description was changed from ========== Generate inferred names for es6 class functions Inferred names are currently generated for FunctionLiterals but not generated for ClassLiterals. Without them, DevTools does not have enough information to make descriptive descriptions. E.g. var x = {y: class{}}; var a = new x.y(); console.log(a); This shows "Object{}" when it could be more descriptive "x.y {}" BUG=5621 ========== to ========== Generate inferred names for es6 class functions Inferred names are currently generated for FunctionLiterals but not generated for ClassLiterals. Without them, DevTools does not have enough information to make descriptive descriptions. E.g. var x = {y: class{}}; var a = new x.y(); console.log(a); This shows "Object{}" when it could be more descriptive "x.y {}" BUG=v8:5621 ==========
luoe@chromium.org changed reviewers: + marja@chromium.org
@marja, if you're working on V8 parser-related things, would you like to take a look?
lgtm
Description was changed from ========== Generate inferred names for es6 class functions Inferred names are currently generated for FunctionLiterals but not generated for ClassLiterals. Without them, DevTools does not have enough information to make descriptive descriptions. E.g. var x = {y: class{}}; var a = new x.y(); console.log(a); This shows "Object{}" when it could be more descriptive "x.y {}" BUG=v8:5621 ========== to ========== Generate inferred names for es6 class functions Inferred names are currently generated for FunctionLiterals but not generated for ClassLiterals. Without them, DevTools does not have enough information to make descriptive descriptions. E.g. var x = {y: class{}}; var a = new x.y(); console.log(a); This shows "Object{}" when it could be more descriptive "x.y {}" BUG=v8:5621 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel ==========
The CQ bit was checked by luoe@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/2488193003/diff/20001/test/inspector/runtime/... File test/inspector/runtime/function-inferred-names.js (right): https://codereview.chromium.org/2488193003/diff/20001/test/inspector/runtime/... test/inspector/runtime/function-inferred-names.js:11: What's up with this duplication? What are these strings used for? (I'm not familiar with these kind of tests.)
https://codereview.chromium.org/2488193003/diff/20001/test/inspector/runtime/... File test/inspector/runtime/function-inferred-names.js (right): https://codereview.chromium.org/2488193003/diff/20001/test/inspector/runtime/... test/inspector/runtime/function-inferred-names.js:11: My fault here, I thought I removed these duplicate strings. They aren't being used at all. This new test file is a part of the group that checks interactions between V8 and the inspector protocol.
The CQ bit was checked by luoe@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: This issue passed the CQ dry run.
lgtm, but the test is kinda indirect... it should be possible to test this with a normal mjsunit test without going through the inspector!
On 2016/11/15 14:32:38, marja wrote: > lgtm, but the test is kinda indirect... it should be possible to test this with > a normal mjsunit test without going through the inspector! yes. iirc stack traces also use inferred names.
On 2016/11/15 14:34:31, Yang wrote: > On 2016/11/15 14:32:38, marja wrote: > > lgtm, but the test is kinda indirect... it should be possible to test this > with > > a normal mjsunit test without going through the inspector! > > yes. iirc stack traces also use inferred names. Based on the CL description, even simpler tests (without stack traces) should be possible.
On 2016/11/15 16:03:59, marja wrote: > On 2016/11/15 14:34:31, Yang wrote: > > On 2016/11/15 14:32:38, marja wrote: > > > lgtm, but the test is kinda indirect... it should be possible to test this > > with > > > a normal mjsunit test without going through the inspector! > > > > yes. iirc stack traces also use inferred names. > > Based on the CL description, even simpler tests (without stack traces) should be > possible. we also have a cctest/test-func-name-inferrer for this
Ah, I didn't know there were already tests for name inference in cctest. I've removed the inspector protocol ones and added a case in the existing file for the object property scenario. Thanks for the help reviewing!
The CQ bit was checked by luoe@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_presubmit on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/28606)
The CQ bit was checked by luoe@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...
lbtm (looks better to me) (ie lgtm)
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by luoe@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from kozyatinskiy@chromium.org, yangguo@chromium.org, vogelheim@chromium.org Link to the patchset: https://codereview.chromium.org/2488193003/#ps90001 (title: "git cl format")
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.
Description was changed from ========== Generate inferred names for es6 class functions Inferred names are currently generated for FunctionLiterals but not generated for ClassLiterals. Without them, DevTools does not have enough information to make descriptive descriptions. E.g. var x = {y: class{}}; var a = new x.y(); console.log(a); This shows "Object{}" when it could be more descriptive "x.y {}" BUG=v8:5621 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel ========== to ========== Generate inferred names for es6 class functions Inferred names are currently generated for FunctionLiterals but not generated for ClassLiterals. Without them, DevTools does not have enough information to make descriptive descriptions. E.g. var x = {y: class{}}; var a = new x.y(); console.log(a); This shows "Object{}" when it could be more descriptive "x.y {}" BUG=v8:5621 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel ==========
Message was sent while issue was closed.
Committed patchset #6 (id:90001)
Message was sent while issue was closed.
Description was changed from ========== Generate inferred names for es6 class functions Inferred names are currently generated for FunctionLiterals but not generated for ClassLiterals. Without them, DevTools does not have enough information to make descriptive descriptions. E.g. var x = {y: class{}}; var a = new x.y(); console.log(a); This shows "Object{}" when it could be more descriptive "x.y {}" BUG=v8:5621 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel ========== to ========== Generate inferred names for es6 class functions Inferred names are currently generated for FunctionLiterals but not generated for ClassLiterals. Without them, DevTools does not have enough information to make descriptive descriptions. E.g. var x = {y: class{}}; var a = new x.y(); console.log(a); This shows "Object{}" when it could be more descriptive "x.y {}" BUG=v8:5621 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Committed: https://crrev.com/e80cfa000b5be9ee92b9fd95ebe63cb2da63c553 Cr-Commit-Position: refs/heads/master@{#41013} ==========
Message was sent while issue was closed.
Patchset 6 (id:??) landed as https://crrev.com/e80cfa000b5be9ee92b9fd95ebe63cb2da63c553 Cr-Commit-Position: refs/heads/master@{#41013} |