JavaScript:Hackers: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(add gregor)
(Mark as Outdated)
 
(39 intermediate revisions by 16 users not shown)
Line 1: Line 1:
This is a non-exhaustive list of people who regularly hack on SpiderMonkey: TraceMonkey, JägerMonkey, and all projects (named and unnamed) and technical areas beneath it.
{{OutdatedSpiderMonkey}}


If you regularly work on the JavaScript engine, feel free to add yourself to the list below, and to make corrections and updates to it as needed.
This is a non-exhaustive list of people who regularly hack on SpiderMonkey: Rooting, Baseline, Frontend, and all projects (named and unnamed) and technical areas beneath it.


== Regular JavaScript engine hackers ==
If you regularly work on the JavaScript engine, feel free to add yourself to the lists below, and to make corrections and updates to it as needed.


These people regularly hack on the JavaScript engine.  If you're looking for someone who knows a particular concept well, to ask questions about it, clarify concepts, &c., this is a good place to look.
== Finding a Peer ==
 
(NB: Email addresses aren't listed for spam-prevention purposes.  To find out an email address, type the listed Bugzilla identifier in the CC box on [https://bugzilla.mozilla.org/ bmo] and look at the autocompletion.)


<table class="fullwidth-table">
<table class="fullwidth-table">
   <tr>
   <tr>
     <th>Name</th>
     <th>Project</th>
     <th>Bugzilla ID</th>
     <th>Short Description</th>
     <th>Areas of expertise</th>
     <th>IRC Peers</th>
  </tr>
  <tr>
    <td>IonMonkey</td>
    <td>Optimizing Just-In-Time Compiler</td>
    <td>sstangl, mjrosenb, h4writer, nbp, djvj, jandem</td>
  </tr>
  <tr>
    <td>Baseline Compiler</td>
    <td>Fast Just-In-Time Compiler</td>
    <td>jandem, djvj</td>
  </tr>
  <tr>
    <td>OdinMonkey</td>
    <td>asm.js parser & MIR generation</td>
    <td>luke, sstangl</td>
  </tr>
  <tr>
    <td>Frontend</td>
    <td>Parser & Bytecode generation</td>
    <td>jorendorff, ejpbruel, luke, arai</td>
  </tr>
  <tr>
    <td>Interpreter</td>
    <td>Interpreter!</td>
    <td>jorendorff, luke</td>
  </tr>
  <tr>
    <td>GC</td>
    <td>Rooting & Marking & Sweeping</td>
    <td>terrence, jonco, sfink, ehoogeveen, pbone</td>
  </tr>
  <tr>
    <td>Parallel JS</td>
    <td>Prototype implementation of parallel array methods</td>
    <td>shu, nmatsakis, pnkfelix</td>
  </tr>
  <tr>
    <td>Self-hosting</td>
    <td>Builtins implemented in JavaScript</td>
    <td>till, Waldo, shu, nmatsakis, arai</td>
  </tr>
  <tr>
    <td>Intl</td>
    <td>Internationalization support, Ecma 402</td>
    <td>norbert, Waldo</td>
  </tr>
  <tr>
    <td>EcmaScript</td>
    <td>Script reading</td>
    <td>Waldo, jorendorff, till</td>
  </tr>
  <tr>
    <td>Debugging</td>
    <td>Debugger API, etc</td>
    <td>jimb, jorendorff, ejpbruel</td>
  </tr>
  <tr>
    <td>Test suites</td>
    <td>Setup, inner workings</td>
    <td>terrence</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Andreas Gal</td>
     <td>JSObject and children</td>
     <td>:gal</td>
     <td>Internal object representation</td>
     <td>Proxies, wrappers, GC</td>
     <td>jorendorff, Waldo, luke</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Bill McCloskey</td>
     <td>Strings</td>
     <td>billm@moz</td>
     <td>Internal string representation</td>
     <td>Tracejit-versus-methodjit heuristics code</td>
     <td>evilpie, luke</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Blake Kaplan</td>
     <td>Proxies, Wrappers</td>
     <td>:mrbkap</td>
     <td>ES (in)direct proxies, COWs</td>
     <td>Proxies and wrappers, the interpreter, using the JSAPI</td>
     <td>jorendorff, ejpbruel, evilpie, till</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Brendan Eich</td>
     <td>Yarr</td>
     <td>:brendan</td>
     <td>Our import of JSC's RegExp JIT</td>
     <td>JSAPI, shapes</td>
     <td>sstangl</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Chris Leary</td>
     <td>irregexp</td>
     <td>:cdleary</td>
     <td>Our import of V8's RegExp JIT</td>
     <td>Inline caches, regular expressions, yarr, parser, scanner, ARM</td>
     <td>arai</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Dave Herman</td>
     <td>ctypes</td>
     <td>dherman@moz</td>
     <td>Well, ctypes</td>
     <td>Reflection API</td>
     <td>yoric</td>
   </tr>
   </tr>
</table>
== Regular JavaScript engine hackers ==
These people regularly hack on the JavaScript engine.  If you're looking for someone who knows a particular concept well, to ask questions about it, clarify concepts, &amp;c., this is a good place to look.  (And if you hack regularly on the JavaScript engine, feel free to add yourself and mention whatever areas you're comfortable in.)
(NB: Email addresses aren't listed for spam-prevention purposes.  To find out an email address, type the listed Bugzilla identifier in the CC box on [https://bugzilla.mozilla.org/ bmo] and look at the autocompletion.)
(Please keep this list in alphabetical order by last name.)
<table class="fullwidth-table">
   <tr>
   <tr>
     <td>David Anderson</td>
     <th>Name</th>
     <td>:dvander</td>
     <th>Bugzilla ID</th>
     <td>Trace trees, tracer transitions, method JIT</td>
     <th>Areas of expertise</th>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>David Mandelin</td>
     <td>Jim Blandy</td>
     <td>dmandelin@moz</td>
     <td>:jimb</td>
     <td>Method JIT, name lookup</td>
     <td>Debugger support, front end, strict mode, build system</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Gregor Wagner</td>
     <td>Paul Bone</td>
     <td>gwagner@moz</td>
     <td>:pbone</td>
     <td>GC</td>
     <td>GC</td>
  </tr>
  <tr>
    <td>Jacob Bramley</td>
    <td>:jbramley</td>
    <td>ARM</td>
   </tr>
   </tr>
   <tr>
   <tr>
Line 66: Line 140:
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Jacob Bramley</td>
     <td>Terrence Cole</td>
     <td>:jbramley</td>
     <td>:terrence</td>
     <td>ARM</td>
     <td>GC</td>
   </tr>
   </tr>
   <tr>
   <tr>
Line 76: Line 150:
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Jason Orendorff</td>
     <td>Brendan Eich</td>
     <td>jorendorff@moz</td>
     <td>:brendan</td>
     <td>Shapes, stack synthesization in the tracer</td>
     <td>JSAPI, shapes</td>
  </tr>
  <tr>
    <td>Steve Fink</td>
    <td>:sfink</td>
    <td>GC, static hazard analysis, shell, structured clone, typed arrays, continuous integration</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Jeff Walden</td>
     <td>Tooru Fujisawa</td>
     <td>jwalden+bmo</td>
     <td>:arai</td>
     <td>ES5 spec, strict mode, arguments objects, typed arrays</td>
     <td>frontend, self-hosting, async/await, regexp</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Jim Blandy</td>
     <td>Andreas Gal</td>
     <td>:jimb</td>
     <td>:gal</td>
     <td>Debugger support, front end, strict mode, build system</td>
     <td>Proxies, wrappers, GC</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Luke Wagner</td>
     <td>Dave Herman</td>
     <td>:luke</td>
     <td>dherman@moz</td>
     <td>Stack, values, containers, method/trace jit, generators</td>
     <td>Reflection API</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Mike Shaver</td>
     <td>Blake Kaplan</td>
     <td>:shaver</td>
     <td>:mrbkap</td>
     <td></td>
     <td>Proxies and wrappers, the interpreter, using the JSAPI</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Nick Nethercote</td>
     <td>Bill McCloskey</td>
     <td>:njn</td>
     <td>billm@moz</td>
     <td>Tracer, nanojit, parser, scanner</td>
     <td>GC</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Paul Biggar</td>
     <td>Nicholas Nethercote</td>
     <td>pbiggar@mozilla.com</td>
     <td>:njn</td>
     <td></td>
     <td>Memory allocation and measurement, scanner, front-end</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Rob Sayre</td>
     <td>Jason Orendorff</td>
     <td>sayrer@gm</td>
     <td>jorendorff@moz</td>
     <td>JSON</td>
     <td>being on IRC (just ask)</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Steve Fink</td>
     <td>Till Schneidereit</td>
     <td>:sfink</td>
     <td>:till</td>
     <td>Debugger, profiling</td>
     <td>Self-hosting, ECMAScript spec, some familiarity with parsing, proxies, various things in the engine.</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Tom Schuster</td>
     <td>Tom Schuster</td>
     <td>evilpie</td>
     <td>evilpie</td>
     <td></td>
     <td>IonMonkey, Baseline, some Rooting, Unicode support, ECMAScript spec, strings, proxies and in particular CPOWs</td>
  </tr>
  <tr>
    <td>Sean Stangl</td>
    <td>sstangl@moz</td>
    <td>JS JITs: JaegerMonkey, IonMonkey.</td>
  </tr>
  <tr>
    <td>Kannan Vijayan</td>
    <td>:djvj</td>
    <td>BaselineCompiler, ICs, IonMonkey</td>
  </tr>
  <tr>
    <td>Gregor Wagner</td>
    <td>anygregor@gm</td>
    <td>GC</td>
  </tr>
  <tr>
    <td>Luke Wagner</td>
    <td>:luke</td>
    <td>Stack, values, containers, generators, C++ language lawyer</td>
  </tr>
  <tr>
    <td>Jeff Walden</td>
    <td>jwalden+bmo</td>
    <td>JSON, ES5 spec, strict mode, arguments objects, typed arrays, some familiarity with JavaScript stack/frame layout/etc. (but prefer Luke)</td>
   </tr>
   </tr>
</table>
</table>
Line 130: Line 234:


These people once regularly hacked on the JavaScript engine but don't do so regularly any more.  Reviewers listed here may or may not be willing to review patches.  If they aren't, they'll say so when review is requested of them and perhaps forward it to a better person.
These people once regularly hacked on the JavaScript engine but don't do so regularly any more.  Reviewers listed here may or may not be willing to review patches.  If they aren't, they'll say so when review is requested of them and perhaps forward it to a better person.
(Please keep this list in alphabetical order by last name.)


<table class="fullwidth-table">
<table class="fullwidth-table">
Line 136: Line 242:
     <th>Bugzilla ID</th>
     <th>Bugzilla ID</th>
     <th>Areas of expertise</th>
     <th>Areas of expertise</th>
  </tr>
  <tr>
    <td>Paul Biggar</td>
    <td>paul.biggar</td>
    <td>JSON (prefer Waldo), build system, testing, memory allocation</td>
  </tr>
  <tr>
    <td>Brian Crowder</td>
    <td>crowderbt@</td>
    <td></td>
   </tr>
   </tr>
   <tr>
   <tr>
Line 143: Line 259:
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Brian Crowder</td>
     <td>Christopher D. Leary</td>
     <td>crowderbt@</td>
     <td>:cdleary</td>
    <td>Inline caches, regular expressions, yarr, parser, scanner, ARM, GDB</td>
  </tr>
  <tr>
    <td>David Anderson</td>
    <td>:dvander</td>
    <td>IonMonkey</td>
  </tr>
  <tr>
    <td>David Mandelin</td>
    <td>dmandelin@moz</td>
    <td>Method JIT, name lookup</td>
  </tr>
  <tr>
    <td>Mike Shaver</td>
    <td>:shaver</td>
     <td></td>
     <td></td>
   </tr>
   </tr>
</table>
</table>

Latest revision as of 21:59, 27 April 2021

Ambox outdated.png THIS PAGE IS OBSOLETE
This article is in parts, or in its entirety, outdated. Hence, the information presented on this page may be incorrect, and should be treated with due caution. Visit SpiderMonkey.dev for more up to date information.

This is a non-exhaustive list of people who regularly hack on SpiderMonkey: Rooting, Baseline, Frontend, and all projects (named and unnamed) and technical areas beneath it.

If you regularly work on the JavaScript engine, feel free to add yourself to the lists below, and to make corrections and updates to it as needed.

Finding a Peer

Project Short Description IRC Peers
IonMonkey Optimizing Just-In-Time Compiler sstangl, mjrosenb, h4writer, nbp, djvj, jandem
Baseline Compiler Fast Just-In-Time Compiler jandem, djvj
OdinMonkey asm.js parser & MIR generation luke, sstangl
Frontend Parser & Bytecode generation jorendorff, ejpbruel, luke, arai
Interpreter Interpreter! jorendorff, luke
GC Rooting & Marking & Sweeping terrence, jonco, sfink, ehoogeveen, pbone
Parallel JS Prototype implementation of parallel array methods shu, nmatsakis, pnkfelix
Self-hosting Builtins implemented in JavaScript till, Waldo, shu, nmatsakis, arai
Intl Internationalization support, Ecma 402 norbert, Waldo
EcmaScript Script reading Waldo, jorendorff, till
Debugging Debugger API, etc jimb, jorendorff, ejpbruel
Test suites Setup, inner workings terrence
JSObject and children Internal object representation jorendorff, Waldo, luke
Strings Internal string representation evilpie, luke
Proxies, Wrappers ES (in)direct proxies, COWs jorendorff, ejpbruel, evilpie, till
Yarr Our import of JSC's RegExp JIT sstangl
irregexp Our import of V8's RegExp JIT arai
ctypes Well, ctypes yoric

Regular JavaScript engine hackers

These people regularly hack on the JavaScript engine. If you're looking for someone who knows a particular concept well, to ask questions about it, clarify concepts, &c., this is a good place to look. (And if you hack regularly on the JavaScript engine, feel free to add yourself and mention whatever areas you're comfortable in.)

