[pt] COMPILAÇÃO OTIMIZADA DE UMA LINGUAGEM DINÂMICA PARA UM AMBIENTE DE EXECUÇÃO GERENCIADA

[pt] Ambientes de Execução Gerenciada tornaram-se alvos populares para compiladores de linguagens de programação de alto nível. Eles provêem um sistema tipos de alto nível com segurança de memória garantida, assim como facilidades como coleta de lixo, acesso a serviços da plataforma subjacente (poss...

ver descrição completa

Detalhes bibliográficos
Autor: FABIO MASCARENHAS DE QUEIROZ
Formato: tesis doctoral
Estado:Versión publicada
Fecha de publicación:2017
País:Brasil
Recursos:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
Repositorio:Repositório Institucional da PUC-RIO (Projeto Maxwell)
Idioma:inglés
OAI Identifier:oai:MAXWELL.puc-rio.br:29074
Acesso em linha:https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=29074&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=29074&idi=2
http://doi.org/10.17771/PUCRio.acad.29074
Access Level:acceso abierto
Palavra-chave:[pt] COMPILADORES
[pt] AMBIENTES DE EXECUCAO GERENCIADA
[pt] INFERENCIA DE TIPOS
[pt] LINGUAGEM DINAMICA
[pt] DESEMPENHO
[pt] LUA
[pt] LINGUAGENS DE PROGRAMACAO
[en] COMPILERS
[en] ACHIEVEMENT
[en] LUA
[en] PROGRAMMING LANGUAGES
Descrição
Resumo:[pt] Ambientes de Execução Gerenciada tornaram-se alvos populares para compiladores de linguagens de programação de alto nível. Eles provêem um sistema tipos de alto nível com segurança de memória garantida, assim como facilidades como coleta de lixo, acesso a serviços da plataforma subjacente (possivelmente através de uma sandbox), multithreading, e uma rica biblioteca de estruturas de dados e algorithmos, mas não possuem um modelo de desempenho claro, o que atrapalha as tentativas de otimização de qualquer linguagem que não tenha um mapeamento direto na semântica do ambiente de execução, especialmente se a linguagem é dinamicamente tipada. Nós afirmamos que é possível construir um compilador para uma linguagem dinâmica que tem como alvo um ambiente de execução gerenciada que rivaliza um compilador que tem como alvo linguagem de máquina na eficiência do código que ele gera. Essa tese apresenta um compilador com tal característica, descrevendo as otimizações necessárias para sua construção, e testes de desempenho que validam essas otimizações. Nossas otimizações não dependem de geração de código em tempo de execução, apenas em informação estaticamente disponível no código fonte. Nós usamos uma nova análise de inferência de tipos para aumentar a quantidade de informação disponível.