Jitter fait officiellement partie du projet GNU

Il y a quelques jours, la nouvelle a été annoncée que le projet Jitter est officiellement devenu un projet sous l'aile du projet GNU et il est maintenant développé sous le nom de GNU Jitter en utilisant l'infrastructure GNU et conformément aux exigences du projet.

Pour ceux qui ne connaissent pas Jitter, sachez que c'esta est une implémentation qui permet de générer des machines virtuelles portables et très rapides pour les conceptions arbitraires de langages de programmation, dont les performances d'exécution du code sont nettement en avance sur les interpréteurs et proches du code compilé natif.

Jitter est hautement portable et une VM correcte présentera exactement le même comportement sur n'importe quelle plate-forme qui n'a qu'un compilateur et une bibliothèque C standard ; cependant, les performances seront meilleures en utilisant l'une des architectures prises en charge (actuellement : M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64 ; 64e niveau : Aarch390, Alpha, ARM, SXNUMXx) sur les systèmes ELF avec GCC. Bien sûr, Jitter fait partie du projet GNU et est principalement conçu pour être utilisé sur le système GNU.

jitter prend en entrée une spécification de haut niveau des instructions prises en charge par une machine virtuelle, et dans la sortie forme une implémentation prête à l'emploi d'une machine virtuelle pour exécuter les instructions données.

La logique de chaque instruction dans la spécification est spécifié à l'aide du code C. Les fonctionnalités supplémentaires incluent la prise en charge des opérations de branchement conditionnel difficiles à implémenter en C et inhérentes aux langages de programmation dynamiques, telles que la vérification de la valeur des balises et la vérification du débordement.

Le runtime Jitter offre également une prise en charge efficace des opérations de branchement conditionnel difficiles à mettre en œuvre en utilisant uniquement C, telles que la vérification des balises de valeur requise par les langages à typage dynamique et l'arithmétique avec vérification de débordement. Le code VM accède aux opérations d'appel et de retour de procédure, dans la plupart des cas en s'appuyant sur des mécanismes matériels efficaces.

La machine virtuelle résultante est formatée en C avec un petit nombre d'insertions assembleur. Des configurations sont fournies pour permettre diverses optimisations et sélectionner des mécanismes de livraison, ce qui facilite la migration d'une machine virtuelle vers différentes plates-formes.

Il prend en charge l'utilisation d'architectures d'exécution de registre, de pile et de jointure, ainsi que la possibilité de mettre en miroir les structures de données des machines virtuelles dans les registres matériels du processeur et de connecter des ramasse-miettes.

Le code généré comprend une API C simple pour remplacer et exécuter dynamiquement le code dans une machine virtuelle, ainsi qu'un programme de contrôleur pour exécuter séparément le code à partir de fichiers texte dans une machine virtuelle.

Le code C généré est fortement conditionné et peut être configuré pour s'exécuter à l'aide de différentes techniques de distribution de sophistication variable ; les techniques de répartition les plus efficaces reposent sur une prise en charge d'assemblage spécifique à l'architecture, mais pas à la machine virtuelle, fournie par Jitter ; tous les modèles de répartition, mais l'un est également basé sur les extensions GNU C.

Enfin, pour ceux qui souhaitent en savoir plus, sachez que le code Jitter original est écrit en C et est disponible sous licence GPLv3. Vous pouvez en savoir plus dans le lien suivant

Comment obtenir de la gigue ?

Pour ceux qui souhaitent tester Jitter, ils peuvent obtenir le code source en ouvrant un terminal et en tapant la commande suivante dedans :

git clone http://git.ageinghacker.net/jitter

Une fois cela fait, nous allons maintenant entrer dans le dossier qui contient le code, nous allons exécuter le script de démarrage qui est utilisé pour générer les fichiers nécessaires pour configurer et créer Jitter, y compris un script de configuration. Nous le faisons avec :

cd jitter && ./bootstrap

Il convient de mentionner que Jitter suit les conventions GNU pour la configuration et la construction et prend en charge la construction à partir du répertoire source ; en fait, il prend en charge la compilation croisée et même l'exécution de la suite de tests dans une compilation croisée via un émulateur.

./configure && make

Enfin, pour exécuter, il suffit de taper :

make check


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.