Skip to content
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

Use MaybeUninit registers #19

Merged
merged 4 commits into from
Sep 25, 2023
Merged

Use MaybeUninit registers #19

merged 4 commits into from
Sep 25, 2023

Conversation

taiki-e
Copy link
Owner

@taiki-e taiki-e commented Aug 24, 2023

Update codebase to use MaybeUninit registers now supported by rust-lang/rust#114790.

This greatly improves performance and is almost equivalent to std atomic types (crossbeam-rs/crossbeam#1015 (comment)).

In older rustc versions, fallback to the previous implementation (copied to arch_legacy module).

@taiki-e taiki-e force-pushed the asm-maybe-uninit branch 7 times, most recently from 4c08cc0 to a8101c7 Compare August 24, 2023 16:26
@taiki-e taiki-e marked this pull request as ready for review August 24, 2023 16:26
@taiki-e taiki-e added O-arm Target: 32-bit Arm processors (armv6, armv7, thumb...), including 64-bit Arm in AArch32 state O-riscv Target: RISC-V architecture O-x86 Target: x86/x64 processors O-mips Target: MIPS processors O-powerpc Target: PowerPC processors O-s390x Target: SystemZ processors (s390x) O-loongarch Target: LoongArch O-hexagon Target: Qualcomm Hexagon O-msp430 Target: MSP430 labels Aug 24, 2023
@taiki-e taiki-e force-pushed the asm-maybe-uninit branch 6 times, most recently from a9462ec to fd6c994 Compare August 29, 2023 15:10
@taiki-e taiki-e force-pushed the asm-maybe-uninit branch 2 times, most recently from 0a195df to 0e7baeb Compare September 11, 2023 18:13
@taiki-e taiki-e force-pushed the asm-maybe-uninit branch 5 times, most recently from 3a1b9d4 to 036bd15 Compare September 24, 2023 18:59
@taiki-e taiki-e force-pushed the asm-maybe-uninit branch 3 times, most recently from 30cfa75 to 0fc10a5 Compare September 24, 2023 19:08
@taiki-e taiki-e force-pushed the asm-maybe-uninit branch 2 times, most recently from 0ebd6ec to 1d513a3 Compare September 25, 2023 12:52
@taiki-e taiki-e merged commit a3ce26c into main Sep 25, 2023
@taiki-e taiki-e deleted the asm-maybe-uninit branch September 25, 2023 13:22
@taiki-e taiki-e added the O-aarch64 Target: Armv8-A, Armv8-R, or later processors in AArch64 mode label Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-aarch64 Target: Armv8-A, Armv8-R, or later processors in AArch64 mode O-arm Target: 32-bit Arm processors (armv6, armv7, thumb...), including 64-bit Arm in AArch32 state O-hexagon Target: Qualcomm Hexagon O-loongarch Target: LoongArch O-mips Target: MIPS processors O-msp430 Target: MSP430 O-powerpc Target: PowerPC processors O-riscv Target: RISC-V architecture O-s390x Target: SystemZ processors (s390x) O-x86 Target: x86/x64 processors
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant