Skip to content

Clock/Instant/Duration #40609

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 36 commits into from
Feb 17, 2022
Merged
Changes from 1 commit
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
ebe3d0f
[WIP] Initial draft at v2 Clock/Instant/Duration
phausler Dec 16, 2021
090aa9a
Ensure the literal types for _DoubleWide are able to be at least 64 b…
phausler Jan 6, 2022
251a8e4
static cast timespec members to long
phausler Jan 6, 2022
e313e1e
Remove runtime exports from clock functions
phausler Jan 6, 2022
e86318a
Export clock functions in implementations as they are in headers
phausler Jan 10, 2022
6750873
Clean up internal properties by adding leading underscores, refine av…
phausler Jan 12, 2022
ce62c2d
Shift operators to concrete Instant types to avoid complexity in solv…
phausler Jan 26, 2022
d9d963f
Adjust diagnostic note and error expectation of ambiguities to reflec…
phausler Jan 27, 2022
cb93fa8
Update stdlib/public/Concurrency/TaskSleep.swift
phausler Jan 26, 2022
53a1986
[stdlib][NFC] Remove trailing whitespace
lorentey Jan 26, 2022
f81d9c7
[stdlib] Remove _DoubleWidth from stdlib's ABI
lorentey Jan 26, 2022
8486237
[stdlib] Strip downd _DoubleWidth to _[U]Int128
lorentey Jan 27, 2022
a53eed7
Additional adjustments to diagnostic notes and errors expectation of …
phausler Jan 27, 2022
01450e7
Disable type checker performance validation for operator overload inf…
phausler Jan 27, 2022
be6c98f
Decorate Duration, DurationProtocol, Instant and clocks with @availab…
phausler Jan 28, 2022
2d9dff4
Restore diagnostic ambiguity test assertion (due to availability)
phausler Jan 28, 2022
df70068
Add a rough attempt at implementing time accessors on win32
phausler Jan 28, 2022
68d4408
Remove unused clock id, rename SPI for swift clock ids and correct a …
phausler Jan 28, 2022
10c0096
remove obsolete case of realtime clock for dispatch after callout
phausler Jan 31, 2022
88e48f4
Use the default implementation of ~ for Int128 and UInt128
phausler Feb 1, 2022
4966f04
Ensure diagnostic ambiguitiy applies evenly to all platforms and thei…
phausler Feb 3, 2022
34284ef
Restore the simd vector build modifications (merge damage)
phausler Feb 3, 2022
7381b48
Update to latest naming results for Instant.Duration
phausler Feb 7, 2022
c8824bd
Updates to latest proposal initializers and accessors and adjust enco…
phausler Feb 8, 2022
8f2b121
Update availability for Clock/Instant/Duration methods and types to b…
phausler Feb 10, 2022
6d07868
Correct *Clock.now to report via the correct runtime API
phausler Feb 10, 2022
294290f
Ensure the hashing of Duration is based upon the attoseconds hashing
phausler Feb 10, 2022
5c24901
Avoid string based encoding and resort back to high and low bit encod…
phausler Feb 10, 2022
731a220
Adjust naming of component initializer to use suffixes on parameters
phausler Feb 10, 2022
8c86e88
Duration decoding should use a mutable container for decoding
phausler Feb 10, 2022
d13249e
fix up components initializer and decode access
phausler Feb 10, 2022
9ba779e
Add platform base initializers for timespec and tiemval to and from D…
phausler Feb 10, 2022
54466a6
Add some first draft documentation for standard library types Duratio…
phausler Feb 11, 2022
fba08fc
Another round of documentation prose and some drive-by availability f…
phausler Feb 11, 2022
79670f7
InstantProtocol availability should be 5.7
phausler Feb 15, 2022
654596a
Correct linux timeval creation to be Int and not Int32
phausler Feb 16, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Use the default implementation of ~ for Int128 and UInt128
  • Loading branch information
phausler committed Feb 10, 2022
commit 88e48f44ccffaa3c3862c2a8726f3da49e2e7ac5
2 changes: 2 additions & 0 deletions stdlib/public/core/Int128.swift.gyb
Original file line number Diff line number Diff line change
Expand Up @@ -362,9 +362,11 @@ extension _${U}Int128: FixedWidthInteger {
return (quotient_, remainder_)
}

/* disabled since it causes a compile failure in LLDB
internal static prefix func ~(x: Self) -> Self {
Self(high: ~x.high, low: ~x.low)
}
*/

internal static func &= (_ lhs: inout Self, _ rhs: Self) {
lhs.low &= rhs.low
Expand Down