Wording improvements

This commit is contained in:
2026-09-12 13:29:35 +02:00
parent 63531014d6
commit 86fab09dfe
5 changed files with 20 additions and 15 deletions
@@ -4,7 +4,7 @@
\begin{document}
\section{\Gls{wamr} Modifications}\label{sec:wamrmodifications}
\section{WAMR Modifications}\label{sec:wamrmodifications}
The experiments use a slightly modified version of \Gls{wamr} based on release 2.4.4\footnote{\url[2026-09-11]{https://github.com/wasm-micro-runtime/wasm-micro-runtime/releases/tag/WAMR-2.4.4}}.
The modifications provide a platform port for the bare-metal execution environment described in \autoref{sec:executionenvironment} and an explicit marker call during runtime exceptions.
@@ -15,14 +15,14 @@ The modifications provide a platform port for the bare-metal execution environme
The added \code{baremetal} platform only provides the subset of this layer that is required by the experiments.
It is selected through \code{WAMR\_BUILD\_PLATFORM=baremetal} and compiled for 32-bit x86 using a freestanding cross-compiler.
The build enables the classic interpreter and \Gls{aot} execution, while disabling the fast interpreter, the \Glspl{jit}, and WASI support.
The modifications also remove the mandatory CMake thread-library lookup and disables the compiler option \code{-mindirect-branch-register}\todo{Option was disabled because gcc 5.4 didn't support it, now I'm using a newer cross compiler}.
The modifications also remove the mandatory CMake thread-library lookup and disable the compiler option \code{-mindirect-branch-register}\todo{Option was disabled because gcc 5.4 didn't support it, now I'm using a newer cross compiler}.
Since execution is single-threaded and no operating system is present, many platform functions are stubs.
Platform initialization and mutex operations report success without performing any work, console output is discarded, and time queries return zero.
The system allocation functions \code{os\_malloc} and \code{os\_realloc} return \code{NULL}.
Instead, the host initializes \Gls{wamr} with a supplied memory pool or custom allocation callbacks, as described later in \autoref{sssec:wamrmemoryallocation}.
\Gls{aot} experiment variants additionally require implementations of \code{os\_mmap} and \code{os\_mremap}, to allocate memory for the loaded module text.
\Gls{aot} experiment variants also require implementations of \code{os\_mmap} and \code{os\_mremap} to allocate memory for the loaded module text.
The platform provides these using a static \SI{2}{\mega\byte} buffer and a simple bump allocator (allocator with monotonically increasing offset into the reserved memory region).
Remapping allocates a new region and copies the old one, without reclaiming any memory.
Unmapping does not reclaim memory, and \code{os\_mprotect} reports success without changing access permissions.