Статичний аналіз для визначення максимального використання стека.
Підручник з ОС RaspberryPi запускає код Rust до ввімкнення MMU та кешу. Це дозволить читати та записувати пам’ять (наприклад, стек). Однак:
Без MMU та кешу невирівняні доступи призведуть до помилки. Код створюється за допомогою aarch64-unknown-none, який встановлює +strict-align, щоб запобігти генерації компілятором невирівняних доступів, тому це має бути гаразд, але це не обов’язково так загалом.
Якщо код працював у віртуальній машині, це може призвести до проблем узгодженості кешу. Проблема полягає в тому, що віртуальна машина звертається до пам’яті безпосередньо з вимкненою кеш-пам’яттю, тоді як хост має кешовані псевдоніми для тієї самої пам’яті. Навіть якщо хост явно не звертається до пам’яті, спекулятивні доступи можуть призвести до заповнення кешу, і тоді зміни з одного або іншого боку будуть втрачені. Знову ж таки, це нормально в цьому конкретному випадку (працює безпосередньо на апаратному забезпеченні без гіпервізора), але це не дуже гарний шаблон загалом.