Skip to content

About Me

My name is Maxime Chevalier-Boisvert and I’m a computer science student, currently pursuing a PhD degree with a concentration in compilers at the Université de Montréal. My thesis involves the design and implementation of novel optimization techniques for dynamic programming languages (e.g.: JavaScript, Python, etc.). I’m also interested in machine learning, 3D rendering, game development, music, sound synthesis, microcontrollers and electronics. This blog is an outlet for me to talk about my research, technological interests, hobbies and ideas. Most of my recent programming work is open source and available on GitHub. If you believe in my work and want to support me and my projects, you can fund me on Gratipay.

Publications

Chevalier-Boisvert, M., Lavoie, L., Feeley, M. & Dufour, B. Bootstrapping a self-hosted research virtual machine for JavaScript: an experience report. Dynamic Language Symposium 2011 (PDF, ACM).

Chevalier-Boisvert, M., Hendren, L. & Verbrugge, C. Optimizing MATLAB through just-in-time specialization. Compiler Construction 2010 (PDF, Springer).

Chevalier-Boisvert, M. McVM: an optimizing virtual machine for the MATLAB programming language. Master’s thesis. McGill University. August 2009 (PDF).

Technical Reports

Chevalier-Boisvert, M. & Feeley, M. Simple and Effective Type Check Removal through Lazy Basic Block Versioning. November 2014 (PDF, arXiv.org).

Chevalier-Boisvert, M. & Feeley, M. Removing Dynamic Type Tests with Context-Driven Basic Block Versioning. January 2014 (PDF, arXiv.org).

Talks

Lazy, Incremental JIT Compilation with Basic Block Versioning. Northeastern University. December 2014 (slides).

Refactoring JIT Compilation. DConf. May 2014 (slidesvideo).

Dynamic Languages need Dynamic Compilers. mloc.js. February 2014 (slides, video).

Fast and Dynamic. Strange Loop. September 2013 (slides, video).

Higgs, an Experimental JIT Compiler written in D. DConf. May 2013 (slides, video).

Higgs, a Monitoring JIT for JavaScript. Air Mozilla. February 2013 (slides, video).

6 Comments
  1. John Wait permalink

    since you work on compilers, thought you might find this article by Rob Pike to be of interest: http://www.informit.com/articles/article.aspx?p=1941206

    “…I was pair programming with Ken Thompson on an on-the-fly compiler for..”

  2. What features in Ruby/Python/Javascript are particularly bad for type inference?

    • Dynamic loading of code, unrestricted eval, dynamic addition and removal of object fields. The JavaScript “undefined” type and the lack of exceptions thrown on errors.

  3. Congrats on the JavaScript compiler work!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 2,917 other followers

%d bloggers like this: