Je viens d'introduire le type bool dans l'IR, de changer les primitives de comparaison pour utiliser le conditional move et d'ajouter quelques instructions manquantes au translator du backend. J'ai aussi fait un listing des instructions manquantes pour getPropVal/putPropVal/newObject. Il n'y en a pas beaucoup:
lsft rsft not mul div mod load_* store_*
Je ne peux pas implanter les 6 premières tout de suite parce que les instructions x86 correspondantes ne sont pas encore supportées par le back-end. Il manque aussi l'instruction x86 test pour le if statement. Elle ne supporte pas deux registres commes arguments pour l'instant. Si Erick peut implanter les instructions x86 manquantes d'ici la semaine prochaine, ou me montrer comment le faire moi-même, on devrait être en mesure de compiler toutes nos primitives bientôt.
- Maxime