[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE
Autor(a) principal: | |
---|---|
Data de Publicação: | 2007 |
Tipo de documento: | Outros |
Idioma: | por |
Título da fonte: | Repositório Institucional da PUC-RIO (Projeto Maxwell) |
Texto Completo: | https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9953@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9953@2 http://doi.org/10.17771/PUCRio.acad.9953 |
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. |
id |
PUC_RIO-1_6c3edfcd05af7ee6be44ceefc95f1c9c |
---|---|
oai_identifier_str |
oai:MAXWELL.puc-rio.br:9953 |
network_acronym_str |
PUC_RIO-1 |
network_name_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
repository_id_str |
534 |
spelling |
[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE [pt] UMA ESPECIFICAÇÃO DE MÁQUINA DE REGISTRADORES PARA JAVA [pt] PERFORMANCE[pt] PILHA[pt] MAQUINA VIRTUAL[pt] DISPOSITIVO MOVEL[pt] JAVA[pt] COMPILADORES[pt] OTIMIZACAO[en] PERFORMANCE[en] STACK[en] VIRTUAL MACHINE[en] MOBILE DEVICE[en] JAVA[en] COMPILERS[en] OPTIMIZATION[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.MAXWELLROBERTO IERUSALIMSCHYGUILHERME CAMPOS HAZAN2007-05-21info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/otherhttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9953@1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9953@2http://doi.org/10.17771/PUCRio.acad.9953porreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2019-07-05T00:00:00Zoai:MAXWELL.puc-rio.br:9953Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342019-07-05T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false |
dc.title.none.fl_str_mv |
[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE [pt] UMA ESPECIFICAÇÃO DE MÁQUINA DE REGISTRADORES PARA JAVA |
title |
[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE |
spellingShingle |
[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE GUILHERME CAMPOS HAZAN [pt] PERFORMANCE [pt] PILHA [pt] MAQUINA VIRTUAL [pt] DISPOSITIVO MOVEL [pt] JAVA [pt] COMPILADORES [pt] OTIMIZACAO [en] PERFORMANCE [en] STACK [en] VIRTUAL MACHINE [en] MOBILE DEVICE [en] JAVA [en] COMPILERS [en] OPTIMIZATION |
title_short |
[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE |
title_full |
[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE |
title_fullStr |
[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE |
title_full_unstemmed |
[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE |
title_sort |
[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE |
author |
GUILHERME CAMPOS HAZAN |
author_facet |
GUILHERME CAMPOS HAZAN |
author_role |
author |
dc.contributor.none.fl_str_mv |
ROBERTO IERUSALIMSCHY |
dc.contributor.author.fl_str_mv |
GUILHERME CAMPOS HAZAN |
dc.subject.por.fl_str_mv |
[pt] PERFORMANCE [pt] PILHA [pt] MAQUINA VIRTUAL [pt] DISPOSITIVO MOVEL [pt] JAVA [pt] COMPILADORES [pt] OTIMIZACAO [en] PERFORMANCE [en] STACK [en] VIRTUAL MACHINE [en] MOBILE DEVICE [en] JAVA [en] COMPILERS [en] OPTIMIZATION |
topic |
[pt] PERFORMANCE [pt] PILHA [pt] MAQUINA VIRTUAL [pt] DISPOSITIVO MOVEL [pt] JAVA [pt] COMPILADORES [pt] OTIMIZACAO [en] PERFORMANCE [en] STACK [en] VIRTUAL MACHINE [en] MOBILE DEVICE [en] JAVA [en] COMPILERS [en] OPTIMIZATION |
description |
[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. |
publishDate |
2007 |
dc.date.none.fl_str_mv |
2007-05-21 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/other |
format |
other |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9953@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9953@2 http://doi.org/10.17771/PUCRio.acad.9953 |
url |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9953@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9953@2 http://doi.org/10.17771/PUCRio.acad.9953 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
MAXWELL |
publisher.none.fl_str_mv |
MAXWELL |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell) instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) instacron:PUC_RIO |
instname_str |
Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
instacron_str |
PUC_RIO |
institution |
PUC_RIO |
reponame_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
collection |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
repository.name.fl_str_mv |
Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
repository.mail.fl_str_mv |
|
_version_ |
1814822563253059584 |