Skip to content

Optimize memory_scan_and_copy and memory_scan_and_rewrite #1771

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 1 commit into from
Jul 24, 2025

Conversation

pguyot
Copy link
Collaborator

@pguyot pguyot commented Jul 20, 2025

Continuation of #1701

Replace if/elseif with term_is_* functions with a logic based on term type bits.
This has a significant impact on garbage collection performance.

These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).

SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later

Replace slow tests with various immediates with a test on the
`TERM_PRIMARY_MASK` bits.

Signed-off-by: Paul Guyot <pguyot@kallisys.net>
@pguyot pguyot force-pushed the w29/optimize-gc branch from 88ab79d to b918dac Compare July 23, 2025 17:20
@pguyot pguyot marked this pull request as ready for review July 23, 2025 17:20
@bettio bettio merged commit 26acfe2 into atomvm:main Jul 24, 2025
204 of 208 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants