Improve CacheIR support for null/undefined/bool for unary/binary arithmetic ops
Categories
(Core :: JavaScript Engine: JIT, task, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox98 | --- | fixed |
People
(Reporter: jandem, Assigned: jandem)
References
Details
(Keywords: perf)
Attachments
(7 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
I have some patches that improve the micro-benchmark below from 580 ms to 9 ms locally.
Based on the profile there, this might help bug 1745639. These types also show up a number of times while browsing various websites.
function f(a, b) {
var res = 0;
for (var i = 0; i < 10_000_000; i++) {
res = (a + i) + -b;
}
return res;
}
var t = new Date;
f(null, undefined);
print(new Date - t);
| Assignee | ||
Comment 1•4 years ago
|
||
This is similar to the Int64 stub fields we already support.
| Assignee | ||
Comment 2•4 years ago
|
||
Depends on D137120
| Assignee | ||
Comment 3•4 years ago
|
||
It's straight-forward to support null here in addition to int32 and boolean.
Depends on D137121
| Assignee | ||
Comment 4•4 years ago
|
||
Depends on D137122
| Assignee | ||
Comment 5•4 years ago
|
||
Depends on D137123
| Assignee | ||
Comment 6•4 years ago
|
||
Depends on D137124
| Assignee | ||
Comment 7•4 years ago
|
||
Depends on D137125
Comment 9•4 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/b2931a447f7e
https://hg.mozilla.org/mozilla-central/rev/afb4a471cd8f
https://hg.mozilla.org/mozilla-central/rev/b564ab08d861
https://hg.mozilla.org/mozilla-central/rev/6bb50e480f6c
https://hg.mozilla.org/mozilla-central/rev/aae92d923cca
https://hg.mozilla.org/mozilla-central/rev/cd1d702f97b1
https://hg.mozilla.org/mozilla-central/rev/1d6c7a604dd6
Description
•