Intelligent assemblers
Validated encoding, precise diagnostics, architecture rules, reusable machine descriptions, and an assembler-centered intermediate layer.
ForgeVM is a focused systems project for intelligent assemblers, machine-aware optimization, linking, debugging, binary tooling, compiler support, and first-class WebAssembly workflows.
ForgeVM concentrates on connected engineering layers instead of becoming a general programming portal.
Validated encoding, precise diagnostics, architecture rules, reusable machine descriptions, and an assembler-centered intermediate layer.
Optimization close to the final instruction stream, with measurable effects on size, speed, layout, and target behavior.
Object generation, linking, relocation, executable formats, disassembly, debugging, and binary inspection.
A strong path between low-level toolchains and modern web execution, with optimization and diagnostics built in.
Published tools and prototypes are the primary evidence of project progress.
LLInfra builds modern low-level infrastructure from scratch in C++20/23. It features a multi-architecture 64-bit assembler for x86-64, ARM64, and RISC-V with latest extensions, plus a linker, minimal runtime, C compiler with SSA backend, and bare-metal kernel. Free from legacy baggage, it offers a clean foundation for researchers and developers seeking to deeply understand low-level systems.
WebAssembly is designed into the architecture rather than added later as an export format.
Explore how assembler-oriented structures can support both native encodings and WebAssembly instruction streams without hiding machine intent.
Apply validation, simplification, layout, and target-specific optimization before a module reaches the browser or runtime.
Make binary-level and WebAssembly errors understandable to compiler authors, systems programmers, and language designers.
Each phase must produce verifiable artifacts before the next layer expands.
Machine descriptions, instruction encoding, validation, diagnostics, object emission, and comprehensive tests.
Instruction-level transformations, layout, relocation, object composition, executable generation, and binary inspection.
Module production, analysis, optimization, native interoperability, and browser-oriented development workflows.
Compiler interfaces, C/C++/Rust/Zig support, language design tools, ARM/AArch64, and RISC-V.
Only published builds and documented milestones appear here.
The release archive will begin with the first verified public ForgeVM build.
Articles explain architecture decisions, experiments, formats, optimization, and integration work.
CPU virtualization transformed one physical machine into many isolated computers. By enabling efficient hypervisors, virtual CPUs, snapshots, migration, cloud servers, testing labs, disaster recovery, and programmable infrastructure, it reshaped modern computing. VMware, Hyper-V, VirtualBox, and Parallels rely on it, while Docker often uses it indirectly through lightweight virtual machines.
Read article →SIMD has delivered major gains in x86 for media, cryptography, scientific computing, and AI, yet remains underused in general software. Wider vectors alone do not guarantee speed; data layout, memory bandwidth, branching, aliasing, compiler limits, and CPU differences matter. Real gains require vector-friendly algorithms, accurate cost models, runtime dispatch, and hardware measurement.
Read article →C, C++, and Rust each serve systems programming differently. C offers simplicity, portability, and direct hardware access; C++ combines low-level control with powerful abstractions for large, high-performance systems; Rust emphasizes memory and concurrency safety. The best choice depends on the project’s risks, platform, team expertise, and long-term maintenance needs—not language loyalty.
Read article →Books remain a supporting knowledge layer, not the center of the website.
This booklet explains how x86-64 processors execute software under Linux. It covers instructions, registers, pipelines, caches, memory, paging, privilege levels, interrupts, and debugging tools. By distinguishing architecture from microarchitecture, it helps programmers, engineers, researchers, and students understand, analyze, secure, and optimize modern systems with confidence.
Assembly reveals how processors, memory, operating systems, and performance truly work. This second volume introduces x86-64 assembly on Linux using GAS with Intel syntax, covering assembling, linking, memory layout, calling conventions, functions, and high-level language interoperability through clear, practical, testable examples.
This booklet explains Linux system calls and process control directly in x86-64 assembly, without libc or high-level abstractions. It covers kernel interfaces, registers, processes, signals, environments, memory, and execution, then builds a minimal working shell. It is designed for readers seeking a precise foundation in Linux systems programming, debugging, performance, and runtime design.
Books and articles remain valuable, but they are organized as supporting resources around the assembler-first compiler infrastructure mission.