Skip to content

Conversation

pguyot
Copy link
Collaborator

@pguyot pguyot commented Oct 14, 2025

Continuation of:

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 added 30 commits October 13, 2025 07:00
Add xchgq instruction to simplify encoding Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Ensure all unaligned memory accesses are done byte by byte, fixing sigbus on arm Fix usage of __ORDER_LITTLE_ENDIAN__ which is likely to be always defined Add tests for unaligned reads and writes of integers in binaries Signed-off-by: Paul Guyot <pguyot@kallisys.net>
cmake `-DAVM_DISABLE_JIT=OFF` and autodetected JIT target impact what is compiled in some tests with `-DAVM_DISABLE_JIT` or `"-DAVM_JIT_TARGET_ARCH='${AVM_JIT_TARGET_ARCH}'"` passed to `erlc`. Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Also enable parallel compilation (make -j3) and fix circular dependency when building precompiled archives Signed-off-by: Paul Guyot <pguyot@kallisys.net>
This follows what binutils as does. Unoptimized encoding wasn't wrong but if as is installed, the test would fail Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Fix crash on armv6m when decoding types as term_from_int64 would fail Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
pguyot added 27 commits October 13, 2025 07:30
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Use a cache to remember tail calls that were already implemented and replace further implementations of the same tail call with a jump to the previous implementation. Coverage shows that all cases are covered in libs/estdlib/src and libs/jit/src: OP_RETURN: 50 misses, 1735 hits (97%) OP_JUMP/OP_CALL_LAST/OP_CALL_ONLY: 656 misses, 389 hits (37%) OP_CALL_LAST: 220 misses, 206 hits (48%) OP_FUNC_INFO: 58 misses, 1619 hits (97%) Signed-off-by: Paul Guyot <pguyot@kallisys.net>
@pguyot pguyot force-pushed the w42/armv6m-use-literal-pool-to-reduce-binary-size branch from 1b94435 to 1bf122a Compare October 14, 2025 19:51
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
@pguyot pguyot force-pushed the w42/armv6m-use-literal-pool-to-reduce-binary-size branch from 1bf122a to daa43c9 Compare October 14, 2025 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant