gecko-dev/js/xpconnect
Kris Maglione be57cf30bb Bug 1431533: Part 1 - Cache module exports when a module is first loaded. r=mccr8
Looking up and copying exported properties each time a module is loaded is
fairly expensive at the best of times. It's even more expensive when we only
want to export a subset of symbols, which generally requires creating a
temporary object to hold the exports, or fetching them directly from the
returned global.

Aside from making the general case a bit faster, storing exports on an object
allows us to optimize lazy module imports by fetching imported symbols
directly from the exports object with very little additional overhead.

MozReview-Commit-ID: C9PGoXPNmsh

--HG--
extra : rebase_source : 6232cf7a52fd69ebeb8b6e39680646f287c272a8
extra : histedit_source : b223c73a6e9092491f4fb09f8c795f5aa4b43df3
2018-01-18 14:12:04 -08:00
..
crashtests Bug 721910 - Add crashtest. 2017-12-05 11:02:57 -05:00
idl Bug 1417842 - Make Cu.readFile and Cu.readURI UTF-8 aware. r=erahm 2017-11-30 20:10:44 +09:00
loader Bug 1431533: Part 1 - Cache module exports when a module is first loaded. r=mccr8 2018-01-18 14:12:04 -08:00
public Bug 1409598 - Change nsIXPCScriptable::className and nsIClassInfo::{contractID,classDescription} from string to AUTF8String. r=froydnj. 2017-10-18 13:17:26 +11:00
shell Bug 1425381 - Always enable PIE on Android now that we support only >= 4.1. r=froydnj 2018-01-11 10:42:15 +09:00
src Bug 1431533: Part 1 - Cache module exports when a module is first loaded. r=mccr8 2018-01-18 14:12:04 -08:00
tests Bug 1421398 - Implement Array.prototype.flatten and Array.prototype.flatMap in Nightly. r=anba,bz 2018-01-17 19:00:21 +01:00
wrappers Bug 1394734 - Replace CONFIG['MSVC'] by CONFIG['CC_TYPE'] r=glandium 2017-12-08 13:46:13 +01:00
moz.build Bug 1400406 - js/xpconnect/moz.build contains a reference to a non-existent directory. r=gps 2017-09-15 14:35:15 -07:00