Jitter tornou-se oficialmente parte do projeto GNU

Há poucos dias foi divulgada a notícia de que o projeto Jitter tornou-se oficialmente um projeto sob a asa do Projeto GNU e agora está sendo desenvolvido sob o nome de GNU Jitter usando a infraestrutura GNU e de acordo com os requisitos do projeto.

Para quem não está familiarizado com Jitter, você deve saber que éa é uma implementação que permite gerar máquinas virtuais portáteis e muito rápidas para designs arbitrários de linguagens de programação, cujo desempenho de execução de código está significativamente à frente dos intérpretes e próximo ao código compilado nativo.

Jitter é altamente portátil e uma VM correta exibirá exatamente o mesmo comportamento em qualquer plataforma que tenha apenas um compilador e uma biblioteca C padrão; no entanto, o desempenho será melhor usando uma das arquiteturas suportadas (atualmente: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; 64º nível: Aarch390, Alpha, ARM, SXNUMXx) em sistemas ELF com GCC. Claro, Jitter é parte do projeto GNU e é projetado principalmente para uso no sistema GNU.

jitter leva como entrada uma especificação de alto nível de instruções suportadas por uma máquina virtual, e na saída forma uma implementação pronta para uso de uma máquina virtual para executar as instruções fornecidas.

A lógica de cada instrução na especificação é especificado usando o código C. Recursos adicionais incluem suporte para operações de ramificação condicional que são difíceis de implementar em C e inerentes a linguagens de programação dinâmicas, como verificação de valor de tag e verificação de estouro.

O tempo de execução do Jitter também oferece suporte eficiente para operações de ramificação condicional difíceis de implementar usando apenas C, como verificação de tag de valor conforme exigido por linguagens digitadas dinamicamente e aritmética com verificação de estouro. O código VM acessa a chamada de procedimento e as operações de retorno, na maioria dos casos contando com mecanismos de hardware eficientes.

A máquina virtual resultante é formatada em C com um pequeno número de inserções montador. As configurações são fornecidas para permitir várias otimizações e selecionar mecanismos de entrega, facilitando a migração de uma máquina virtual para plataformas diferentes.

Ele suporta o uso de arquiteturas de execução de registro, pilha e junção, bem como a capacidade de espelhar estruturas de dados de máquina virtual em registros de hardware de CPU e conectar coletores de lixo.

O código gerado inclui uma API C simples para substituir e executar dinamicamente o código em uma máquina virtual, bem como um programa controlador para executar separadamente o código de arquivos de texto em uma máquina virtual.

O código C gerado é fortemente condicionado e pode ser configurado para ser executado usando diferentes técnicas de distribuição de sofisticação variada; as técnicas de despacho mais eficientes contam com algum suporte de montagem específico da arquitetura, mas não específico da VM, fornecido pelo Jitter; todos os modelos de despacho, mas um também é baseado em extensões GNU C.

Finalmente, para aqueles que estão interessados ​​em saber mais sobre isso, eles devem saber que o código Jitter original é escrito em C e está disponível sob a licença GPLv3. Você pode aprender mais no link a seguir

Como obter Jitter?

Para aqueles que estão interessados ​​em testar o Jitter, eles podem obter o código-fonte abrindo um terminal e digitando o seguinte comando nele:

git clone http://git.ageinghacker.net/jitter

Feito isso, agora vamos entrar na pasta que contém o código, vamos executar o script de inicialização que é usado para gerar os arquivos necessários para configurar e construir o Jitter, incluindo um script de configuração. Fazemos isso com:

cd jitter && ./bootstrap

É importante mencionar que o Jitter segue as convenções GNU para configuração e construção e suporta a construção a partir do diretório de origem; na verdade, ele oferece suporte à compilação cruzada e até mesmo à execução do conjunto de testes em uma compilação cruzada por meio de um emulador.

./configure && make

Finalmente, para executar, basta digitar:

make check


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.