Már letölthető a Firefox új béta változata, amely a motorháztető alatt szélsebes JavaScript feldolgozót kapott. Az IonMonkey elnevezésű JIT JavaScript-fordító újdonsága, hogy az eddigi fordítókkal – a TraceMonkey-val és az újabb JägerMonkey-val – ellentétben nem szinte azonnal állít elő gépi kódot a JavaScript-kódból, hanem egy köztes kódot (Intermediate Representation – IR) készít. Ezek után a fordító optimalizálja az elkészült köztes kódot, majd ezt a kódot fordítja le gépi kódra. Ezzel az eljárással a fordítónak sokkal nagyobb mozgástere van az elkészült kód optimalizálására. Az egy éve tartó fejlesztés eredménye nem csak egy gyorsabb fordító és könnyebben karbantartható kód, hanem a lehetőség, amely felgyorsítja majd a jövőbeni fejlesztéseket is. Most már könnyedén lehet új algoritmusokat beilleszteni a végrehajtási sorba és megvizsgálni a változtatás eredményét.
Hirdetés
Teljesítmény szempontjából az új fordító meggyőzően teljesít. Ráadásul továbbra is lehetőség van visszatérni a JägerMonkey motorra, ha éppen a pillanatnyi feldolgozás miatt az bizonyul optimális választásnak. Az egyik fejlesztő, David Anderson által Windows 7 operációs rendszert futtató Mac Prón végzett mérés szerint a Kraken-tesztben 26%-os gyorsulás mutatható ki, a most megjelent végleges verzióhoz képest.
A Google-féle V8-tesztben 7% gyorsulás mutatható ki az előző verzióhoz képest, míg a három hónappal ezelőtt debütált verzióhoz képest 20%-al több pontot produkál az új fordító.
Az elkövetkező hónapokban a fordító további fejlesztése, finomhangolása várható, és ezzel a teljesítménye is tovább növekszik majd. A fordító a következő technológiákat alkalmazza:
- Loop-Invariant Code Motion (LICM) – parancsok kimozgatása a ciklusokból, ha az lehetséges
- Sparse Global Value Numbering (GVN) – ismétlődő kódok eltávolítása
- Linear Scan Register Allocation (LSRA) – regiszterfoglalási eljárás, amelyet a HotSpot JVM alkalmaz (és a legutóbbi időkig az LLVM is)
- Dead Code Elimination (DCE) – nem használt parancsok eltávolítása
- Range Analysis – határérték-analízis (engedélyezhető a 765119-es hibajegy javítását követően)
További újdonságok:
- a WebRTC támogatásának bevezetése
- jobb képminőség a HTML-átméretezés használata során
- lapváltás gyorsítása
- a felhasználói beállításoktól függően a HTTPS oldalakon elhelyezkedő nem biztonságos elemek betöltésének tiltása (62178)
- finomabb működés a proxyt használó felhasználók számára (769764)
- integrált pdf-megjelenítő engedélyezése
- Mac OS X 10.7 vagy újabb rendszer esetén a Retina kijelzőn jobb megjelenés
Újdonságok a fejlesztők számára:
- CSS3 Flexbox implementálása
- új DOM-tulajdonság támogatása: window.devicePixelRatio
- @supports támogatás bevezetése
- gyorsabb indulás az aláírt kiterjesztések tanúsítványainak okosabb kezelése által
- támogatás a W3C érintőképernyős eseményeinek alkalmazása a MozTouch események helyett
A fenti újdonságokból kettőt emelnék ki:
Pdf-megjelenítő: néhány Firefox verzióval ezelőtt a pdf-megjelenítés képességével gazdagodott a Firefox. A megjelenítő lelke a pdf.js, amely JavaScript segítségével képzi le HTML/CSS tartalommá a megjelenítendő pdf állományokat. Ez a funkció azonban le volt tiltva a megelőző verziókban. Az új Firefox bétában már alapértelmezetten be van kapcsolva. A béta-verzió telepítése mellett másik lehetőség is van a funkció kipróbálására. Írjuk be a címsorba: „about:config” és adjunk a „pdfjs.disabled” kulcsnak „false” értéket.
WebRTC: a WebRTC API használatával a böngésző felhasználóinak lehetősége nyílik a az egymás közötti, valósidejű hang- és videóbeszélgetés és peer-to-peer alapú fájlátvitel lebonyolítására külön bővítmény használata nélkül. A JavaScriptból elérhető API a HTML5 hang- és videóeszközeit használja fel a feladat megoldására. A 2011-ben megkezdett szabványosítási folyamat részeként a Mozilla, az Opera, és a Chrome is támogatja ezt a VP8 kodeket is felhasználó szabványtervezetet, míg a rivális Microsoft saját tervezettel kívánja megvetni a lábát a böngészőbe integrált üzenetküldő szolgáltatások területén. A WebRTC részleteiről a World Wide Web Consortium (W3C) ajánlásában lehet olvasni.