Add MDefinition::definitelyType
Categories
(Core :: JavaScript Engine: JIT, enhancement)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox78 | --- | fixed |
People
(Reporter: anba, Assigned: anba)
Details
Attachments
(6 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 |
As suggested in https://phabricator.services.mozilla.com/D72641, add MDefinition::definitelyType() to change some MDefinition::mightBeType() callers to use whitelists instead of blacklists to guide optimisations.
| Assignee | ||
Comment 1•5 years ago
|
||
Part 3 adds another caller to this function.
| Assignee | ||
Comment 2•5 years ago
|
||
TypeSet::unknownObject() checks if TYPE_FLAG_UNKNOWN or TYPE_FLAG_ANYOBJECT
is set, but since the previous call to TypeSet::unknown() already filters
TYPE_FLAG_UNKNOWN, we only need to care about TYPE_FLAG_ANYOBJECT here. When
we additionally set TYPE_FLAG_ANYOBJECT for the baseObjectCount() != 0 case,
we can conflate the whole operation into a single bit-and instruction.
This will also simplify part 3.
Depends on D73884
| Assignee | ||
Comment 3•5 years ago
|
||
Add definitelyType() as an alternative to mightBeType() when we need to
find out if a MDefinition's types are guaranteed to be a subset of certain
types.
Depends on D73885
| Assignee | ||
Comment 4•5 years ago
|
||
Depends on D73886
| Assignee | ||
Comment 5•5 years ago
|
||
Depends on D73887
| Assignee | ||
Comment 6•5 years ago
|
||
Depends on D73888
Comment 8•5 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/7b0041e310fb
https://hg.mozilla.org/mozilla-central/rev/375db7943c69
https://hg.mozilla.org/mozilla-central/rev/9dd4ec80877b
https://hg.mozilla.org/mozilla-central/rev/309a51f48fa6
https://hg.mozilla.org/mozilla-central/rev/f205812a4516
https://hg.mozilla.org/mozilla-central/rev/da4ef62948b7
Description
•