[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE

Detalhes bibliográficos
Autor(a) principal: GUILHERME CAMPOS HAZAN
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