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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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