My self-assigned challenge for 2017 was to watch at least one conference per day, for one year. That's the first time I try this challenge. Let's dive in for a recap. 267 conferences In some way, I failed the challenge because I've been able to watch only 267 conferences. With an average of 34 minutes … Continue reading One conference per day, for one year (2017)
Tag: llvm
Tagua VM, a safe PHP virtual machine
https://www.youtube.com/watch?v=Ymy8qAEe0kQ PHPTour Nantes 2017 (in French): PHP est un langage extrêment populaire. En 2015, PHP était utilisé par plus de 80% de tous les sites Web. Cependant, 500 vulnérabilités sévères sont répertoriées. Bien qu'inhérent à tous langages populaires, cela reste très dangereux. L'objectif du projet Tagua VM est de fournir une VM PHP qui garantie … Continue reading Tagua VM, a safe PHP virtual machine
Expressing high level optimisations within LLVM
https://www.youtube.com/watch?v=sKIRIilZDnE EuroLLVM Developers' Meeting: At Azul we are building a production quality, state of the art LLVM based JIT compiler for Java. Originally targeted for C and C++, the LLVM IR is a rather low-level representation, which makes it challenging to represent and utilize high level Java semantics in the optimizer. One of the approaches … Continue reading Expressing high level optimisations within LLVM
Expressing high level optimisations within LLVM
https://www.youtube.com/watch?v=sKIRIilZDnE At Azul we are building a production quality, state of the art LLVM based JIT compiler for Java. Originally targeted for C and C++, the LLVM IR is a rather low-level representation, which makes it challenging to represent and utilize high level Java semantics in the optimizer. One of the approaches is to perform … Continue reading Expressing high level optimisations within LLVM
Reducing Code Size Using Outlining
https://www.youtube.com/watch?v=yorld-WSOeU LLVM Developers Meeting: Maintaining a low code size overhead is important in computing domains where memory is a scarce resource. Outlining is an optimization which identifies similar regions of code and replaces them with calls to a function. This talk introduces a novel method of compressing code using an interprocedural outliner on LLVM MIR. … Continue reading Reducing Code Size Using Outlining
LLVM Coroutines
https://www.youtube.com/watch?v=Ztr8QvMhqmQ Though invented long time ago in 1957, coroutines are getting popular in this century. More and more languages adopt them to deal with lazily produced sequences and to simplify asynchronous programming. However, until recently, coroutines in high level languages were distinctly not a zero-overhead abstraction. We are rectifying that by adding coroutine support to … Continue reading LLVM Coroutines
Swift’s High-Level IR: A Case Study of Complementing LLVM IR with Language-Specific Optimization
https://www.youtube.com/watch?v=Ntj8ab-5cvE The Swift programming language is built on LLVM and uses LLVM IR and the LLVM backend for code generation, but it also contains a new high-level IR called SIL to model the semantics of the language (and perform optimizations) at a higher level. In this talk, we discuss the motivations and applications of … Continue reading Swift’s High-Level IR: A Case Study of Complementing LLVM IR with Language-Specific Optimization