Use MInt64ToBigInt to create BigInt from Int64
Categories
(Core :: JavaScript Engine: JIT, enhancement, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox131 | --- | fixed |
People
(Reporter: anba, Assigned: anba)
References
(Blocks 1 open bug)
Details
Attachments
(8 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 | |
Bug 1913947 - Part 6: Return Int64 from MAtomicExchangeTypedArrayElement. r=#spidermonkey-reviewers!
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
Multiple MIR nodes inline the Int64 -> BigInt
conversion (cf. MLoadUnboxedScalar
, MLoadDataViewElement
, etc.) instead of using MInt64ToBigInt
. Reusing MInt64ToBigInt
for the conversion leads to an easier implementation and will allow further follow-up optimisations.
Assignee | ||
Comment 1•1 month ago
|
||
Change MInt64ToBigInt
to allow creating unsigned BigInt64. Later parts will
use this functionality.
Assignee | ||
Comment 2•1 month ago
|
||
MacroAssembler::initializeBigInt64
clobbers the input value, so we restore it
for LInt64ToBigInt
.
Assignee | ||
Comment 3•1 month ago
|
||
Return Int64 from MLoadUnboxedScalar
and then convert the Int64 through
MInt64ToBigInt
to get the BigInt result. This change will make it easier to
perform additional optimisations when reading from Big(U)Int64Array.
Assignee | ||
Comment 4•1 month ago
|
||
Similar to the previous part, return Int64 from MLoadDataViewElement and then
perform the Int64 -> BigInt conversion through a separate instruction.
Assignee | ||
Comment 5•1 month ago
|
||
Assignee | ||
Comment 6•1 month ago
|
||
Assignee | ||
Comment 7•1 month ago
|
||
Assignee | ||
Comment 8•1 month ago
|
||
Copying elements from one BigInt TypedArray to another will now no longer allocate
any temporary BigInts. (At least as long as the element is not captured by resume
points.)
Updated•1 month ago
|
Comment 10•29 days ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/f8a346e4e6ad
https://hg.mozilla.org/mozilla-central/rev/9a778b3bf532
https://hg.mozilla.org/mozilla-central/rev/3ee7cb924d2d
https://hg.mozilla.org/mozilla-central/rev/c095d58480bf
https://hg.mozilla.org/mozilla-central/rev/74a4462d7c6f
https://hg.mozilla.org/mozilla-central/rev/aa8618d34187
https://hg.mozilla.org/mozilla-central/rev/148129eff6c6
https://hg.mozilla.org/mozilla-central/rev/13d1ab80a048
Description
•