Ianmonkey
Por: Michael Willian • 4/11/2015 • Trabalho acadêmico • 542 Palavras (3 Páginas) • 213 Visualizações
IonMonkey
Michael W. Cremoneze¹
¹ Faculdade Anglo Americano ( FAA)
Foz Do Iguaçu – PR– Brasil
Mwc.mwc@hotmail.com
Resumo: Pesquisa sobre o IonMonkey, um Java script do Firefox
IonMonkey é um novo JIT para SpiderMonkey. Nosso objetivo é implementar um novo compilador para ativar muitas novas otimizações de JavaScript. Em particular IonMonkey contará com estruturas de dados muito mais organizados e explícita típicas de compiladores avançados. Este objetivo de ser limpo e flexível será extremamente importante para o trabalho de otimização de futuro e experimentação.
Fornecer um backend que pode igualar ou superar o rastreamento JIT ou Cambota na velocidade. Sub-objetivos:
Especialização de grão fino e de especialização. Integração com o tipo de inferência.Clean, livro IR para otimização de passes podem ser separados e pipeline com algoritmos bem conhecidos.
Documento e comentar bem para a implementação e seus efeitos colaterais podem ser facilmente compreendido.
Recompilação, depuração, salvamentos são todos relacionados - e deve ser resolvido na frente.
Primeiro SpiderMonkey JIT que começa com críticas pares!
(Viabilidade Desconhecido) Agir como um compilador de linha de base para substituir JM2.
Gerenciar a memória muito melhor, em parte para evitar problemas de alcance em x64.
Requisitos
- Não regredir exatidão.
- Não regredir usabilidade ou desempenho bench-marketing.
- Não-objetivos
`
IonMonkey é um enorme passo em frente para o nosso desempenho de JavaScript e nossa arquitetura do compilador. Mas também, tem sido um, um ano de duração do projeto altamente focada em nome da equipe IonMonkey, e estamos super animado para vê-lo terra.
SpiderMonkey tem uma história de compiladores just-in-time. Ao longo de todos eles, no entanto, faltou um componente-chave que você encontraria em compiladores de produção típicos, como por Java ou C + +. O velho TraceMonkey *, e mais recente JägerMonkey, ambos tinham uma tradução bastante direta JavaScript para código de máquina. Não havia nenhum passo intermediário. Não havia nenhuma maneira para os compiladores de dar um passo para trás, olhar para os resultados da tradução, e otimizá-los ainda mais.
IonMonkey fornece uma nova arquitetura, que nos permite fazer exatamente isso. É, essencialmente, tem três etapas:
Traduzir o JavaScript para uma representação intermediária (IR).
Executar vários algoritmos para otimizar o IR.
Traduzir o IR final para código de máquina.
Estamos empolgados com isso não apenas para o desempenho e manutenção, mas também para a tomada de futuro JavaScript pesquisa compilador muito mais fácil. Agora é possível escrever um algoritmo de otimização, conecte-o do gasoduto, e ver o que ele faz.
...