GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||
GeezerVison is showing pt.wikipedia.org — V8 (JavaScript) – Wikipédia, a enciclopédia livre
O V8 é um mecanismo de JavaScript e WebAssembly de código aberto desenvolvido pela Google para o seu navegador Google Chrome.[1][3] É um software livre e de código aberto que faz parte do projeto Chromium. Além do uso em navegadores web, o V8 é utilizado em ambientes de execução fora do navegador, destacando-se o Node.js.[1] Outros ambientes de execução JavaScript do lado do servidor utilizam motores alternativos, como o Bun (que utiliza o JavaScriptCore) e o Hermes (utilizado pelo React Native). HistóriaA Google criou o V8 para o navegador Chrome, de modo que o lançamento inicial do motor coincidiu com o lançamento da primeira versão do Chrome em 2008.[3] O nome é uma referência ao motor V8, e seu desenvolvedor principal foi Lars Bak.[4] Por diversos anos, o Chrome manteve uma velocidade de execução de JavaScript superior à de seus concorrentes.[5][6][7] O assembler do V8 baseia-se no montador da linguagem Strongtalk.[8] Em 7 de dezembro de 2010, foi lançada uma nova infraestrutura de compilação chamada Crankshaft, que trouxe melhorias substanciais de desempenho.[9] Na versão 41 do Chrome, em 2015, o projeto TurboFan foi introduzido para otimizar cargas de trabalho complexas, tais como asm.js.[10] Grande parte do desenvolvimento do V8 foi inspirada pela Java HotSpot Virtual Machine da Sun Microsystems, com os pipelines de execução mais recentes apresentando forte semelhança com os do HotSpot. O suporte à linguagem WebAssembly foi introduzido em 2015.[11] Em 2016, o interpretador Ignition foi adicionado ao V8 com o objetivo de reduzir o uso de memória em dispositivos Android com recursos limitados em comparação com o uso do TurboFan e Crankshaft.[12] O Ignition é uma máquina baseada em registradores. Em 2017, o V8 passou a adotar um novo pipeline de compilação composto pelo Ignition (interpretador) e pelo TurboFan (compilador de otimização). A partir da versão 5.9 do V8, o Full-codegen e o Crankshaft foram descontinuados, pois a equipe de desenvolvimento concluiu que eles não conseguiam mais acompanhar a evolução de novos recursos da linguagem JavaScript.[13] Em 2021, um novo compilador de linha de base chamado SparkPlug foi adicionado para complementar o TurboFan no fluxo de compilação em camadas. Em 2023, foi introduzido o compilador Maglev, baseado em SSA, posicionado entre o Sparkplug e o TurboFan para otimizar trechos de código que não atingem a frequência de execução necessária para justificar a compilação mais custosa do TurboFan.[14] ProjetoO V8 inicia o processamento gerando uma árvore de sintaxe abstrata com um analisador próprio.[15] Em seguida, o Ignition gera bytecode a partir dessa árvore.[16] O TurboFan compila esse bytecode em código de máquina nativo utilizando compilação Just-In-Time (JIT) antes de sua execução.[17] O código compilado é otimizado dinamicamente em tempo de execução com base no perfil de execução. As técnicas de otimização aplicadas incluem substituição em linha, elisão de propriedades caras e cache em linha. O gerencimento de memória utiliza um coletor de lixo incremental e geracional.[18] UsoO V8 pode compilar para as arquiteturas de instrução x86, ARM e MIPS, tanto nas edições de 32 bits quanto de 64 bits. Também foi adaptado para PowerPC, IBM ESA/390 e z/Architecture para uso em servidores.[19][20][21] O motor pode ser integrado em navegadores ou em projetos independentes. Ele é empregado nos seguintes softwares:
Ver tambémReferências
Ligações externas
| ||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. | ||||||||||||||||||||