Work in Progress

I have been writing a few patches recently, mostly related to moving parts of main-thread I/O off the main-thread and few related to the JS engine, mostly associated with the ES6 spec. Though I am still learning and picking up things, it has been quite a good experience so far.

  1. Already merged are the String.prototype.repeat (Bug 815431) and the iterator methods of Sets (Bug 869996), fixing minor deviations of iterator Map, Sets and Array prototypes from the spec (Bug 875433).
  2. I am working on implementing Map#forEach and Set#forEach (Bug 866847) and Array.from and Array.of (Bug 866849). Self-hosting has been the choice in these cases, it has turned out to be pretty good, though I sometimes miss the flexibility of C++.
  3. I had also undertaken the work to self-host Array.sort (Bug 715181). Though I am kind of lagging behind in this, but still I have managed to implement Tim Sort in JS (I fear it to be very much a broken implementation – because half the browser including devtools stop working), run it through benchmarks on JSPerf, and the results have been pretty impressive and I am getting drastic speed boosts. But need to spend some time on this so that it is spec complaint and the tests stop failing.
  4. In working on async I/O I came across this key manager of the URL Classifier module, that was using blocking I/O. I am converting it to off the main thread I/O with OS.File (Bug 867776, 879724). It was some pretty old code and I had to spend some time figuring out what to do for the test cases.
  5. Among other things I worked on fixing a bug on PopupNotifications (Bug 864895), making the Alarm API preserve a few more milliseconds (Bug 877888), removing AudioBufferSourceNode.gain (Bug 880265).

But my schedule is a bit tight now, with my intern going on as well. I don’t plan to pickup new bugs any time soon. On the other hand I have started working on Google Summer of Code project (Bug 335448) and its going to be a while before I bring the module to a basic working stage, and I have been sneak-peeking into the bug for doing a read-ahead on Linux every now and then (Bug 865387).

Advertisements

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