Compilers and Virtual Machines

Igalia is the most experienced JavaScript virtual machine engineering consultancy contributing code upstream to V8, JavaScriptCore and SpiderMonkey. We also apply our compilers knowledge to work in other dynamic language implementations like Python, Scheme, Ruby and more.

Compiler technology is at the heart of performance optimization: compilers generate the machine code that will run your software, and as such, they are the main responsible actors in making the best use of the CPU instruction set to get the job done in the most efficient way possible.

We have the best team of WebKit developers with a strong competence in JavaScript engines like V8, JavaScriptCore and SpiderMonkey, making Igalia the best partner of choice for optimizing consumer electronic solutions based on client-side web technology.

We specialize in JavaScript upstream work as well as other domains such as debuggers (GDB and integrated debuggers), dynamic language environments integration to existing C/C++ systems, and Guile Scheme compiler, especially in the optimizer and its next-generation virtual machine.

Igalia has talented engineers who understand how compilers work and can optimize how they generate machine code for your programs, providing that performance boost that can make a real difference. Our team can provide holistic optimizations: in the runtime, on the frontend, the optimizer and in the backend.

We can also help companies developing Javascript-based software and products, advising on their design and implementation choices or programming and upstreaming new features required in the javascript engine.

Featured Media

Andy Wingo: DIY Internet: Snappy, Secure Networking with MinimaLT -- JSConf EU 2013
Andy Wingo: JavaScriptCore's DFG JIT -- JSConf EU 2012
Andy Wingo at JSConf USA 2012


Andy Wingo 01/07/2014

flow analysis in guile

Greets, and welcome back to the solipsism! I've been wandering the wilderness with my Guile hackings lately, but I'm finally ready to come back to civilization. Hopefully you will enjoy my harvest of forest fruit. Today's article is about...

Andy Wingo 18/05/2014

effects analysis in guile

OK kids, so I had a bit of time recently and have been hacking on Guile's new CPS-based compiler slated for stable release in a few months. I have a few things to write about but today's article is on effects analysis.what it is, yoThe job of...

Andy Wingo 17/03/2014

stack overflow

Good morning, gentle hackers. Today's article is about stack representation, how stack representations affect programs, what it means to run out of stack, and that kind of thing. I've been struggling with the issue for a while now in Guile and...

Andy Wingo 07/03/2014

es6 generator and array comprehensions in spidermonkey

Good news, everyone: ES6 generator and array comprehensions just landed in SpiderMonkey! Thanks to Bloomberg for sponsoring this work.

Andy Wingo 18/02/2014

compost, a leaf function compiler for guile

What's that out by the woodshed? It's a steaming pile -- it's full of bugs -- it's compost, a leaf function compiler for Guile!Around this time last year, a few of us cooked up some hack-dishes to bring to a potluck for Guile...


Arguments object has @@iterator

Arguments object has @@iterator R=arv@chromium.org, verwaest@chromium.org, rossberg@chromium.org BUG=v8:3391 LOG=N TEST=mjsunit/harmony/arguments-iterator.js Review URL: https://codereview.chromium.org/342453002 git-svn-id:...

Andy Wingo25/08/2014

Separate &boolean type into &true and &false

Separate &boolean type into &true and &false

Andy Wingo24/08/2014

Stage ES6 generators

Stage ES6 generators R=dslomov@chromium.org BUG= Review URL: https://codereview.chromium.org/479543003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

Andy Wingo21/08/2014

Fix symbol-named function template properties in the API

Fix symbol-named function template properties in the API Thanks to Yutaka Hirano for finding the bug and providing the test case. R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/496663002 git-svn-id:...

Andy Wingo21/08/2014

Simplify array iterator tests

Simplify array iterator tests R=arv@chromium.org, rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/344223006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

Andy Wingo21/08/2014