Skip to content

Visiting Mozilla

January 31, 2013

My research team (the Dynamic Language Team) and I are taking a plane to San Francisco today so that we can visit the Mozilla headquarters in Mountain View. This will be an opportunity to show them our research work and discuss all things compilers and JavaScript. I will be giving a 30-minute presentation on Higgs and my current research work at their offices tomorrow around 11AM. I’m not sure whether the presentation will be live streamed or filmed, but I will make sure to post my slides afterwards.

EDIT: My presentation was aired live on Air Mozilla at 10:30AM, Feb 1st. A video recording is now available. I’m also putting the slides online for those who might be interested.

The rest of the team is only staying for one day, but I will remain in Mountain View for two weeks, working at the Mozilla offices. The hope is that I will get to learn more details about the internal workings of Mozilla’s JIT technology. I’m particularly interested in the kinds of optimizations their JIT compilers perform, the workings of their tracing JIT, etc. I’m also thinking that this might be an opportunity to spot some upcoming pitfalls I didn’t foresee in the implementation of Higgs. In any case, it will be nice to get a better idea of what the industry is like and maybe get to visit San Francisco a bit.

In terms of my research work, I should mention that the Higgs interpreter is mostly feature complete at this point. I implemented the biggest missing pieces and made sure to unit test everything. Higgs doesn’t support all of JavaScript, but the feature list is already pretty respectable, in my opinion. It includes:

  • Objects and methods
  • Dynamic addition of object properties
  • Prototype-based inheritance
  • Dynamically resizeable arrays
  • Closures
  • Constructor functions
  • Variadic functions and arguments object
  • If/switch statements
  • For/while/do loops
  • For-in loop
  • Exceptions and try/catch/finally
  • UTF-16 strings and string operations
  • Integer and floating-point arithmetic
  • Dynamically redefinable arithmetic operators
  • Low-level arithmetic and pointer manipulation primitives
  • Garbage collection

I’m now moving on to the implementation of the type monitoring component of Higgs. It shouldn’t be too long before I can start gathering useful information about benchmark programs.

3 Comments
  1. I enjoyed the talk; It is nice to see passion, alternative approaches and even revisiting past techniques. I wish you well; and hope to see you around more!

Trackbacks & Pingbacks

  1. Back from Silicon Valley « Pointers Gone Wild
  2. Presented at DConf 2013 | Pointers Gone Wild

Leave a comment