Set "name" property for all anonymous functions
Categories
(Core :: JavaScript Engine, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: anba, Assigned: anba)
Details
Attachments
(7 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Implement the spec changes from https://github.com/tc39/ecma262/pull/1490.
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
This ensures an empty string is used for the name and actually also matches
the spec since https://github.com/tc39/ecma402/pull/208.
Assignee | ||
Comment 2•5 years ago
|
||
Default the "name" property of anonymous class expressions to the empty string
by removing the special case in JSFunction::infallibleGetUnresolvedName()
.
With that change applied, infallibleGetUnresolvedName()
never returns nullptr,
so we can remove nullptr handling in its callers. And additionally
JSFunction::getUnresolvedName()
can be changed back to use MutableHandleValue
as its parameter, which also (re-)aligns the function with getUnresolvedLength()
.
Depends on D42153
Assignee | ||
Comment 3•5 years ago
|
||
An absent name and an empty string as the inferred name are now
indistinguishable, so we can remove the special case for empty strings in
ObjectEmitter.
Depends on D42154
Assignee | ||
Comment 4•5 years ago
|
||
Depends on D42155
Assignee | ||
Comment 5•5 years ago
|
||
Depends on D42156
Assignee | ||
Comment 6•5 years ago
|
||
Update test262 to get the changes from https://github.com/tc39/test262/pull/2299.
Assignee | ||
Comment 7•5 years ago
|
||
Assignee | ||
Comment 8•5 years ago
|
||
Try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=5dc4835f226122a4b47ba1da6671c3c613066ad1
Pushed by nbeleuzu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5bc09a0dde11
Part 7: Update test262 exclusions. r=khyperia
Comment 10•5 years ago
|
||
Pushed by nbeleuzu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/de51f104550c Part 6: Update test262. r=khyperia
Comment 11•5 years ago
|
||
Pushed by nbeleuzu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/782ab98dcdc6 Part 1: Use function closures instead of bound functions for cached getter functions. r=jorendorff https://hg.mozilla.org/integration/autoland/rev/721c8caa85e3 Part 2: Assign "name" property for anonymous class expressions. r=khyperia https://hg.mozilla.org/integration/autoland/rev/9d1a72c0bb0c Part 3: Remove special-case for inferred empty name string. r=khyperia https://hg.mozilla.org/integration/autoland/rev/e2a74d92bdab Part 4: Update comment for "name" property of TypeErrorThrower. r=khyperia https://hg.mozilla.org/integration/autoland/rev/69a6c6867bde Part 5: Update test262 features list. r=khyperia
Comment 12•5 years ago
|
||
Backout by nbeleuzu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/819718b9de10 Backed out 7 changesets for jsreftest failures on resolve-element-function-name.js . CLOSED TREE
Comment 13•5 years ago
|
||
Pushed by nbeleuzu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/17c3ae6d4a96 Part 1: Use function closures instead of bound functions for cached getter functions. r=jorendorff https://hg.mozilla.org/integration/autoland/rev/e6d2c7668965 Part 2: Assign "name" property for anonymous class expressions. r=khyperia https://hg.mozilla.org/integration/autoland/rev/e0ffbccc9edc Part 3: Remove special-case for inferred empty name string. r=khyperia https://hg.mozilla.org/integration/autoland/rev/4d341c6816c2 Part 4: Update comment for "name" property of TypeErrorThrower. r=khyperia https://hg.mozilla.org/integration/autoland/rev/f53ba6ebc0b7 Part 5: Update test262 features list. r=khyperia https://hg.mozilla.org/integration/autoland/rev/bc2a756c4554 Part 6: Update test262. r=khyperia https://hg.mozilla.org/integration/autoland/rev/f5da79194d06 Part 7: Update test262 exclusions. r=khyperia
Comment 14•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/17c3ae6d4a96
https://hg.mozilla.org/mozilla-central/rev/e6d2c7668965
https://hg.mozilla.org/mozilla-central/rev/e0ffbccc9edc
https://hg.mozilla.org/mozilla-central/rev/4d341c6816c2
https://hg.mozilla.org/mozilla-central/rev/f53ba6ebc0b7
https://hg.mozilla.org/mozilla-central/rev/bc2a756c4554
https://hg.mozilla.org/mozilla-central/rev/f5da79194d06
Description
•