gecko-dev/dom/bindings
Boris Zbarsky d36e5a4ea5 Bug 1214364 part 4. Only output full-featured Init methods for dictionaries that need them. r=peterv
Dictionaries that we never initialize with JS values don't need a full-featured
Init() method.  Instead, we output a cut-down Init() method that doesn't even
take a JSContext and Value as argument, and skips as much work as it can.  It
uses constant-false for "is the value present?", but also, to avoid compilation
errors due to use of `cx` and `val` in now-dead conversion code, it tells the
native-to-JS conversion machinery that the value is always missing, which lets
it skip most of the the work it would normally try to do and just output
initialization to the default value.  We only need to do this for members that
have default values; the others either remain no-passed or are required members
with no default-initialization behavior.

This saves about 330KB of codesize on Linux64 without PGO and 285KB with PGO.

Differential Revision: https://phabricator.services.mozilla.com/D48007

--HG--
extra : moz-landing-system : lando
2019-10-28 20:24:31 +00:00
..
crashtests
docs Bug 1578173 part 7. Remove remaining uses of [Constructor] from binding tests. r=edgar 2019-09-12 18:39:26 +00:00
mozwebidlcodegen Bug 1214364 part 4. Only output full-featured Init methods for dictionaries that need them. r=peterv 2019-10-28 20:24:31 +00:00
parser Bug 1214364 part 4. Only output full-featured Init methods for dictionaries that need them. r=peterv 2019-10-28 20:24:31 +00:00
test Bug 1587819. Convert [HTMLConstructor] to being an extended attribute on constructor operations. r=edgar 2019-10-17 15:38:39 +00:00
AtomList.h
BindingDeclarations.h
Bindings.conf Bug 1581710 - Update WebGPU IDL bindings r=jgilbert,bzbarsky 2019-10-02 16:46:03 +00:00
BindingUtils.cpp Bug 1568249. Remove all the LegacyQueryInterface machinery from Web IDL. r=edgar 2019-10-11 21:15:57 +00:00
BindingUtils.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-10-21 14:13:44 +00:00
CallbackFunction.h Bug 1561887 part 2. Fix cycle-collection skipping of JSEventHandler to work correctly. r=smaug 2019-07-09 17:04:59 +00:00
CallbackInterface.cpp Bug 1586683 - Remove flat strings from JSAPI. r=jwalden,bzbarsky 2019-10-14 09:32:07 +00:00
CallbackInterface.h
CallbackObject.cpp Bug 1581276. Require a message arg to ThrowDOMException. r=smaug 2019-09-20 02:17:01 +00:00
CallbackObject.h Bug 1515214 - Add CallbackObject::GetDescription and TimeoutHandler::GetDescription. r=bzbarsky 2019-07-10 20:48:14 +00:00
Codegen.py Bug 1214364 part 4. Only output full-featured Init methods for dictionaries that need them. r=peterv 2019-10-28 20:24:31 +00:00
Configuration.py Bug 1214364 part 4. Only output full-featured Init methods for dictionaries that need them. r=peterv 2019-10-28 20:24:31 +00:00
Date.cpp
Date.h
DOMJSClass.h Bug 1573844 - Remove external references to js::Jsvalify and js::Valueify r=mccr8 2019-08-14 17:24:59 +00:00
DOMJSProxyHandler.cpp Bug 1583684 - Fix some rooting hazards in DOM bindings r=bzbarsky 2019-09-26 23:50:14 +00:00
DOMJSProxyHandler.h Bug 1586991 part 24 - Don't assume JS atoms are null-terminated in GetArrayIndexFromId. r=bzbarsky 2019-10-19 17:55:01 +00:00
DOMString.h
ErrorIPCUtils.h
ErrorResult.h Bug 1581276. Require a message arg to ThrowDOMException. r=smaug 2019-09-20 02:17:01 +00:00
Errors.msg Bug 1582911 part 1. Fix the exception we throw when binding this-unwrapping fails security checks to match spec. r=peterv 2019-09-24 10:15:35 +00:00
Exceptions.cpp
Exceptions.h
FakeString.h
GenerateCSS2PropertiesWebIDL.py
IterableIterator.cpp
IterableIterator.h
JSSlots.h
mach_commands.py
Makefile.in
moz.build Bug 1510785 - Only build XBL related code when MOZ_XBL is defined. r=bzbarsky 2019-10-08 23:52:14 +00:00
NonRefcountedDOMObject.h
nsIScriptError.idl
nsScriptError.cpp
nsScriptError.h
nsScriptErrorWithStack.cpp
Nullable.h
PrimitiveConversions.h
ReadableStream.h
Record.h
RemoteObjectProxy.cpp Bug 1582520: Part 3 - Fix RemoteObjectProxy immutable prototype implementation. r=bzbarsky 2019-09-25 17:49:58 +00:00
RemoteObjectProxy.h Bug 1582520: Part 3 - Fix RemoteObjectProxy immutable prototype implementation. r=bzbarsky 2019-09-25 17:49:58 +00:00
RootedDictionary.h
RootedOwningNonNull.h
RootedRefPtr.h
SimpleGlobalObject.cpp Bug 1573844 - Remove external references to js::Jsvalify and js::Valueify r=mccr8 2019-08-14 17:24:59 +00:00
SimpleGlobalObject.h
SpiderMonkeyInterface.h
ToJSValue.cpp Bug 1510760, part 4 - Add transplant support to GetRemoteOuterWindowProxy(). r=peterv 2019-07-18 19:36:17 +00:00
ToJSValue.h
TypedArray.h
UnionMember.h
WebIDLGlobalNameHash.cpp Bug 1586683 - Remove flat strings from JSAPI. r=jwalden,bzbarsky 2019-10-14 09:32:07 +00:00
WebIDLGlobalNameHash.h Bug 1586683 - Remove flat strings from JSAPI. r=jwalden,bzbarsky 2019-10-14 09:32:07 +00:00
XrayExpandoClass.h