Skip to content

Platform: support Windows and restricted-JIT Darwin profiles #500

Description

@chrisbbreuer

Parent: #459
Depends on: #483, #484, #498, #499
Related: #485

Goal

Declare and implement Windows x86-64/ARM64 plus restricted-JIT Darwin profiles with explicit native, AOT, or fast-VM performance contracts.

Current boundary

docs/platforms.md explicitly claims no Windows release platform. The optimizer inventory rejects iOS AArch64 publication. #484/#485 cover macOS/Linux native backends but leave Windows and platforms where executable-memory policy forbids normal JIT publication undefined.

Scope

  • Add versioned platform profiles for Windows x86-64, Windows ARM64, iOS/tvOS/visionOS as appropriate, and macOS deployments with JIT disabled by policy.
  • Implement Windows executable-memory allocation/protection/cache synchronization, ABI/calling conventions, unwind tables, exception/trap integration, thread-local/runtime primitives, and artifact retirement through JIT: unify backend-neutral codegen and W^X memory contracts #483.
  • Extend owned x86-64/AArch64 encoders and backend tests to Windows ABIs; never depend on an external assembler/JIT/runtime.
  • Define entitlement/policy detection for Darwin-family restricted hosts and select VM: build a fast no-JIT execution tier for restricted hosts #498/Runtime: add versioned bytecode, realm snapshots, and AOT artifacts #499 exact no-JIT/AOT paths without attempting forbidden mappings.
  • Gate portable engine, C API, private/public ABI where applicable, Workers/threads, GC, Wasm, modules, filesystem/provider boundaries, and packaging.
  • Collect correctness and performance evidence on real supported hardware; cross-build/emulation proves buildability only.

No-workaround rules

  • No RWX, writable published code, disabled platform mitigations, emulation-only performance claim, undocumented feature loss, external JIT/compiler, or platform marked native when optimizer publication remains zero.

Acceptance

Foundation

Current declared matrix: docs/platforms.md and docs/.data/optimizer-release-inventory.json.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestjitBytecode, baseline JIT, optimizer, and code generationperformanceMeasured runtime, memory, scaling, or build performanceplatformArchitecture and operating-system backend support

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions