AtomVM
AtomVM copied to clipboard
Tiny Erlang VM
There is no easy way to know if a .avm file is truncated or overwritten with other data. When this kind of issues happen they might be really annoying to...
Code should be changed to make it more resilient when a corrupted avm file is provided. Changes such as changing `strcmp` with `strncmp` functions and similar changes should be evaluated.
`memory.c` had a missing semicolon, `get/put_tuple_element` in `term.h` unpacked header directly instead of using function. Additionally, first condition is already checked by term_is_tuple(). There's one unfixed assert `TERM_DEBUG_ASSERT((t & 0x3)...
Erlang/OTP's erl_term.h defines several macros to encode terms and distinguishes `TAG_PRIMARY_*` for the two lowest bits, `_TAG_IMMED1*` for the lowest four bits and `_TAG_IMMED2*` for the lowest six bits. AtomVM...
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
Currently, there's not a lot of asserts in the project, except for `term.h`. `term.h` uses `TERM_DEBUG_ASSERT` to implement asserts. It's currently not defined, I suspect when changing code there, people...
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
Find and replace all occurrences of atomvm.net. 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)....
Opcode's already handled, needed when division is called from dynamic call. These changes are made under both the "Apache 2.0" and the "GNU Lesser General Public License 2.1 or later"...
https://www.erlang.org/doc/apps/erts/zlib.html#compress/1 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