MozCampAsia2012/Schedule/desktopandmobile/spidermonkey internals 1

From MozillaWiki
Jump to: navigation, search

Title of Session (should also be the title of your Wiki page): SpiderMonkey: Inside the Belly of the Beast (Part I: Objects)

Facilitator(s): E.J.P. Bruel

Are you paid or volunteer staff?: Paid staff

Area of Contribution (Team Name): Add-on SDK team

How are you currently involved with the community?:

As one of the platform devs for the Add-on SDK team, I've become a regular contributor to SpiderMonkey. I've implemented features such as direct proxies, and am currently working on modules. I'm also an active participant on the #jsapi channel. Knowing from mw own experience how intimidating SpiderMonkey can be for newbies, I try to help out enthusiastic newcomers where I can.

Location of Work (where do you reside?): Utrecht, Netherlands

Talk Length (please choose between 30, 60, 90, 120 minutes): 60min


This is the first in a series of two talks.

This talk highlights some key areas of SpiderMonkey's internals, in an attempt to take the JavaScript engine out of the realm of black magic, and into the real world. After listening to this talk, the audience should feel that they have a high-level understanding of how a real JavaScript engine works under the hood.

Unlike most talks dealing with the same subject, this is not a purely conceptual talk. The intent is to dive down to a low enough level of detail for the listener to understand the performance characteristics of some of the major features in JavaScript, such as strings, objects, and closures. At the same time, I will endeavour with this talk to not dive so deep as to overwhelm the listener.

This particular talk will focus on how SpiderMonkey's bytecode interpreter works, and how objects are implemented internally. The second talk will focus on functions.

Both talks are designed to leave ample time for the audience to ask questions, or talk about things they found to be slower than expected.

How your session furthers the MozCamp Goals:

After listening to to this talk, participants will know what idioms to avoid in order to write performant JavaScript code. Perhaps more interestingly, they will know *why* to avoid them. Needless to say, this is an across the board win.

Expected Outcome or Deliverable:

Participants will leave knowing probably more than they should about how JS engines work. More importantly, though, they will *also* leave with some practical real-world tips on writing faster and more efficient JS code.'

Desired Audience Type or Skill-set:

Ideally, any JavaScript developer that has some experience under his her/belt should be able to benefit from this talk.

Equipment Needs (Video projector already included): None

To Be Completed by the Audience-

(If you would like) Submit a Question for the Speaker(s) or indicate what information you hope to gain by attending this talk here:

Place your name here if you would like to attend this talk:

  • Jiten Thakkar