Pular para o conteúdo principal

Lançamento do V8 v8.7

· Leitura de 3 minutos
Ingvar Stepanyan ([@RReverser](https://twitter.com/RReverser)), um porta-voz do V8

A cada seis semanas, criamos uma nova ramificação do V8 como parte do nosso processo de lançamento. Cada versão é derivada do Git master do V8 imediatamente antes de um marco do Chrome Beta. Hoje, estamos satisfeitos em anunciar nossa mais nova ramificação, V8 versão 8.7, que está em versão beta até seu lançamento em coordenação com o Chrome 87 Stable em algumas semanas. O V8 v8.7 está repleto de novidades úteis para desenvolvedores. Este post oferece um preview de alguns dos destaques em antecipação ao lançamento.

JavaScript

Chamadas JS rápidas e não seguras

O V8 v8.7 vem com uma API aprimorada para fazer chamadas nativas de JavaScript.

O recurso ainda é experimental e pode ser ativado através da flag --turbo-fast-api-calls no V8 ou a flag correspondente --enable-unsafe-fast-js-calls no Chrome. Ele foi projetado para melhorar o desempenho de algumas APIs gráficas nativas no Chrome, mas também pode ser usado por outros embutidores. Ele fornece novos meios para os desenvolvedores criarem instâncias de v8::FunctionTemplate, conforme documentado neste arquivo de cabeçalho. As funções criadas usando a API original permanecerão inalteradas.

Para mais informações e uma lista de recursos disponíveis, consulte esta explicação.

Atomics.waitAsync

Atomics.waitAsync está agora disponível no V8 v8.7.

Atomics.wait e Atomics.notify são primitivos de sincronização de baixo nível úteis para implementar mutexes e outros meios de sincronização. No entanto, como Atomics.wait é bloqueante, não é possível chamá-lo na thread principal (tentar fazer isso lançará um TypeError). A versão não bloqueante, Atomics.waitAsync, também pode ser usada na thread principal.

Consulte nossa explicação sobre as APIs de Atomics para mais detalhes.

API V8

Use git log branch-heads/8.6..branch-heads/8.7 include/v8.h para obter uma lista das alterações da API.

Os desenvolvedores com um checkout ativo do V8 podem usar git checkout -b 8.7 -t branch-heads/8.7 para experimentar os novos recursos no V8 v8.7. Alternativamente, você pode se inscrever no canal Beta do Chrome e experimentar os novos recursos em breve.