Bump minimum OTP version to 26, Elixir to 1.17#2025
Bump minimum OTP version to 26, Elixir to 1.17#2025bettio merged 1 commit intoatomvm:release-0.7from
Conversation
3548923 to
813c0dc
Compare
UncleGrumpy
left a comment
There was a problem hiding this comment.
I spotted some test code that can be simplified even further, and had a question about the Elixir version for OTP 26. I am all in favor of focusing our efforts on currently supported OTP and Elixir releases. I will look forward to replacing our old edoc style module docs with newer (OTP-27) triple quoted doc strings, so we can use regular markdown in doc sections, and not the strange `markup' style for code markup once OTP 26 has been sunset.
7e6164b to
7b82552
Compare
7b82552 to
dad9cd0
Compare
8ef3849 to
60e2403
Compare
9529b91 to
713d99c
Compare
713d99c to
63a03f0
Compare
There was a problem hiding this comment.
After the changes here, we might do some cleanup in term.h:
term_get_match_state_binary: USED
term_get_match_state_offset: USED
term_set_match_state_offset: USED
term_match_state_save_offset: UNUSED
term_match_state_save_start_offset: UNUSED
term_match_state_restore_start_offset: USED (only once, is it correct?)
term_match_state_restore_offset: UNUSED
f7ace69 to
e3dbedc
Compare
41ac623 to
bdc0987
Compare
This PR anticipates part of atomvm#2025. Signed-off-by: Davide Bettio <davide@uninstall.it>
Phase out OTP < 26 from run-tests-with-beam This PR anticipates part of #2025. 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
0247005 to
dd5b422
Compare
f15cbb1 to
f3bbf4c
Compare
|
esp32c5 is oversized: either way I suggest the pragmatic addition of or maybe we can squeeze it in with a bit of cleaning |
Simplify tests and remove support for opcodes that are not emitted by OTP26+, significantly reducing the virtual machine size. Also add AVM_MINIMAL_OPCODES option to remove support for opcodes that are only emitted by OTP26-29 with specific compiler options. Update build-and-test.yaml workflow matrix with 44 jobs: - every compiler - latest three OTP versions with default compiler versions - next OTP version (29) with and without JIT - two previous Elixir versions (1.17 and 1.18) with compatible OTP versions among the last three - arm64 with and without JIT - armv6m with and without JIT - riscv32 with and without JIT - i386 - s390x - x86-64 with JIT - stacktraces disabled - 32 bits floats - OTP master and Elixir main - -Os optimization on x86-64 Signed-off-by: Paul Guyot <pguyot@kallisys.net>
f3bbf4c to
94f6f0b
Compare
Exactly. Locally it fits with a new AVM_MINIMAL_OPCODES option that just disables support for these opcodes. |
Merge fixes and minor changes from release-0.7, including: - Bump minimum OTP version to 26, Elixir to 1.17 (#2025) - JIT: inline mul/bsl/bsr BIF operations when provably safe (#2213) - JIT: inline byte_size/1 when argument is a known binary (#2221) - JIT: inline div and rem bifs (#2222) - JIT: fuse tuple operations (#2224)
Simplify tests and remove support for opcodes that are not emitted by OTP26+, significantly reducing the virtual machine size.
Update build-and-test.yaml workflow matrix with 42 jobs:
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