(NB: Email addresses aren't listed for spam-prevention purposes. To find out an email address, type the listed Bugzilla identifier in the CC box on bmo and look at the autocompletion.)

(Please keep this list in alphabetical order by last name.)

Name Bugzilla ID Areas of expertise
Jim Blandy :jimb Debugger support, front end, strict mode, build system
Paul Bone :pbone GC
Jacob Bramley :jbramley ARM
Igor Bukanov igor@mir2 GC
Terrence Cole :terrence GC
Jan de Mooij jandem
Brendan Eich :brendan JSAPI, shapes
Steve Fink :sfink GC, static hazard analysis, shell, structured clone, typed arrays, continuous integration
Tooru Fujisawa :arai frontend, self-hosting, async/await, regexp
Andreas Gal :gal Proxies, wrappers, GC
Dave Herman dherman@moz Reflection API
Blake Kaplan :mrbkap Proxies and wrappers, the interpreter, using the JSAPI
Bill McCloskey billm@moz GC
Nicholas Nethercote :njn Memory allocation and measurement, scanner, front-end
Jason Orendorff jorendorff@moz being on IRC (just ask)
Till Schneidereit :till Self-hosting, ECMAScript spec, some familiarity with parsing, proxies, various things in the engine.
Tom Schuster evilpie IonMonkey, Baseline, some Rooting, Unicode support, ECMAScript spec, strings, proxies and in particular CPOWs
Sean Stangl sstangl@moz JS JITs: JaegerMonkey, IonMonkey.
Kannan Vijayan :djvj BaselineCompiler, ICs, IonMonkey
Gregor Wagner anygregor@gm GC
Luke Wagner :luke Stack, values, containers, generators, C++ language lawyer
Jeff Walden jwalden+bmo JSON, ES5 spec, strict mode, arguments objects, typed arrays, some familiarity with JavaScript stack/frame layout/etc. (but prefer Luke)

Hackers emeriti

These people once regularly hacked on the JavaScript engine but don't do so regularly any more. Reviewers listed here may or may not be willing to review patches. If they aren't, they'll say so when review is requested of them and perhaps forward it to a better person.

(Please keep this list in alphabetical order by last name.)

Name Bugzilla ID Areas of expertise
Paul Biggar paul.biggar JSON (prefer Waldo), build system, testing, memory allocation
Brian Crowder crowderbt@
Graydon Hoare graydon@moz
Christopher D. Leary :cdleary Inline caches, regular expressions, yarr, parser, scanner, ARM, GDB
David Anderson :dvander IonMonkey
David Mandelin dmandelin@moz Method JIT, name lookup
Mike Shaver :shaver