Skip to content

JIT armv6m: fix BCC overflow from literal pool flush#2182

Draft
pguyot wants to merge 1 commit intoatomvm:mainfrom
pguyot:w11/armv6m-jit-fix-bcc-overflow
Draft

JIT armv6m: fix BCC overflow from literal pool flush#2182
pguyot wants to merge 1 commit intoatomvm:mainfrom
pguyot:w11/armv6m-jit-fix-bcc-overflow

Conversation

@pguyot
Copy link
Collaborator

@pguyot pguyot commented Mar 11, 2026

Fix a bug where blocks in if_block or if_else_block could inflate by flushing too many literals beyond the bcc range. The actual budget is set during these calls and literals can be partially flushed. Also add another flush opportunity in if_else_blocks and decrement_reductions_and_maybe_schedule_next

Fixes: #2180

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

@pguyot pguyot marked this pull request as draft March 12, 2026 07:27
Fix a bug where blocks in if_block or if_else_block could inflate by flushing
too many literals beyond the bcc range. The actual budget is set during these
calls and literals can be partially flushed. Also add another flush
opportunity in if_else_blocks and decrement_reductions_and_maybe_schedule_next

Fixes: atomvm#2180

Signed-off-by: Paul Guyot <pguyot@kallisys.net>
@pguyot pguyot force-pushed the w11/armv6m-jit-fix-bcc-overflow branch from 3739b5e to 9a008c7 Compare March 12, 2026 18:23
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.

JIT: OP_FUNC_INFO Tail cache broken (armv6)

1 participant