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

[NativeAOT-LLVM] Optimize codegen for atomics #2448

Open
SingleAccretion opened this issue Dec 1, 2023 · 0 comments
Open

[NativeAOT-LLVM] Optimize codegen for atomics #2448

SingleAccretion opened this issue Dec 1, 2023 · 0 comments
Labels
area-NativeAOT-LLVM LLVM generation for Native AOT compilation (including Web Assembly)

Comments

@SingleAccretion
Copy link

SingleAccretion commented Dec 1, 2023

#2447 introduces a complete implementation, but there are still a few inefficiences:

  1. isAddressAligned is not as smart as it could be. It should handle long fields, array elements, and static fields.
  2. We need to save the shadow stack when calling into the runtime for object [Compare]Exchange overloads. This can be fixed by adding a WASM-specific native implementation, with a shadow stack argument, similar to how the fast path of object allocation is implemented.

This would be a good issue for someone wanting to get familiar with NativeAOT-LLVM.

@jkotas jkotas added the area-NativeAOT-LLVM LLVM generation for Native AOT compilation (including Web Assembly) label Dec 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-NativeAOT-LLVM LLVM generation for Native AOT compilation (including Web Assembly)
Projects
None yet
Development

No branches or pull requests

2 participants