JavaScript:Hackers: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Mark as Outdated)
 
(43 intermediate revisions by 18 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.
 
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 ==
 
<table class="fullwidth-table">
  <tr>
    <th>Project</th>
    <th>Short Description</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>
    <td>JSObject and children</td>
    <td>Internal object representation</td>
    <td>jorendorff, Waldo, luke</td>
  </tr>
  <tr>
    <td>Strings</td>
    <td>Internal string representation</td>
    <td>evilpie, luke</td>
  </tr>
  <tr>
    <td>Proxies, Wrappers</td>
    <td>ES (in)direct proxies, COWs</td>
    <td>jorendorff, ejpbruel, evilpie, till</td>
  </tr>
  <tr>
    <td>Yarr</td>
    <td>Our import of JSC's RegExp JIT</td>
    <td>sstangl</td>
  </tr>
  <tr>
    <td>irregexp</td>
    <td>Our import of V8's RegExp JIT</td>
    <td>arai</td>
  </tr>
  <tr>
    <td>ctypes</td>
    <td>Well, ctypes</td>
    <td>yoric</td>
  </tr>
</table>


== Regular JavaScript engine hackers ==
== 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.
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.)
(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">
<table class="fullwidth-table">
Line 16: Line 120:
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Andreas Gal</td>
     <td>Jim Blandy</td>
     <td>:gal</td>
     <td>:jimb</td>
     <td>Proxies, wrappers, GC</td>
     <td>Debugger support, front end, strict mode, build system</td>
  </tr>
  <tr>
    <td>Paul Bone</td>
    <td>:pbone</td>
    <td>GC</td>
  </tr>
  <tr>
    <td>Jacob Bramley</td>
    <td>:jbramley</td>
    <td>ARM</td>
  </tr>
  <tr>
    <td>Igor Bukanov</td>
    <td>igor@mir2</td>
    <td>GC</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Bill McCloskey</td>
     <td>Terrence Cole</td>
     <td>billm@moz</td>
     <td>:terrence</td>
     <td>Tracejit-versus-methodjit heuristics code</td>
     <td>GC</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Blake Kaplan</td>
     <td>Jan de Mooij</td>
     <td>:mrbkap</td>
     <td>jandem</td>
     <td>Proxies and wrappers, the interpreter, using the JSAPI</td>
     <td></td>
   </tr>
   </tr>
   <tr>
   <tr>
Line 36: Line 155:
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Chris Leary</td>
     <td>Steve Fink</td>
     <td>cdleary@moz</td>
     <td>:sfink</td>
     <td>Regular expressions, yarr, parser, scanner</td>
     <td>GC, static hazard analysis, shell, structured clone, typed arrays, continuous integration</td>
  </tr>
  <tr>
    <td>Tooru Fujisawa</td>
    <td>:arai</td>
    <td>frontend, self-hosting, async/await, regexp</td>
  </tr>
  <tr>
    <td>Andreas Gal</td>
    <td>:gal</td>
    <td>Proxies, wrappers, GC</td>
   </tr>
   </tr>
   <tr>
   <tr>
Line 46: Line 175:
   </tr>
   </tr>
   <tr>
   <tr>
     <td>David Anderson</td>
     <td>Blake Kaplan</td>
     <td>:dvander</td>
     <td>:mrbkap</td>
     <td>Trace trees, tracer transitions, method JIT</td>
     <td>Proxies and wrappers, the interpreter, using the JSAPI</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>David Mandelin</td>
     <td>Bill McCloskey</td>
     <td>dmandelin@moz</td>
     <td>billm@moz</td>
    <td>Method JIT, name lookup</td>
  </tr>
  <tr>
    <td>Igor Bukanov</td>
    <td>igor@mir2</td>
     <td>GC</td>
     <td>GC</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Jan de Mooij</td>
     <td>Nicholas Nethercote</td>
     <td>jandem</td>
     <td>:njn</td>
     <td></td>
     <td>Memory allocation and measurement, scanner, front-end</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Jason Orendorff</td>
     <td>Jason Orendorff</td>
     <td>jorendorff@moz</td>
     <td>jorendorff@moz</td>
     <td>Shapes, stack synthesization in the tracer</td>
     <td>being on IRC (just ask)</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Jeff Walden</td>
     <td>Till Schneidereit</td>
     <td>jwalden+bmo</td>
     <td>:till</td>
     <td>ES5 spec, strict mode, arguments objects, typed arrays</td>
     <td>Self-hosting, ECMAScript spec, some familiarity with parsing, proxies, various things in the engine.</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Jim Blandy</td>
     <td>Tom Schuster</td>
     <td>:jimb</td>
     <td>evilpie</td>
     <td>Debugger support, front end, strict mode, build system</td>
     <td>IonMonkey, Baseline, some Rooting, Unicode support, ECMAScript spec, strings, proxies and in particular CPOWs</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Luke Wagner</td>
     <td>Sean Stangl</td>
     <td>:luke</td>
     <td>sstangl@moz</td>
     <td>Stack, values, containers, method/trace jit, generators</td>
     <td>JS JITs: JaegerMonkey, IonMonkey.</td>
  </tr>
  <tr>
    <td>Mike Shaver</td>
    <td>:shaver</td>
    <td></td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Nick Nethercote</td>
     <td>Kannan Vijayan</td>
     <td>:njn</td>
     <td>:djvj</td>
     <td>Tracer, nanojit, parser, scanner</td>
     <td>BaselineCompiler, ICs, IonMonkey</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Rob Sayre</td>
     <td>Gregor Wagner</td>
     <td>sayrer@gm</td>
     <td>anygregor@gm</td>
     <td>JSON</td>
     <td>GC</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Steve Fink</td>
     <td>Luke Wagner</td>
     <td>:sfink</td>
     <td>:luke</td>
     <td>Debugger, profiling</td>
     <td>Stack, values, containers, generators, C++ language lawyer</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Tom Schuster</td>
     <td>Jeff Walden</td>
     <td>evilpie</td>
     <td>jwalden+bmo</td>
     <td></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 115: 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 121: 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 128: 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