Utviklet av | |
---|---|
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.
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.
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: