improvement: Limit amount of compiled code, restrict glue layer only referenced files. #3849
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
By using
@define
annotation we can limit amount of glue layer that needs to be compiled - we add an entry for potentially optional bindings and guard the glue-layer with#if defined(x)
preprocesor conditions. This should allow to lower number of compilation errors in non-posix compliant systems, especially on 32-bit architectures.The need of controlling the amount of C glue layer files on non-compatible runtimes was already needed in the WASM/WASI prototype https://github.com/WojciechMazur/scala-native/tree/scala-wasm and when targeting Playdate devices (arm v7, limited C/POSIX stdlib) kubukoz#1
Based on these changes we're removing usages of
stdatomic
in minimal single-threaded execution