V8 (JavaScript motoru) - V8 (JavaScript engine)

V8
V8 JavaScript motoru logosu 2.svg
Orijinal yazar(lar) Lars Bak ait Google
Geliştirici(ler) Krom Projesi
İlk sürüm 2 Eylül 2008 ; 13 yıl önce ( 2008-09-02 )
kararlı sürüm
9.0  Bunu Vikiveri'de düzenleyin / 17 Mart 2021 ; 6 ay önce ( 17 Mart 2021 )
depo
Yazılmış C++
platformu IA-32 , x86-64 , ARM , AArch64 , MIPS , MIPS64 PowerPC , IBM s390
Tip JavaScript motoru
Lisans BSD
İnternet sitesi v8 .dev Bunu Vikiveri'de düzenleyin

V8 , Google Chrome ve Chromium web tarayıcıları için Chromium Project tarafından geliştirilen açık kaynaklı bir JavaScript motorudur . Projenin yaratıcısı Lars Bak . Örneğin, 2 Eylül 2008. Ayrıca, sunucu tarafında kullanılmıştır: V8 motorun ilk sürümü Chrome ilk sürümü ile aynı zamanda serbest bırakıldı Couchbase ve node.js .

Tarih

V8 birleştirici , Strongtalk birleştiricisine dayanmaktadır . 7 Aralık 2010'da, hız iyileştirmeleriyle birlikte Crankshaft adlı yeni bir derleme altyapısı yayınlandı. 2015 Chrome sürümünü 41, proje TurboFan önceden gibi iş yükünü zorlu devamı performans artışı temin etmek üzere ilave edilmiştir asm.js .

2016 yılında, TurboFan ve Krank Miline kıyasla küçük bellekli Android telefonlarda bellek kullanımını azaltma tasarım hedefiyle V8'e Ateşleme yorumlayıcısı eklendi.

2017'de V8, Ignition ( tercüman ) ve TurboFan'dan ( optimizasyon derleyicisi ) oluşan yepyeni bir derleyici ardışık düzenini gönderdi . V8 sürüm 5.9'dan itibaren, Ekip artık yeni JavaScript dil özelliklerine ve bu özelliklerin gerektirdiği optimizasyonlara ayak uyduramayacaklarına inandığından, Full-codegen (ilk temel derleyici) ve Krank Mili artık JavaScript yürütmesi için V8'de kullanılmamaktadır. .

Tasarım

V8 önce kendi ayrıştırıcısıyla soyut bir sözdizimi ağacı oluşturur . Ardından, Ignition , dahili V8 bayt kodu biçimini kullanarak bu sözdizimi ağacından bayt kodu oluşturur . TurboFan bu bayt kodunu makine kodunda derler. Başka bir deyişle, V8, çalıştırmadan önce tam zamanında derlemeyi kullanarak ECMAScript'i doğrudan yerel makine koduna derler . Derlenen kod ayrıca, kodun yürütme profilinin buluşsal yöntemlerine dayalı olarak çalışma zamanında dinamik olarak optimize edilir (ve yeniden optimize edilir). Kullanılan Optimizasyon teknikleri içermektedir inlining , elision pahalı çalışma zamanı özelliklerinin ve satır içi önbelleğe alma . Çöp toplayıcı bir olan nesiller artan toplayıcı.

kullanım

V8, hem 32-bit hem de 64-bit sürümlerinde x86 , ARM veya MIPS komut seti mimarilerini derleyebilir ; ayrıca sunucularda kullanılmak üzere PowerPC ve IBM s390'a taşınmıştır .

V8 bir tarayıcıda kullanılabilir veya bağımsız projelere entegre edilebilir. V8 aşağıdaki yazılımda kullanılır:

Ayrıca bakınız

Referanslar

Dış bağlantılar