Carakan, czyli nowy silnik JavaScript dla Opery

Firma Opera Software oficjalnie zaprezentowała nowy engineskryptowy swojej przeglądarki. Nosi on nazwę Carakani jest bazującą na rejestrze maszyną wirtualną JavaScirpt, którajest prawie trzy razy szybsza aniżeli dotychczasowa. Ostatnie kilka generacji ECMAScript wykorzystywało zestawinstrukcji kodu bajtowego bazującego na stosie. Działanie zbioruopiera się na stosie wartości, w którym instrukcja zdejmujeargumenty ze stosu, przetwarza je i wprowadzona z powrotem dostosu. Pozostałe instrukcje dodają wartości do stosu, a innezmieniają wartości na stosie. W Carakanie zdecydowano się na zestawinstrukcji kodu bajtowego. Dzięki temu zamiast zmiennych rozmiarówstosu wartości, nie ma ustalonych wielkości bloku (tzw. rejestrów).Zamiast korzystania z wartości na górze stosu, każda instrukcjamoże uzyskać dostęp do instrukcji dowolnego rejestru. Ponieważ niema potrzeby kopiowania wartości z i na stos, dlatego mniejinstrukcji musi zostać wykonanych i mniej danych musi ulecskopiowaniu. Wykonywanie pewnych instrukcji, nawet mimo znacznie szybszychmechanizmów, wciąż może prowadzić do niepowołanych operacji.Dotyczy to głównie pętli, w których zachodzą pewne operacje naliczbach. Nowy kompilator pozwala przekształcać aplikacjeECMAScript w natywny kod. Kompilacja bazuje na analizie statycznejtypów w celu eliminacji niepotrzebnych typów kontrolek. Alokatorrejestru umożliwia ograniczenie ilości operacji dostępu do rejestrui pamięci. Dopasowuje także wyrażenia regularne. Automatycznaklasyfikacja obiektów pozwala na przypisanie każdemu obiektowiklasy, która gromadzi informacje dotyczące różnych obiektów. Zmian doczekała także biblioteka Vega, używana do renderingu SVG,Canvas i innych, która potrafi teraz wykorzystać akceleracjesprzętową, zarówno Direct3D, jak i OpenGL. Nowy silnik generowaniakodu pozwala na ukrócenie wykonywania pewnych operacji od pięciu donawet pięćdziesięciu razy. Carackan nie jest jeszcze dostępny wsnaphostach Opery 10.

Adam Wróblewski

05.02.2009 13:49

Źródło artykułu:www.dobreprogramy.pl
Wybrane dla Ciebie
Komentarze (98)