Skip to content

{ Tag Archives } compilers

Erlang on LLVM? or: Outsource your JIT!

Has anyone been working on using LLVM to do just-in-time code generation for the Erlang virtual machine? Depending on the design and structure of the Erlang virtual machine, it doesn’t seem like it would be all that tough a project. And it could provide a nice performance boost for those projects that are starting to […]

Also tagged , , , , , , , ,

LLVM terminology

I thought the proper terminology was worth pointing out, since I’ve seen — and heard — some misuses lately. LLVM is the Low-Level Virtual Machine and the project surrounding it. LLVM-GCC is a compiler that uses GCC for its front-end and LLVM for its back-end. Clang is the C language family front-end that is part […]

Also tagged , ,

Build LLVM and clang!

I’ve talked about the LLVM Compiler Infrastructure in the past, but what I haven’t talked about yet is just how easy and quickly you can build it on your own Mac running Leopard! This is a great way to get into hacking on compiler lexical analyzers and parsers, code generators, optimizers, and so on. What’s […]

Also tagged , , , ,

LLVM Developers’ Meeting 2007-05

The LLVM Compiler Infrastructure is a great technology that came out of the computer science research community and can be used to develop extensible compiler platforms. Among other things, it provides a platform-independent assembly and object code (the “low level virtual machine” that its name is taken from), and a great object-oriented compilation, linking, optimization […]

Also tagged , , , , , , , , ,

It’s not the dynamic dispatch!

Joel has decided to blame the use of dynamic dispatch for Ruby’s speed issues: Without knowing much about the implementation of Ruby, I would guess that the biggest issue is around late binding and especially duck typing, which prevents type inference or strong typing, which means that function calls will always be slow because you […]

Also tagged , , , , , , , , ,