gecko-dev/dom/bindings
Nicholas Nethercote f2d1f3b005 Bug 1407117 - Simplify static atom representation. r=froydnj,bz.
Currently nsAtom::mString points to the interior of an nsStringBuffer. For
static atoms this requires the use of nsFakeStringBuffer, which is pretty
gross.

This patch changes things so that nsAtom::mString points to a static char
buffer for static atoms. This simplifies a number of things:

- nsFakeStringBuffer and CheckStaticAtomSizes are no longer needed.

- FakeBufferRefCountHelper is no longer needed.

- nsAtom's constructor for static atoms is simpler.

- RegisterStaticAtoms() is simpler.

On the flip-side, a couple of things get more complicated.

- nsAtom::ToString() treats static and dynamic atoms differently.

- nsAtom::GetStringBuffer() is now only valid for dynamic atoms. This
  function is only used in two places, both involving DOMString, so those
  locations are updated appropriately. This also requires updating some other
  code assigning nsStrings to DOMStrings, because we can't assume that
  nsStrings are shared.

On Linux64 this change reduces the size of the binary by 8752 B, and moves
81968 B from the .data to the .rodata section, where it can be shared between
processes.

--HG--
extra : rebase_source : 0f6fcdec1c525aa66222e208b66a9f9026f69bcb
2017-10-12 10:52:17 +11:00
..
crashtests
docs
mozwebidlcodegen
parser Bug 1400139 part 1. Add infrastructure for marking WebIDL interface members as non-enumerable. r=qdot 2017-09-18 21:24:37 -04:00
test Bug 1406493 - Remove the rest of the attribute deprecation warnings; r=baku f=annevk 2017-10-09 18:26:11 -04:00
AtomList.h
BindingDeclarations.h Bug 1406820 part 2. Fix some missing member initialization in dom/bindings code. r=qdot 2017-10-11 00:46:18 +01:00
BindingUtils.cpp Bug 1404107 - Refactor: Move some reparenting complexity into XPConnect. r=mrbkap,r=bz 2017-10-05 11:49:43 -05:00
BindingUtils.h Bug 1369533: Return dead wrappers rather than null for dead CallbackObject values. r=bz 2017-09-04 17:21:06 -07:00
Bindings.conf Bug 967895 - Ask for placeholder data when image extraction is not allowed (Tor 6253). r=jrmuizel 2017-08-22 14:23:41 +08:00
CallbackFunction.h
CallbackInterface.cpp
CallbackInterface.h
CallbackObject.cpp Bug 1406570 - Rooting improvements, r=jonco,bz 2017-10-09 10:59:02 -07:00
CallbackObject.h Bug 1120178 - Migrate DOMError to DOMExtension in FileReader, IndexedDB, DOMRequest and so on, r=smaug 2017-08-06 20:47:00 +03:00
Codegen.py Bug 1383059 - Remove instanceof for supplemental interfaces. Part 2: remove support for supplemental interfaces in instanceof code and remove unnecessary ChromeWindow interface. r=bz. 2017-07-05 23:01:04 +02:00
Configuration.py Bug 1279218 - Remove Applet tag; r=bz 2017-07-10 16:00:30 -07:00
DOMJSClass.h Bug 1348099 part 1 - Binary search property id when resolve DOM Xrays own property. r=bz 2017-06-12 12:13:38 +08:00
DOMJSProxyHandler.cpp Bug 1393790 part 2 - Remove JS_PropertyStub and JS_StrictPropertyStub. r=jorendorff 2017-08-28 10:40:19 +02:00
DOMJSProxyHandler.h Bug 1189822 part 5. Remove the now-unnecessary DOMProxyHandler::ClearExternalRefsForWrapperRelease function. r=peterv 2017-05-17 00:52:53 -04:00
DOMString.h Bug 1407117 - Simplify static atom representation. r=froydnj,bz. 2017-10-12 10:52:17 +11:00
Date.cpp
Date.h
ErrorIPCUtils.h
ErrorResult.h
Errors.msg Bug 1388661 - Support currency validation in PaymentRequet API. r=baku 2017-09-06 14:36:24 +08:00
Exceptions.cpp Bug 1149830 - Remove nsIStackFrame::language. r=bz,mccr8 2017-08-03 15:50:07 +09:00
Exceptions.h
FakeString.h Bug 1406820 part 2. Fix some missing member initialization in dom/bindings code. r=qdot 2017-10-11 00:46:18 +01:00
GenerateCSS2PropertiesWebIDL.py
IterableIterator.cpp
IterableIterator.h Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
JSSlots.h
Makefile.in Bug 1378965 - silently include codegen.pp for DOM bindings; r=chmanchester 2017-07-25 11:17:32 -04:00
NonRefcountedDOMObject.h
Nullable.h
PrimitiveConversions.h
ReadableStream.h Bug 1128959 - Implement the WHATWG Streams spec - part 1 - WebIDL Bindings, r=bz 2017-08-10 18:04:54 -07:00
Record.h
RootedDictionary.h
RootedOwningNonNull.h
RootedRefPtr.h
SimpleGlobalObject.cpp Bug 1396613 - Update the object moved hook to allow it to be called when tenuring nursery objects r=sfink r=mccr8 2017-09-19 12:31:30 +01:00
SimpleGlobalObject.h Bug 1352430 - Add barrier to wrapper cache to clear dying objects that have not yet been finalized r=bz r=sfink 2017-04-26 11:18:39 +01:00
SpiderMonkeyInterface.h Bug 1128959 - Implement the WHATWG Streams spec - part 1 - WebIDL Bindings, r=bz 2017-08-10 18:04:54 -07:00
StructuredClone.cpp
StructuredClone.h
ToJSValue.cpp
ToJSValue.h Bug 1369533: Return dead wrappers rather than null for dead CallbackObject values. r=bz 2017-09-04 17:21:06 -07:00
TypedArray.h Bug 1384513 - Change all public APIs to take JS::AutoRequireNoGC instead of JS::AutoCheckCannotGC. r=jonco 2017-07-26 12:20:59 +02:00
UnionMember.h
WebIDLGlobalNameHash.cpp Bug 1371259 part 3. Change UnwrapObject<> and the UNWRAP_OBJECT macro to allow passing in mutable object or value handles for the thing being unwrapped, and do so at various callsites. r=peterv 2017-07-10 16:05:24 -04:00
WebIDLGlobalNameHash.h Bug 1364816 part 5. Make getting window names a bit faster by avoiding various intermediate strings. r=qdot,jandem 2017-06-06 21:21:45 -04:00
XrayExpandoClass.h
mach_commands.py
moz.build Bug 1128959 - Implement the WHATWG Streams spec - part 1 - WebIDL Bindings, r=bz 2017-08-10 18:04:54 -07:00
nsIScriptError.idl Bug 1381282 - Change nsScriptErrorBase::InitWithWindowID so that it does not call GetSensitiveInfoHiddenSpec as much as now. r=bz r=valentin 2017-08-07 15:56:30 +02:00
nsScriptError.cpp Bug 1381282 - Change nsScriptErrorBase::InitWithWindowID so that it does not call GetSensitiveInfoHiddenSpec as much as now. r=bz r=valentin 2017-08-07 15:56:30 +02:00
nsScriptError.h Bug 1381282 - Change nsScriptErrorBase::InitWithWindowID so that it does not call GetSensitiveInfoHiddenSpec as much as now. r=bz r=valentin 2017-08-07 15:56:30 +02:00
nsScriptErrorWithStack.cpp