JavaScript:Hackers: Difference between revisions

Mark as Outdated
mNo edit summary
(Mark as Outdated)
 
(48 intermediate revisions by 19 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, build system</td>
     <td>IonMonkey, Baseline, some Rooting, Unicode support, ECMAScript spec, strings, proxies and in particular CPOWs</td>
  </tr>
  <tr>
    <td>Luke Wagner</td>
    <td>luke@moz</td>
    <td>C++ arcana, [http://mxr.mozilla.org/mozilla-central/source/js/src/jstl.h jstl] and [http://mxr.mozilla.org/mozilla-central/source/js/src/jsvector.h <code>js::Vector</code>], method JIT</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td>Mike Shaver</td>
     <td>Sean Stangl</td>
     <td>:shaver</td>
     <td>sstangl@moz</td>
     <td></td>
     <td>JS JITs: JaegerMonkey, IonMonkey.</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>
52

edits