Jetbrains

O novo Back-end IR da JVM está em estágio Beta: vamos torná-lo estável juntos

Em breve, tornaremos o novo back-end estável e, portanto, precisamos que cada um de vocês o adote. Vejamos como fazer isso.

Temos trabalhado para implementar um novo back-end IR da JVM como parte de nosso projeto em andamento para reescrever todo o compilador. Esse novo compilador aumentará o desempenho tanto para usuários do Kotlin quanto para a própria equipe do Kotlin, fornecendo uma infraestrutura versátil que facilita a inclusão de novos recursos de linguagem.

Nosso trabalho no back-end IR da JVM está quase completo e vamos torná-lo estável em breve. Porém, antes disso, precisamos que você o use. No Kotlin 1.4.30, estamos fazendo o novo back-end produzir binários estáveis, o que significa que você poderá usá-lo com segurança nos seus projetos. Continue lendo para saber mais sobre as mudanças que esse novo back-end traz, bem como para saber como contribuir com o processo de finalização dessa parte do compilador.

O que muda com o novo back-end:

  • Corrigimos vários bugs que estavam presentes no antigo back-end.
  • O desenvolvimento de novos recursos de linguagem será muito mais rápido.
  • Adicionaremos todas as melhorias de desempenho futuras ao novo back-end da JVM.
  • O novo Jetpack Compose só funcionará com o novo back-end.

Outro ponto a favor de começar a usar o novo back-end IR da JVM agora mesmo é que ele se tornará o padrão no Kotlin 1.5.0. Antes que ele se torne o padrão, queremos ter certeza de corrigir o máximo de bugs que pudermos e, ao adotar o novo back-end antecipadamente, você ajudará a garantir que a migração seja a mais tranquila possível.

Para começar a usar o novo back-end IR da JVM

  1. Atualize a dependência do Kotlin para 1.4.30 no seu projeto.
  2. No arquivo de configuração de compilação, adicione as seguintes linhas ao bloco de plataforma de destino do seu projeto/módulo para ativar o novo compilador.
    Para o Gradle, adicione o seguinte:

    • No Groovy
      compileKotlin {
          kotlinOptions.useIR = true
      }
      
    • No Kotlin
          Kotlin
          import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
          // ...
          val compileKotlin: KotlinCompile by tasks
          compileKotlin.kotlinOptions.useIR = true
      

    E, para o Maven, adicione o seguinte:

     
    <configuration>
        <args>
            <arg>-Xuse-ir</arg>
        </args>
    </configuration>
    
  3. Faça uma compilação limpa e execute testes após habilitar o novo back-end para verificar se o projeto foi compilado com sucesso.

Você não deve perceber qualquer diferença, mas se notar, relate-a no YouTrack ou envie-nos uma mensagem neste Canal Slack (receba um convite aqui). Ao fazer isso, anexe uma lista de etapas para reproduzir o problema e um exemplo do código, se possível.

Você pode voltar para o back-end antigo a qualquer momento simplesmente removendo a linha da etapa dois e reconstruindo o projeto.

Powered by WPeMatico