Ogni sei settimane il team di sviluppo del motore V8 rilascia un nuovo branch come segmento del processo di release. In poche parole, l'implementazione di V8 è strettamente collegata al processo di release di Chrome: il team dell'engine utilizza i quattro canali di distribuzione del browser per fornire nuove versioni ad utenti e ì sviluppatori. Per capire in quale versione di Chrome viene utilizzata una particolare release di V8, è possibile utilizzare OmahaProxy.
Attualmente V8 è giunto alla versione versione 7.0, in stato di beta fino a che non verrà rilasciata con la versione 70 di Chrome. In questo articolo analizzeremo alcune delle novità portate da V8 7.0 che, a detta del team di sviluppo, saranno decisamente apprezzate da tutti i Web Developer.
Embedded builtins
Gli Embedded builtins permettono di risparmiare un notevole quantitativo di memoria consentendo di condividere il codice generato. Partendo da V8 versione 6.9 sono stati attivati gli embedded builtins su x64, V8 7.0 porta invece il risparmio di memoria su tutte le altre piattaforme, ad eccezione di ia32.
WebAssembly threads
WebAssembly (Wasm) permette di compilare codice C++ e di altri linguaggi sul Web. Dato che la community di WebAssembly sta lavorando per consentire lo sviluppo di applicazioni reali multi-thread, il team di V8 ha implementato il supporto necessario per i threads nel motore WebAssembly. Questa feature è attivabile in Chrome via chrome://flags/#enable-webassembly-threads
.
JavaScript
La nuova versione di V8 prevede alcuni importanti aggiornamenti nel motore JavaScript. Prima di tutto, la proprietà description
è stata aggiunta a Symbol.prototype
per accedere in maniera più immediata ad un Symbol. Inoltre, Array.prototype.sort
è ora definitivamente stabile in V8 7.0.
V8 API
E' possibile ottenere una lista dettagliata di tutti i cambiamenti e changelog portati dalla nuova API attraverso il comando: git log branch-heads/6.9..branch-heads/7.0 include/v8.h
Via Chromium