Update Temporal implementation to draft Nov 6, 2023
Categories
(Core :: JavaScript: Standard Library, task, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox122 | --- | fixed |
People
(Reporter: anba, Assigned: anba)
References
(Blocks 1 open bug)
Details
Attachments
(24 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
Bug 1868962 - Part 2: Avoid extra allocations when calling GetInstantFor. 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 | |
|
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 | |
|
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 | |
|
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 1868962 - Part 23: Avoid extra Zoned→Plain conversion in AddDuration. r=#spidermonkey-reviewers!
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
| Assignee | ||
Comment 1•2 years ago
|
||
| Assignee | ||
Comment 2•2 years ago
|
||
Adds PlainDateTimeWithCalendar to avoid PlainDateTimeObject allocations where
possible.
Depends on D195864
| Assignee | ||
Comment 3•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/5194420e7d70fa1ae67c489f3b3b84955d1b2989
Depends on D195865
| Assignee | ||
Comment 4•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/1ff91a9730ace0af31177afab5c57bc343a5ab2f
Depends on D195866
| Assignee | ||
Comment 5•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/db1e0b33cd09284bf81fde141dec661e74844def
Depends on D195867
| Assignee | ||
Comment 6•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/27c8876007c043982201f1939a2da3e8b696237a
Depends on D195868
| Assignee | ||
Comment 7•2 years ago
|
||
Prefer PlainObject instead of JSObject as a hint that the options object
aren't arbitrary objects.
Depends on D195869
| Assignee | ||
Comment 8•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/4bd36244f0de8420a08faa10d4614f7fe435d3a6
Depends on D195870
| Assignee | ||
Comment 9•2 years ago
|
||
Part 8 ensures that the initial value of days doesn't exceed ±200'000'000. This
allows to change days from double to int64_t, because overflowing an int64
value which starts at ±200'000'000 and can only incremented by one can't happen in
a reasonable amount of time.
Depends on D195871
| Assignee | ||
Comment 10•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/72d61c2296665aac023561ce00c6b11d6319a941
Depends on D195872
| Assignee | ||
Comment 11•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/6eec81db8645823bd361310daa7b575fb702ac9f
Depends on D195873
| Assignee | ||
Comment 12•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/26369ba0cf5be4b9dc8c6cecb5de16acba09e2e6
Depends on D195874
| Assignee | ||
Comment 13•2 years ago
|
||
Similar to part 2, we can avoid allocating ZonedDateTimeObject in a couple of places.
Depends on D195875
| Assignee | ||
Comment 14•2 years ago
|
||
Use ZonedDateTime also for ToTemporalZonedDateTime to avoid unnecessary allocations.
Depends on D195876
| Assignee | ||
Comment 15•2 years ago
|
||
Depends on D195877
| Assignee | ||
Comment 16•2 years ago
|
||
Prefer the overloaded == operator to make the code a bit more readable.
Depends on D195878
| Assignee | ||
Comment 17•2 years ago
|
||
Similar to parts 2 and 13, add a class to replace PlainDateObject when no
allocations are necessary.
Depends on D195879
| Assignee | ||
Comment 18•2 years ago
|
||
Implement the changes from:
https://github.com/tc39/proposal-temporal/pull/2708
Depends on D195880
| Assignee | ||
Comment 19•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/019a632a4f70c3ea55c412ae36404ba75f7464e4
Depends on D195881
| Assignee | ||
Comment 20•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/771da57e986e03ea44b6b64fe81466c2fbcb66b5
Depends on D195882
| Assignee | ||
Comment 21•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/fce7ec8a1fc603861f81d4a557f345af304a9d90
Depends on D195883
| Assignee | ||
Comment 22•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/57ec4591ec780db0249181e8ac2beff55fe8b2c7
Depends on D195884
| Assignee | ||
Comment 23•2 years ago
|
||
Changes from:
https://github.com/tc39/proposal-temporal/commit/dce8cf42d30ca59ad6a41105d0a01096bfa659ef
Depends on D195885
| Assignee | ||
Comment 24•2 years ago
|
||
Depends on D195886
Updated•2 years ago
|
Comment 25•2 years ago
|
||
Comment 26•2 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/a6df27d326e9
https://hg.mozilla.org/mozilla-central/rev/54b2c01ed865
https://hg.mozilla.org/mozilla-central/rev/2b1659f24e43
https://hg.mozilla.org/mozilla-central/rev/3c19db04360b
https://hg.mozilla.org/mozilla-central/rev/8bc5d28a55ec
https://hg.mozilla.org/mozilla-central/rev/09119edb585e
https://hg.mozilla.org/mozilla-central/rev/cac76e7f171b
https://hg.mozilla.org/mozilla-central/rev/2a0942c538f1
https://hg.mozilla.org/mozilla-central/rev/d1384db54f32
https://hg.mozilla.org/mozilla-central/rev/87c17ad2de55
https://hg.mozilla.org/mozilla-central/rev/67d542cd14c2
https://hg.mozilla.org/mozilla-central/rev/1261d998e9b0
https://hg.mozilla.org/mozilla-central/rev/5cb45a4b559e
https://hg.mozilla.org/mozilla-central/rev/b7f5df35f348
https://hg.mozilla.org/mozilla-central/rev/9545b271651d
https://hg.mozilla.org/mozilla-central/rev/917cc39b3b39
https://hg.mozilla.org/mozilla-central/rev/ff642fa3e86a
https://hg.mozilla.org/mozilla-central/rev/09aff6fb6f43
https://hg.mozilla.org/mozilla-central/rev/184063472826
https://hg.mozilla.org/mozilla-central/rev/d8371c1bd48c
https://hg.mozilla.org/mozilla-central/rev/eed6a07c17b8
https://hg.mozilla.org/mozilla-central/rev/6dce71a010ec
https://hg.mozilla.org/mozilla-central/rev/2ee6514b17f8
https://hg.mozilla.org/mozilla-central/rev/b5f1bc911ef4
https://hg.mozilla.org/mozilla-central/rev/4e756f339ef8
Description
•