0x0LearnReferenceLibraries0x0.jmp0x1b.com

Native Runtime Profiles And Memory Control

Native runtime profiles define which runtime services may appear in native

artifacts. They are the production boundary for no-GC, freestanding,

bare-metal, no-allocation, arena, manual, ownership, and optional-GC behavior.

The authoritative evidence files are:

Profiles

The supported profile names are:

default GC dependencies;

sections;

evidence;

evidence;

No-GC is the default for native performance and freestanding profiles. Optional

GC must appear in release metadata and must be absent from no-GC artifacts.

Memory Control

Memory control covers:

Pointer operations must carry provenance, bounds, alignment, source spans, and

lifetime evidence. Pointer arithmetic that escapes the allocation extent is

rejected.

Freestanding Sections

Freestanding and bare-metal artifacts use explicit section records:

Sections must have valid alignment and must not overlap. .bss is explicitly

zeroed. .data is initialized during startup. Stack and arena/heap regions are

reserved explicitly.

Dependency Contract

Freestanding and bare-metal artifacts report zero unexpected dynamic

dependencies:

Hosted artifacts may opt into OS services, but the dependency must be explicit.

Gates

Run the minimal runtime dependency/profile gate:


make minimal-runtime-check

Run the memory-control gate:


make native-memory-control-check

Both gates are bounded. They validate source-owned profile and fixture evidence;

they do not run release packaging, self-hosting, broad benchmarks, or emulator

matrices.

Stable diagnostics include:

unexpected OS/libc/loader/syscall/GC dependency;

Current Boundary

Milestone 2 implements the source-owned runtime profile and memory-control

contract with positive and negative fixtures. Later milestones integrate these

profiles into monomorphization, optimizer analyses, machine-code emission,

bare-metal execution, tiny binaries, and release benchmark evidence.