Le future versioni di Firefox potrebbero condividere alcuni geni con Safari. Mozilla sta infatti lavorando ad un nuovo motore JavaScript, chiamato in codice JaegerMonkey , che prenderà in prestito alcune porzioni del codice di WebKit , il famoso layout engine open source alla base del browser di Apple.
Come spiegato da Ars Technica , Mozilla mutuerà da WebKit l’efficiente generatore di codice nativo JSCore e lo combinerà con il proprio NanoJIT: in pratica, Mozilla intende prendere il meglio delle due tecnologie per forgiare un motore ibrido che, almeno sulla carta, sarà in grado di offrire performance significativamente superiori a quelle fornite oggi da TraceMonkey (l’attuale motore JavaScript di Firefox).
L’obiettivo di Mozilla è quello di colmare rapidamente il gap prestazionale accumulato da Firefox nei confronti di Safari, Chrome e Opera, arrivando eventualmente a sorpassare gli avversari.
In passato Mozilla aveva già tentato di realizzare un motore JavaScript di nuova generazione: questo avrebbe dovuto basarsi su Tamarin , una macchina virtuale open source realizzata da Adobe e basata sullo standard ECMAScript 4. Il progetto venne però abbandonato nel 2008, soprattutto a causa dell’allora imminente rilascio di ECMAScript 5, e l’unica parte di Tamarin che Mozilla implementò nel suo motore JavaScript fu il generatore di codice nativo NanoJIT.
“Il nuovo motore JaegerMonkey di Mozilla continuerà ad utilizzare NanoJIT per alcune cose, ma si appoggerà al Nitro Assembler di Apple per generare efficiente codice nativo”, spiega Ars . “Questo consentirà a JaegerMonkey di beneficiare dei vantaggi prestazioni offerti dalla compilazione just-in-time”.
Per un approfondimento tecnico su JaegerMonkey è possibile leggere questo post di David Mandelin, uno degli sviluppatori del software.
Dal momento che JaegerMonkey è ancora in piena fase di sviluppo, al momento non ci sono nightly build di Firefox che consentano di provare il nuovo engine. Gli sviluppatori possono invece già dare un’occhiata al suo codice qui .
Alessandro Del Rosso