V8 — Chromium və Google Chrome veb-brauzerləri üçün Chromium Project tərəfindən hazırlanmış pulsuz və açıq mənbəli JavaScript və WebAssembly mühərriki. Layihənin yaradıcısı . V8 mühərrikinin ilk versiyası Chrome-un ilk versiyası ilə eyni vaxtda, 2 sentyabr 2008-ci ildə buraxıldı. O, həmçinin server tərəfdə, məsələn, , Deno və Node.js-də istifadə edilmişdir.
V8 | |
---|---|
Tipi | JavaScript mühərriki, Açıq mənbəli proqram təminatı, virtual maşın |
Repozitoriya | chromium.googlesource.com/… |
Proqramlaşdırma dili | , JavaScript |
Əməliyyat sistemi | Microsoft Windows, Linux, macOS, FreeBSD, Android, Google Chrome |
Platforma | İA-32, x86_64[d], ARM[d], PowerPC[d] |
Sonuncu versiya |
|
Sayt | v8.dev |
Vikianbarda əlaqəli mediafayllar |
Tarixi
V8 assembleri Strongtalk Assembler-ə əsaslanır. 7 dekabr 2010-cu ildə, sürətində təkmilləşdirmələr edilmiş "Crankshaft" adlı yeni kompilyasiya infrastrukturu buraxıldı. 2015-ci ildə Chrome-un 41-ci versiyasında kimi əvvəllər tələb olunan iş yüklərində daha çox performans təkmilləşdirmələri təmin etmək üçün TurboFan layihəsi əlavə edildi. V8-in tərtibatının çox hissəsi Sun Microsystems tərəfindən hazırlanmış -dən təsirlənib, yeni icra konveyerləri HotSpot-la çox oxşardır.
2016-cı ildə TurboFan və Crankshaft ilə müqayisədə kiçik yaddaşlı Android telefonlarında yaddaş istifadəsini azaltmaq məqsədi ilə V8-ə Ignition interpretatoru əlavə edildi. Ignition registr əsaslı maşındır və HotSpot tərəfindən istifadə edilən şablon interpretatoruna oxşar (tam eyni olmasa da) dizaynı paylaşır.
2017-ci ildə V8 Ignition (interpretator) və TurboFan-dan (optimallaşdırıcı kompilyator) ibarət yeni kompilyator konveyeri buraxdı. V8 versiyası 5.9-dan başlayaraq, Full-codegen (ilkin baza kompilyatoru) və Crankshaft artıq V8-də JavaScript-in icrası üçün istifadə edilmir, çünki komanda onların artıq yeni JavaScript dili xüsusiyyətləri və bu xüsusiyyətlərin tələb olunan optimallaşdırılması ilə ayaqlaşa bilməyəcəyinə inanırdı.
2021-ci ildə HotSpot tərəfindən istifadə edilən profilləşdirən C1 Compilator-a birbaşa paralel olaraq V8 daxilində mövcud TurboFan kompilyatorunu tamamlayan SparkPlug kompilyatorunun buraxılışı ilə yeni səviyyəli kompilyasiya konveyeri təqdim edildi.
Dizaynı
V8 əvvəlcə öz analizatoru ilə yaradır. Sonra Ignition daxili V8 bayt kodu formatından istifadə edərək bu sintaksis ağacından yaradır. TurboFan bu bayt-kodu maşın koduna çevirir. Başqa sözlə, V8, ECMAScript-i yerinə yetirməzdən əvvəl JIT kompilyasiyası istifadə edərək birbaşa yerli maşın kodunu kompilyasiya edir. Kompilyasiya edilmiş kod, kodun icra profilinin evristikası əsasında işləmə mühitində əlavə olaraq dinamik olaraq optimallaşdırılır (və yenidən optimallaşdırılır). İstifadə olunan optimallaşdırma üsullarına sətiriçi kod, böyük iş mühiti xüsusiyyətlərinin silinməsi və daxili keşləmə daxildir. Tullantı toplayıcı generativ artımlı kollektordur.
İstifadəsi
V8 həm 32-bit, həm də 64-bit nəşrlərində x86, ARM və ya MIPS təlimat dəsti arxitekturalarını kompilyasiya edə bilər. O, əlavə olaraq serverlərdə istifadə üçün və -a keçirilib.
V8 brauzerdə istifadə edilə bilər və ya müstəqil layihələrə inteqrasiya oluna bilər. V8 aşağıdakı proqram təminatında istifadə olunur:
- Chromium əsaslı veb-brauzerlər - Google Chrome, Brave, Opera, Vivaldi və Microsoft Edge
- Firefox - requlyar ifadələrin təhlili üçün brauzerə keçirilən V8 hissələri
- verilənlər bazası serveri
- Deno iş mühiti
- Atom və Visual Studio Code mətn redaktorları tərəfindən istifadə olunan iş masası proqram freymvorku
- verilənlər bazası serveri
- mobil tətbiq freymvorku
- Node.js iş mühiti
- iş mühiti.
İstinadlar
- Chrome Platform Status.
- Discontinuing release blog posts. 2022.
- The v8-js Open Source Project on Open Hub: Languages Page. 2006.
- Lenssen, Philipp. "Google on Google Chrome - comic book". Google Blogoscoped. 1 September 2008. 18 June 2015 tarixində . İstifadə tarixi: 17 August 2010.
- . . July 22, 2010 tarixində orijinalından arxivləşdirilib. İstifadə tarixi: 17 August 2010.
- "A New Crankshaft for V8". Chromium Blog. 7 December 2010. 25 February 2019 tarixində . İstifadə tarixi: 22 April 2011.
- "Revving up JavaScript performance with TurboFan". 7 July 2015. 9 February 2019 tarixində . İstifadə tarixi: 5 March 2016.
- "BlinkOn 6 Day 1 Talk 2: Ignition - an interpreter for V8". YouTube. 26 June 2016. 2021-12-21 tarixində arxivləşdirilib. İstifadə tarixi: 2 September 2016.
- "Launching Ignition and TurboFan". 16 May 2017. 4 September 2018 tarixində . İstifadə tarixi: 13 July 2017.
- Verwaest, Toon. "Blazingly fast parsing, part 1: optimizing the scanner · V8". v8.dev. 25 March 2019. 21 April 2021 tarixində . İstifadə tarixi: 1 June 2021.
- Hinkelmann, Franziska. "Understanding V8's Bytecode". Medium (ingilis). 2017-12-19. 2019-10-17 tarixində . İstifadə tarixi: 2019-10-17.
- "Firing up the Ignition interpreter · V8". v8.dev. 2020-09-24 tarixində . İstifadə tarixi: 2020-09-30.
- "A game changer for interactive performance". blog.chromium.org. 2011-11-21. 2022-05-16 tarixində . İstifadə tarixi: 2022-02-06.
- "GitHub - ibmruntimes/v8ppc: Port of Google V8 javascript engine to PowerPC®". April 21, 2019. December 7, 2022 tarixində . İstifadə tarixi: December 13, 2023 – GitHub vasitəsilə.
- "Port of Google V8 JavaScript engine to z/OS. The Linux on Z port is maintained in the community: ibmruntimes/v8z". April 2, 2019. June 16, 2023 tarixində . İstifadə tarixi: December 13, 2023 – GitHub vasitəsilə.
- "PPC support for Google V8 goes mainstream". June 30, 2015. September 4, 2018 tarixində . İstifadə tarixi: December 13, 2023.
- "Introduction - Chrome V8". Google Inc. 2017-04-04 tarixində . İstifadə tarixi: 2023-12-13.
- . 22 October 2012 tarixində orijinalından arxivləşdirilib. İstifadə tarixi: 23 October 2012.
- "A secure JavaScript/TypeScript runtime built with V8, Rust, and Tokio: denoland/deno". July 8, 2019. February 17, 2020 tarixində . İstifadə tarixi: December 13, 2023 – GitHub vasitəsilə.
- "Overview - NativeScript Docs". docs.nativescript.org. 2020-07-28 tarixində . İstifadə tarixi: 2023-12-13.
- Jolie O'Dell. "Why Everyone Is Talking About Node". Mashable. March 10, 2011. August 2, 2017 tarixində . İstifadə tarixi: December 13, 2023.
- "Difference between qt qml and qt quick". Stack Overflow. İstifadə tarixi: 2020-09-26.
Xarici keçidlər
- v8.dev — V8 rəsmi saytı
wikipedia, oxu, kitab, kitabxana, axtar, tap, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, tarixi, endir, indir, yukle, izlə, izle, mobil, telefon ucun, azeri, azəri, azerbaycanca, azərbaycanca, sayt, yüklə, pulsuz, pulsuz yüklə, haqqında, haqqinda, məlumat, melumat, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar, android, ios, apple, samsung, iphone, pc, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, web, computer, komputer
V8 Chromium ve Google Chrome veb brauzerleri ucun Chromium Project terefinden hazirlanmis pulsuz ve aciq menbeli JavaScript ve WebAssembly muherriki Layihenin yaradicisi V8 muherrikinin ilk versiyasi Chrome un ilk versiyasi ile eyni vaxtda 2 sentyabr 2008 ci ilde buraxildi O hemcinin server terefde meselen Deno ve Node js de istifade edilmisdir V8Tipi JavaScript muherriki Aciq menbeli proqram teminati virtual masinRepozitoriya chromium googlesource com Proqramlasdirma dili C JavaScriptEmeliyyat sistemi Microsoft Windows Linux macOS FreeBSD Android Google ChromePlatforma IA 32 x86 64 d ARM d PowerPC d Sonuncu versiya 11 4Sayt v8 dev Vikianbarda elaqeli mediafayllarTarixiV8 assembleri Strongtalk Assembler e esaslanir 7 dekabr 2010 cu ilde suretinde tekmillesdirmeler edilmis Crankshaft adli yeni kompilyasiya infrastrukturu buraxildi 2015 ci ilde Chrome un 41 ci versiyasinda kimi evveller teleb olunan is yuklerinde daha cox performans tekmillesdirmeleri temin etmek ucun TurboFan layihesi elave edildi V8 in tertibatinin cox hissesi Sun Microsystems terefinden hazirlanmis den tesirlenib yeni icra konveyerleri HotSpot la cox oxsardir 2016 ci ilde TurboFan ve Crankshaft ile muqayisede kicik yaddasli Android telefonlarinda yaddas istifadesini azaltmaq meqsedi ile V8 e Ignition interpretatoru elave edildi Ignition registr esasli masindir ve HotSpot terefinden istifade edilen sablon interpretatoruna oxsar tam eyni olmasa da dizayni paylasir 2017 ci ilde V8 Ignition interpretator ve TurboFan dan optimallasdirici kompilyator ibaret yeni kompilyator konveyeri buraxdi V8 versiyasi 5 9 dan baslayaraq Full codegen ilkin baza kompilyatoru ve Crankshaft artiq V8 de JavaScript in icrasi ucun istifade edilmir cunki komanda onlarin artiq yeni JavaScript dili xususiyyetleri ve bu xususiyyetlerin teleb olunan optimallasdirilmasi ile ayaqlasa bilmeyeceyine inanirdi 2021 ci ilde HotSpot terefinden istifade edilen profillesdiren C1 Compilator a birbasa paralel olaraq V8 daxilinde movcud TurboFan kompilyatorunu tamamlayan SparkPlug kompilyatorunun buraxilisi ile yeni seviyyeli kompilyasiya konveyeri teqdim edildi DizayniV8 evvelce oz analizatoru ile yaradir Sonra Ignition daxili V8 bayt kodu formatindan istifade ederek bu sintaksis agacindan yaradir TurboFan bu bayt kodu masin koduna cevirir Basqa sozle V8 ECMAScript i yerine yetirmezden evvel JIT kompilyasiyasi istifade ederek birbasa yerli masin kodunu kompilyasiya edir Kompilyasiya edilmis kod kodun icra profilinin evristikasi esasinda isleme muhitinde elave olaraq dinamik olaraq optimallasdirilir ve yeniden optimallasdirilir Istifade olunan optimallasdirma usullarina setirici kod boyuk is muhiti xususiyyetlerinin silinmesi ve daxili kesleme daxildir Tullanti toplayici generativ artimli kollektordur IstifadesiV8 hem 32 bit hem de 64 bit nesrlerinde x86 ARM ve ya MIPS telimat desti arxitekturalarini kompilyasiya ede biler O elave olaraq serverlerde istifade ucun ve a kecirilib V8 brauzerde istifade edile biler ve ya musteqil layihelere inteqrasiya oluna biler V8 asagidaki proqram teminatinda istifade olunur Chromium esasli veb brauzerler Google Chrome Brave Opera Vivaldi ve Microsoft Edge Firefox requlyar ifadelerin tehlili ucun brauzere kecirilen V8 hisseleri verilenler bazasi serveri Deno is muhiti Atom ve Visual Studio Code metn redaktorlari terefinden istifade olunan is masasi proqram freymvorku verilenler bazasi serveri mobil tetbiq freymvorku Node js is muhiti is muhiti IstinadlarChrome Platform Status Discontinuing release blog posts 2022 The v8 js Open Source Project on Open Hub Languages Page 2006 Lenssen Philipp Google on Google Chrome comic book Google Blogoscoped 1 September 2008 18 June 2015 tarixinde Istifade tarixi 17 August 2010 July 22 2010 tarixinde orijinalindan arxivlesdirilib Istifade tarixi 17 August 2010 A New Crankshaft for V8 Chromium Blog 7 December 2010 25 February 2019 tarixinde Istifade tarixi 22 April 2011 Revving up JavaScript performance with TurboFan 7 July 2015 9 February 2019 tarixinde Istifade tarixi 5 March 2016 BlinkOn 6 Day 1 Talk 2 Ignition an interpreter for V8 YouTube 26 June 2016 2021 12 21 tarixinde arxivlesdirilib Istifade tarixi 2 September 2016 Launching Ignition and TurboFan 16 May 2017 4 September 2018 tarixinde Istifade tarixi 13 July 2017 Verwaest Toon Blazingly fast parsing part 1 optimizing the scanner V8 v8 dev 25 March 2019 21 April 2021 tarixinde Istifade tarixi 1 June 2021 Hinkelmann Franziska Understanding V8 s Bytecode Medium ingilis 2017 12 19 2019 10 17 tarixinde Istifade tarixi 2019 10 17 Firing up the Ignition interpreter V8 v8 dev 2020 09 24 tarixinde Istifade tarixi 2020 09 30 A game changer for interactive performance blog chromium org 2011 11 21 2022 05 16 tarixinde Istifade tarixi 2022 02 06 GitHub ibmruntimes v8ppc Port of Google V8 javascript engine to PowerPC April 21 2019 December 7 2022 tarixinde Istifade tarixi December 13 2023 GitHub vasitesile Port of Google V8 JavaScript engine to z OS The Linux on Z port is maintained in the community ibmruntimes v8z April 2 2019 June 16 2023 tarixinde Istifade tarixi December 13 2023 GitHub vasitesile PPC support for Google V8 goes mainstream June 30 2015 September 4 2018 tarixinde Istifade tarixi December 13 2023 Introduction Chrome V8 Google Inc 2017 04 04 tarixinde Istifade tarixi 2023 12 13 22 October 2012 tarixinde orijinalindan arxivlesdirilib Istifade tarixi 23 October 2012 A secure JavaScript TypeScript runtime built with V8 Rust and Tokio denoland deno July 8 2019 February 17 2020 tarixinde Istifade tarixi December 13 2023 GitHub vasitesile Overview NativeScript Docs docs nativescript org 2020 07 28 tarixinde Istifade tarixi 2023 12 13 Jolie O Dell Why Everyone Is Talking About Node Mashable March 10 2011 August 2 2017 tarixinde Istifade tarixi December 13 2023 Difference between qt qml and qt quick Stack Overflow Istifade tarixi 2020 09 26 Xarici kecidlerVikianbarda elaqeli media fayllar v8 dev V8 resmi sayti