Return to search

[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE / [pt] UMA ESPECIFICAÇÃO DE MÁQUINA DE REGISTRADORES PARA JAVA

[pt] 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. / [en] The Java language was created with a focus on portability.
The code generated
by the compiler is interpreted by a virtual machine, and
not directly by the
target processor, like programs written in C. This
intermediate code, also known
as bytecode, is the key to Java's portability. The Java
Bytecodes use a stack to
manipulate the instruction operands. The use of stack has
its their pros and cons.
Among the advantages, we can cite the simplicity of
implementation of the compiler
and virtual machine. On the other hand, there is a speed
reduction in the
program's execution, due to the need to move the operands
to and from the
stack, and retrieve results from it, increasing the number
of instructions that are
processed. Much study has been done that indicating that
register-based virtual
machines can be faster than the ones based on stacks.
Based on this, we decided
to create a new bytecode specification, proper for a
virtual machine based
on registers. By doing this, we hope to obtain an increase
in an application's performance.

Identiferoai:union.ndltd.org:puc-rio.br/oai:MAXWELL.puc-rio.br:9953
Date21 May 2007
CreatorsGUILHERME CAMPOS HAZAN
ContributorsROBERTO IERUSALIMSCHY
PublisherMAXWELL
Source SetsPUC Rio
LanguagePortuguese
Detected LanguageEnglish
TypeTEXTO

Page generated in 0.0028 seconds