vitte

Vitte Runtime — Overview

Introduction

Le runtime Vitte est le cœur de l’exécution des programmes compilés en VITBC (Vitte ByteCode).
Il combine la Virtual Machine (VM), la gestion mémoire, les bibliothèques standard de base, et les mécanismes d’interopérabilité.
Sa conception est guidée par trois principes : performance, portabilité et robustesse.


Objectifs


Composants du Runtime

1. Loader

2. Memory Manager

3. Execution Engine

4. Standard Library (Runtime API)

5. Interop / FFI


Exemple d’Exécution

Code source

fn add(x: int, y: int) -> int {
    return x + y
}

print(add(2, 3))

Bytecode (simplifié)

FUNC add(x, y)
  LOAD_ARG r1, x
  LOAD_ARG r2, y
  ADD r3, r1, r2
  RETURN r3
END

MAIN
  LOAD_CONST r0, 2
  LOAD_CONST r1, 3
  CALL add, r0, r1
  PRINT r0
END

Exécution

VM Start
> LOAD_CONST r0, 2
> LOAD_CONST r1, 3
> CALL add
> RETURN r3 (5)
> PRINT 5
VM End

Architecture du Runtime

flowchart TD
    A[.vitbc File] --> B[Loader]
    B --> C[Memory Manager]
    B --> D[Execution Engine]
    C --> D
    D --> E[Stdlib API]
    D --> F[FFI / Interop]
    D --> G[Results]

Debug & Outils

Commandes CLI

# Exécution normale
vitte exec program.vitbc

# Exécution avec debug
vitte exec program.vitbc --log trace --dump-vm

Fonctionnalités debug


Roadmap Runtime


Conclusion

Le runtime Vitte est conçu pour être minimal, robuste et extensible.
Il fournit les fondations nécessaires pour exécuter efficacement du bytecode VITBC, tout en ouvrant la voie à des extensions futures (JIT, WASM, FFI avancé).