A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE / UMA ESPECIFICAÇÃO DE MÁQUINA DE REGISTRADORES PARA JAVA
AUTOR(ES)
GUILHERME CAMPOS HAZAN
DATA DE PUBLICAÇÃO
2007
RESUMO
A linguagem Java foi definida tendo como foco a portabilidade. O código gerado pela compilação é interpretado por uma máquina virtual, e não diretamente pelo processador destino, como um programa em C. Este código intermediário, também conhecido como bytecode, é a chave da portabilidade de Java. Os Bytecodes Java usam uma pilha para manipular os operandos das instruções. O uso de pilha tem suas vantagens e desvantagens. Dentre as vantagens, podemos citar a simplicidade da implementação do compilador e da máquina virtual. A principal desvantagem é a redução na velocidade de execução dos programas, devido à necessidade de se mover os operandos para a pilha e retirar dela o resultado, gerando um aumento no número de instruções que devem ser processadas. Diversos estudos indicam que máquinas virtuais baseadas em registradores podem ser mais rápidas que as baseadas em pilha. Decidimos criar uma nova especificação de bytecodes, específicos para máquinas virtuais baseadas em registradores. Esperamos com isso obter um aumento no desempenho das aplicações.
ASSUNTO(S)
otimizacao compiladores mobile device compilers java pilha dispositivo movel stack performance java optimization virtual machine maquina virtual performance
ACESSO AO ARTIGO
Documentos Relacionados
- Semantics for an algebraic specification language
- Proposta de especificação formal em SDL de uma rede de comunicação automotiva baseada no protocolo FlexRay com geração automatica de codigo java
- A specification language for execution flow in parallel applications
- A CONTENT ADDRESSABLE MEMORY BASED ARCHITECTURE TO SUPPORT A PROLOG VIRTUAL MACHINE
- Algoritmo para frenagem regenerativa de uma máquina síncrona de imã permanente