tarafından geliştirildi | |
---|---|
Son sürüm | 9.0 (17 Mart 2021) |
Depozito | chromium.googlesource.com/v8/v8 |
Yazılmış | C++ ve JavaScript |
İşletim sistemi | Microsoft Windows , Linux , macOS , FreeBSD , Android , Chrome OS , webOS ve BlackBerry 10 ( tr ) |
Çevre | IA-32 ( tr ) , x86_64 ve ARM mimarisi |
Tür |
JavaScript motoru Sanal makine |
Lisans | BSD lisansı |
İnternet sitesi | v8.dev |
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 . V8 motorunun ilk sürümü, Chrome'un ilk sürümü ile aynı zamanda piyasaya sürüldü.2 Eylül 2008. Ayrıca Couchbase, kullanılmakta olan MongoDB, ve node.js sunucu tarafında.
V8 doğrudan derler JavaScript kodu içine yerli makine koduna bunu yürütme yerine gibi daha geleneksel teknikler kullanılarak önce yorumlama bayt kodu veya makine koduna tüm programı derlemek ve bir dosya sisteminden yürütme. Derlenen kod, kodun yürütme profiline bağlı olarak çalışma zamanında dinamik olarak daha da optimize edilir (ve yeniden optimize edilir). Kullanılan optimizasyon teknikleri arasında satır içi oluşturma , pahalı çalışma zamanı özelliklerini seçme ve önbelleğe alma yer alır. Çöp toplayıcı bir artımlı inşa koleksiyoncu.
V8, 32-bit ve 64-bit sürümlerinde x86 , ARM veya MIPS'e derlenebilir ; ayrıca sunucularda kullanılmak üzere PowerPC ve IBM S/390'a taşınmıştır .
V8 montajcı Strongtalk assembler dayanmaktadır. İsim , spor arabaların güçlü V8 motorlarına atıfta bulunuyor . 7 Aralık 2010, hız iyileştirmeleri ile Crankshaft adlı yeni bir yapı çerçevesi yayınlandı. Chrome'un 2015'teki 41. Sürümünden bu yana , daha fazla hız sağlamak için TurboFan projesi eklendi, örneğin asm.js .
2016 yılında, TurboFan ve Krank Miline kıyasla düşük bellekli Android telefonların kullandığı belleği azaltmak amacıyla V8'e Ateşleme yorumlayıcısı eklendi.
2017'de V8, Ignition (yorumlayıcı) ve TurboFan'dan (optimizasyon derleyicisi) oluşan yepyeni bir derleyici ardışık düzeni sağladı. V9 5.9'dan itibaren, ekip artık yeni JavaScript dil özelliklerine ve gerekli optimizasyonlara ayak uyduramayacaklarına inandığından, V8'de JavaScript'i çalıştırmak için Full-codegen ve Krank Mili artık kullanılmamaktadır.
V8, hem tarayıcıda hem de bağımsız projelere entegre edilebilen yüksek performanslı bağımsız bir motor olarak kullanılmak üzere tasarlanmıştır. V8 aşağıdaki yazılımda kullanılır: