Lançamento do V8 v8.7
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.