Apple vient d'ouvrir le code de son nouveau frontend nommé "CFE". Ce frontend permet de parcourir du code C/C++/ObjC++ afin de produire un arbre de syntaxe (AST) qui permet ensuite à un compilateur de travailler dessus. Actuellement, CFE est dans un état préliminaire, n'ayant qu'un support partiel du C, mais semble avancer à grand pas. Ce frontend est avant tout destiné à LLVM (Low Level Virtual Machine).
LLVM, qui vient de sortir récemment en version 2.0, est une infrastructure de compilation libre complète ayant la particularité de mettre en avant son format intermédiaire de manière explicite, contrairement à GCC qui le garde uniquement en interne. Ainsi, il est possible de distribuer un programme sous ce format intermédiaire, qui pourra ensuite être exécuté partout. Cette approche est un peu similaire à l'approche de Microsoft avec le MSIL de .Net, mais vise ici clairement l'objectif d'avoir une performance native.
Cette représentation intermédiaire peut notamment être transformée en C, interprétée, exécutée en JIT ou compilée en natif; les performances obtenues dans ces dernier cas peuvent êtres proches de celles de GCC.
LLVM 2.0 permet désormais compiler des codes réellement complexes tels que Mozilla, Qt ou Koffice. Un backend MSIL expérimental est également fourni.
kqemu devient libre, qemu 0.9.0
Fabrice Bellard, auteur (entre autres) de QEMU et KQEMU, vient de libérer KQEMU et de publier la version 1.3.0pre10 sous licence GPLv2 simultanément à la sortie de la version 0.9.0 de l'émulateur.
QEMU est un émulateur portable, permettant d'émuler de nombreuses plateformes (x86, x86_64, PPC, ARM, MIPS...) sur de nombreux systèmes. KQEMU est un module permettant d'exécuter nativement le code x86 sur x86, en se contentant de transformer ou d'intercepter les instructions qui auraient dû être privilégiées, permettant ainsi une amélioration importante de la performance par rapport à de l'émulation pure. Il s'agit d'une approche similaire à ce que fait VMware, produit propriétaire.
NdM : comme le précisait la dépêche DLFP au moment de la sortie, Fabrice Bellard avait promis de publier du code de KQEMU si une entreprise acceptait de le rétribuer financièrement.
NdM : Merci à Sytoka Modon pour avoir également proposé l'info.
QEMU est un émulateur portable, permettant d'émuler de nombreuses plateformes (x86, x86_64, PPC, ARM, MIPS...) sur de nombreux systèmes. KQEMU est un module permettant d'exécuter nativement le code x86 sur x86, en se contentant de transformer ou d'intercepter les instructions qui auraient dû être privilégiées, permettant ainsi une amélioration importante de la performance par rapport à de l'émulation pure. Il s'agit d'une approche similaire à ce que fait VMware, produit propriétaire.
NdM : comme le précisait la dépêche DLFP au moment de la sortie, Fabrice Bellard avait promis de publier du code de KQEMU si une entreprise acceptait de le rétribuer financièrement.
NdM : Merci à Sytoka Modon pour avoir également proposé l'info.