Split up jsutil.h and use std functions where possible
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox72 | --- | fixed |
People
(Reporter: anba, Assigned: anba)
Details
Attachments
(19 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 | |
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 | |
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 |
Updated•6 years ago
|
Assignee | ||
Comment 1•6 years ago
|
||
AddContainerToHash and ForEach aren't used (anymore).
Assignee | ||
Comment 2•6 years ago
|
||
Depends on D51360
Assignee | ||
Comment 3•6 years ago
|
||
mozilla::Vector already provides an eraseIf
method, so we should prefer to use
the existing method. Except that Vector::eraseIf doesn't return the number of
elements removed, but that's easy to determine manually. More annoyingly is the
use of a modifying predicate function in Zone.cpp, which prevents using
Vector::eraseIf. It looks like for that specific use case a custome EraseIf
function is still necessary.
Depends on D51361
Assignee | ||
Comment 4•6 years ago
|
||
Depends on D51362
Assignee | ||
Comment 5•6 years ago
|
||
Depends on D51363
Assignee | ||
Comment 6•6 years ago
|
||
Depends on D51364
Assignee | ||
Comment 7•6 years ago
|
||
Depends on D51365
Assignee | ||
Comment 8•6 years ago
|
||
A single header for both memory and byte alignment functions, similar to the
standard <memory> header, which also provides memory and byte alignment related
functionality.
Depends on D51366
Assignee | ||
Comment 9•6 years ago
|
||
Depends on D51367
Assignee | ||
Comment 10•6 years ago
|
||
Depends on D51368
Assignee | ||
Comment 11•6 years ago
|
||
The includes are still transitively reachable through the new "#include util/*.h" headers.
Depends on D51369
Assignee | ||
Comment 12•6 years ago
|
||
For the most part another mechanical change, except for two changes:
- In gc/Nursery.cpp and vm/DateTime.cpp, the initializer_list variants for
std::min/max are used, because the two parameter forms of min/max take const
reference parameters. And it's not possible to take the reference of a
constexpr variable which wasn't previously explicitly defined. This is just
a C++14 limitation and as soon as we compile with C++17, we can revert this
change. - builtin/String.cpp was calling
Max(unsignedVar, 0U)
in a few places, which
led to compiler warnings, because the result is alwaysunsignedVar
.
Depends on D51370
Assignee | ||
Comment 13•6 years ago
|
||
Depends on D51371
Assignee | ||
Comment 14•6 years ago
|
||
Depends on D51372
Assignee | ||
Comment 15•6 years ago
|
||
Depends on D51373
Assignee | ||
Comment 16•6 years ago
|
||
Depends on D51374
Assignee | ||
Comment 17•6 years ago
|
||
And handle the fallout of missing #includes when compiling a non-unified build.
Depends on D51375
Assignee | ||
Comment 18•6 years ago
|
||
Depends on D51376
Assignee | ||
Comment 19•6 years ago
|
||
This file provides the implementation of js/Utility.h, so it should be renamed
to match the header name.
Depends on D51377
Comment 20•6 years ago
|
||
Comment 21•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3cd1ccce483f
https://hg.mozilla.org/mozilla-central/rev/39d4f511997a
https://hg.mozilla.org/mozilla-central/rev/01b3529c554e
https://hg.mozilla.org/mozilla-central/rev/aeed2e27a9bd
https://hg.mozilla.org/mozilla-central/rev/3d592f96e69a
https://hg.mozilla.org/mozilla-central/rev/212c71d3ed1c
https://hg.mozilla.org/mozilla-central/rev/3b7daea3fbf0
https://hg.mozilla.org/mozilla-central/rev/ab4ac2b0cb6e
https://hg.mozilla.org/mozilla-central/rev/c7eee900c240
https://hg.mozilla.org/mozilla-central/rev/e6fb5e9d00f4
https://hg.mozilla.org/mozilla-central/rev/2df8363a5d34
https://hg.mozilla.org/mozilla-central/rev/879358fd1771
https://hg.mozilla.org/mozilla-central/rev/6f9ec747d5b6
https://hg.mozilla.org/mozilla-central/rev/70f5608fb8f2
https://hg.mozilla.org/mozilla-central/rev/c29e5c442d0e
https://hg.mozilla.org/mozilla-central/rev/1f4c3e6e6c7e
https://hg.mozilla.org/mozilla-central/rev/e7051eca20f5
https://hg.mozilla.org/mozilla-central/rev/75f180647de3
https://hg.mozilla.org/mozilla-central/rev/b78631b2bccd
Description
•