ForgeZero 4.0: bare-metal сборка, zero-allocation hot path и HADES execution core

ForgeZero 4.0: bare-metal сборка, zero-allocation hot path и HADES execution core

После выхода ForgeZero 3.1 проект получил крупнейший внутренний рефакторинг за всё время существования.

В версии 4.0 появляются сразу несколько ключевых возможностей: полноценный bare-metal режим, zero-allocation hot path, автономный toolchain и новый execution core.

Результат:

~84 ms на хеширование 100 МБ (~1.18 ГБ/с);стабильные 0 allocs/op в hot path;полноценный режим сборки Flat Binary для bootloader/kernel development.

Bare-Metal режим

Теперь ForgeZero умеет собирать «голый» машинный код без промежуточных ELF-оберток.

fz -asm main-step-one.asm -format bin -out boot.bin

Флаг -format bin автоматически переводит систему в режим flat binary:

отключается стандартный ELF-линкер;NASM/FASM получают правильные флаги автоматически (-f bin);на выходе — чистый бинарный образ, готовый для QEMU или реального железа.

Это позволяет собирать boot sector и ранние этапы загрузчика без ручной настройки toolchain.

Zero-Allocation Hot Path

Горячий путь сборки полностью очищен от heap-аллокаций.

стековые буферы вместо временных heap-объектов;убраны fmt и log из критических участков;весь вывод и обработка ошибок идут через прямые syscalls;GC не участвует в hot path вообще.

Результат — предсказуемое выполнение и минимальный runtime-overhead.

Полная автономия

NASM и FASM зашиты в бинарник через //go:embed;на Linux тулчейн разворачивается напрямую в память через memfd_create;на Windows используются защищённые временные файлы;ForgeZero не зависит от установленного системного assembler toolchain.

Интеллектуальный линкер

Для flat binary включён специальный fast-path.

Если ForgeZero видит плоский бинарный формат, линкер не пытается «умничать», а сохраняет бинарный образ без изменений — байт в байт.

Это критично для boot sector development, где даже смещение сигнатуры 0xAA55 имеет значение.

Что ещё появится в ForgeZero 4.0

HADES Execution Core — zero-copy выполнение нативного машинного кода через ExecRaw();Gloria JIT — экспериментальный pipeline для генерации машинного кода из C + ASM;изолированная executable memory и stack-safe trampolines;msync-контроль согласованности instruction cache;Shadow Cache для дедупликации build-артефактов;hermetic toolchain resolution без доверия к PATH;детерминированный binary stripping для воспроизводимых сборок.

Релиз

ForgeZero 4.0 выйдет в ближайшие дни после финальной проверки и обкатки.

Документация для текущей стабильной версии 3.1:

1
Начать дискуссию