Pular para o conteúdo principal

Documentação

V8 é o mecanismo de JavaScript e WebAssembly de alto desempenho e código aberto do Google, escrito em C++. Ele é usado no Chrome e no Node.js, entre outros.

Esta documentação é direcionada a desenvolvedores C++ que desejam usar o V8 em suas aplicações, assim como para qualquer pessoa interessada no design e no desempenho do V8. Este documento apresenta o V8, enquanto a documentação restante mostra como usar o V8 no seu código e descreve alguns dos detalhes do seu design, além de fornecer um conjunto de benchmarks JavaScript para medir o desempenho do V8.

Sobre o V8

O V8 implementa ECMAScript e WebAssembly, e funciona em sistemas Windows, macOS e Linux que utilizam processadores x64, IA-32 ou ARM. Sistemas adicionais (IBM i, AIX) e processadores (MIPS, ppcle64, s390x) são mantidos externamente, veja ports. O V8 pode ser embutido em qualquer aplicação C++.

O V8 compila e executa código fonte JavaScript, lida com alocação de memória para objetos e realiza coleta de lixo para objetos que não são mais necessários. O coletor de lixo generacional, preciso e de parada total do V8 é uma das chaves para o desempenho do V8.

JavaScript é comumente usado para scripts do lado do cliente em navegadores, sendo utilizado, por exemplo, para manipular objetos do Modelo de Objeto de Documento (DOM). O DOM, no entanto, não é normalmente fornecido pelo mecanismo JavaScript, mas sim por um navegador. O mesmo acontece com o V8 — o Google Chrome fornece o DOM. No entanto, o V8 fornece todos os tipos de dados, operadores, objetos e funções especificados no padrão ECMA.

O V8 permite que qualquer aplicação C++ exponga seus próprios objetos e funções ao código JavaScript. Cabe a você decidir os objetos e funções que deseja expor ao JavaScript.

Visão geral da documentação