Título
[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE
Título
[pt] UMA ESPECIFICAÇÃO DE MÁQUINA DE REGISTRADORES PARA JAVA
Autor
[pt] GUILHERME CAMPOS HAZAN
Vocabulário
[pt] PERFORMANCE
Vocabulário
[pt] PILHA
Vocabulário
[pt] MAQUINA VIRTUAL
Vocabulário
[pt] DISPOSITIVO MOVEL
Vocabulário
[pt] JAVA
Vocabulário
[pt] COMPILADORES
Vocabulário
[pt] OTIMIZACAO
Vocabulário
[en] PERFORMANCE
Vocabulário
[en] STACK
Vocabulário
[en] VIRTUAL MACHINE
Vocabulário
[en] MOBILE DEVICE
Vocabulário
[en] JAVA
Vocabulário
[en] COMPILERS
Vocabulário
[en] OPTIMIZATION
Resumo
[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.
Resumo
[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.
Orientador(es)
ROBERTO IERUSALIMSCHY
Banca
ROBERTO IERUSALIMSCHY
Banca
NOEMI DE LA ROCQUE RODRIGUEZ
Banca
RENATO FONTOURA DE GUSMAO CERQUEIRA
Catalogação
2007-05-21
Apresentação
2007-04-09
Tipo
[pt] TEXTO
Formato
application/pdf
Formato
application/pdf
Formato
application/pdf
Formato
application/pdf
Formato
application/pdf
Formato
application/pdf
Formato
application/pdf
Idioma(s)
PORTUGUÊS
Referência [pt]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9953@1
Referência [en]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9953@2
Referência DOI
https://doi.org/10.17771/PUCRio.acad.9953
Arquivos do conteúdo
CAPA, AGRADECIMENTOS, RESUMO, ABSTRACT, SUMÁRIO E LISTAS PDF CAPÍTULO 1 PDF CAPÍTULO 2 PDF CAPÍTULO 3 PDF CAPÍTULO 4 PDF CAPÍTULO 5 PDF REFERÊNCIAS BIBLIOGRÁFICAS E APÊNDICES PDF