compilador just-in-time

655 palavras 3 páginas
'' Em sistemas computacionais baseados em máquinas virtuais, como Java e .NET, o processo de compilação traduz o código fonte para uma representação intermediária conhecida pelo termo bytecode. Esta representação intermediária não está associada a nenhum código de máquina específico e pode ser transportada para várias arquiteturas de computador distintas. Em cada arquitetura específica, essa representação intermediária é interpretada - ou executada em uma máquina virtual.
Nos ambientes que oferecem o recurso de JIT, a máquina virtual responsável pela execução dos bytecodes resultantes da compilação do programa fonte realiza a tradução desse bytecode para código de máquina nativo enquanto o executa. No caso mais comum, cada trecho de código é traduzido no instante em que está para ser executado pela primeira vez, daí derivando o nome "just-in-time".
A ideia de um sistema que suporta o conceito de JIT é combinar as vantagens da compilação tradicional - que converte o código fonte diretamente para código de máquina - e do conceito de máquinas virtuais, baseadas em bytecode. A custosa tarefa de analisar e verificar o código fonte do programa original é realizada pelo processo de compilação para bytecode, em tempo de desenvolvimento. Também nesta fase, são realizadas todas as possíveis otimizações baseadas na análise do código fonte, obtendo-se um conjunto de bytecodes otimizados e semanticamente equivalente ao programa fonte original. O programa objeto resultante deste processo de compilação é transportável para as várias arquiteturas distintas que suportam a máquina virtual alvo da compilação, isto é, que possuem um interpretador de bytecode. Durante a execução do programa, o compilador JIT realiza apenas a tradução de bytecode para código de máquina, relativo a interpretação. Isso resulta numa tarefa muito mais simples e mais rápida.
Esse mecanismo de execução apresenta um desempenho significativamente superior ao processo clássico de interpretação. Isto porque o

Relacionados

  • Tcc de informática para internet
    1082 palavras | 5 páginas
  • Máquinas Virtuais Arquitetura Java e .NET
    2225 palavras | 9 páginas
  • Introdução à Linguagem de Programação Java
    1514 palavras | 7 páginas
  • C
    1203 palavras | 5 páginas
  • SO Compitaladores
    529 palavras | 3 páginas
  • Comparativo entre c e java
    1637 palavras | 7 páginas
  • C # e JAVA
    1822 palavras | 8 páginas
  • Comparativo entre c e java
    1637 palavras | 7 páginas
  • Java
    1742 palavras | 7 páginas
  • copilador
    750 palavras | 3 páginas