V8 (JavaScript-motor)

V8

Informasjon
Utviklet av Google
Siste versjon 9,0 (17. mars 2021)
Innskudd chromium.googlesource.com/v8/v8
Skrevet i C ++ og JavaScript
Operativsystem Microsoft Windows , Linux , macOS , FreeBSD , Android , Chrome OS , webOS og BlackBerry 10 ( en )
Miljø IA-32 ( en ) , x86_64 og ARM-arkitektur
Type JavaScript-motor
Virtuell maskin
Tillatelse BSD-lisens
Nettsted v8.dev

V8 er en JavaScript- motor med åpen kildekode utviklet av Chromium Project for nettlesere Google Chrome og Chromium . Skaperen av prosjektet er Lars Bak . Den første versjonen av V8-motoren ble utgitt samtidig med den første versjonen av Chrome, den2. september 2008. Den har også blitt brukt i Couchbase, MongoDB og Node.js på serversiden.

V8 kompilerer direkte JavaScript- kode til innfødt maskinkode før den kjøres, i stedet for å bruke mer tradisjonelle teknikker som å tolke bytekode eller kompilere hele programmet til maskinkode og utføre fra et filsystem. Den kompilerte koden er videre optimalisert (og re-optimalisert) dynamisk ved kjøretid, basert på kodens kjøringsprofil. Optimalisering teknikker brukes inkluderer fletting , elision dyre runtime egenskaper, og caching. Den søppelinnsamler er en trinnvis oppbygging samler.

V8 kan kompilere til x86 , ARM eller MIPS i 32-biters og 64-biters utgaver  ; i tillegg har den blitt portet til PowerPC og IBM S / 390 for bruk på servere.

Historisk

Den V8 assembler er basert på Strongtalk assembler. Navnet refererer til de kraftige V8-motorene til sportsbiler. De7. desember 2010, et nybygg-rammeverk kalt Crankshaft er utgitt, med hastighetsforbedringer. Siden versjon 41 av Chrome i 2015, har blitt lagt til turbofan prosjekt for å muliggjøre mer fart, for eksempel asm.js .

I 2016 ble Ignition-tolk lagt til V8 med det mål å redusere minnet som brukes av Android-telefoner med lite minne sammenlignet med TurboFan og Crankshaft.

I 2017 leverte V8 en helt ny kompilatorrørledning, bestående av Ignition (tolken) og TurboFan (optimaliserings kompilatoren). Fra og med V9 5.9 brukes ikke fullkodegen og veivaksel lenger i V8 for å kjøre JavaScript, ettersom teamet mener at de ikke lenger er i stand til å holde tritt med nye JavaScript-språkfunksjoner og nødvendige optimaliseringer.

bruk

V8 er ment for bruk både i en nettleser og som en høytytende frittstående motor som kan integreres i frittstående prosjekter. V8 brukes i følgende programvare:

Se også

Referanser

  1. V8 release v9.0  " (åpnet 17. mars 2021 )
  2. Lenssen, “  Google på Google Chrome - tegneserie  ” , Google Blogoscoped , Google ,1 st september 2008(åpnet 17. august 2010 )
  3. Minto, "  Geniet bak Googles nettleser  " , Financial Times ,27. mars 2009(åpnet 17. august 2010 )
  4. "  A game changer for interaktiv forestilling  " , krom blogg , Google (åpnes 1 st mai 2012 )
  5. “  Port of Google V8 Javascript-motoren til PowerPC. Bidra til ibmruntimes / v8ppc utvikling ved å opprette en konto på GitHub  ” , på GitHub ,21. april 2019
  6. “  Port av Google V8 JavaScript-motor til z / OS. Linux on Z-porten opprettholdes i samfunnet: https://chromium.googlesource.com/v8/v8.git: ibmruntimes / v8z  ” , på GitHub ,2. april 2019
  7. mhdawson , “  PPC-støtte for Google V8 blir mainstream  ” ,30. juni 2015
  8. "  V8 Changelog v3.8.2  " , Google (åpnet 23. oktober 2012 )
  9. "  V8 JavaScript Engine: License  " [ arkiv av22. juli 2010] , Google Code , Google (åpnet 17. august 2010 )
  10. "  Feirer 10 år med V8 · V8  " , på v8.dev (åpnet 21. april 2021 )
  11. "  En ny veivaksel for V8  " , Chromium Blog , Google ,7. desember 2010(åpnet 22. april 2011 )
  12. "  Revidere JavaScript-ytelse med TurboFan  " ,7. juli 2015(åpnet 5. mars 2016 )
  13. "  BlinkOn 6 Day 1 Talk 2: Ignition - en tolk for V8  " ,26. juni 2016(åpnet 2. september 2016 )
  14. "  Launching Ignition and TurboFan  " ,16. mai 2017(åpnet 13. juli 2017 )
  15. Jolie O'Dell, "  Hvorfor alle snakker om node,  " Mashable,10. mars 2011
  16. "  Oversikt over NativeScript Android Runtime  "