Commit Graph

14742 Commits

Author SHA1 Message Date
Nathan Froyd
b0e24f4d55 Bug 1262400 - remove outer pointers from nsCreateInstance* classes; r=erahm
Outer pointers for object aggregation never get used.  Having these
always-null pointers around means extra space to store them and extra
instructions to deal with them.  Let's just remove them.
2016-04-14 11:30:59 -04:00
Nicholas Nethercote
60dcde7875 Bug 1261723 (part 2) - Separate class ops from js::Class. code=njn,h4writer. r=efaust,bz.
js::Class op are often all null. And when they're not all null, they're often
duplicated among classes. By pulling them out into their own struct, and using a
(possibly null) pointer in js::Class, we can save 114 KiB per process on
64-bit, and half that on 32-bit.
* * *
imported patch separate-ClassOps-2

--HG--
extra : rebase_source : bd751bf247e9491c1966a123dbeffa573657dfb1
2016-04-01 11:00:01 +11:00
Kyle Huey
2709afd167 Bug 1263311: Part 3 - s/nsCancelableRunnable/CancelableRunnable/g. r=froydnj 2016-04-11 11:40:06 -07:00
Kyle Huey
1cc02aa8c6 Bug 1263311: Part 1 - Change the nsICancelableRunnable interface. r=froydnj 2016-04-11 11:40:06 -07:00
Jonathan Watt
2dbf3449f8 Bug 1263764 - Make the external string API's Truncate compatible with the internal API's Truncate. r=froydnj 2016-04-01 16:17:35 +01:00
Chris Pearce
4eaf999528 Bug 1245789 - Make XPCOMThreadWrapper::GetCurrent() work. r=bholley
XPCOMThreadWrapper::GetCurrent() is failing because it's not keeping
AbstractThread::sCurrentThreadTLS up to date. This causes assertion failures
during startup of the GMP stack when dispatching via InvokeAsync to the GMP
thread, which is an XPCOM thread wrapped by the XPCOMThreadWrapper.

We can trivially initialize AbstractThread::sCurrentThreadTLS to be the
XPCOMThreadWrapper on the target thread, since it's thread-local-storage, and
the target thread won't change.

MozReview-Commit-ID: EIEFZppR2PS
2016-04-12 16:12:22 +12:00
Wes Kocher
7d2cebe912 Backed out 3 changesets (bug 1263311) for Windows build failures in ServiceWorkerPrivate.cpp CLOSED TREE
Backed out changeset 0434a548e1fe (bug 1263311)
Backed out changeset 60b1be29446c (bug 1263311)
Backed out changeset 18132498bc40 (bug 1263311)

MozReview-Commit-ID: LPEa05QobdQ
2016-04-11 12:50:56 -07:00
Kyle Huey
d200ed89d0 Bug 1263311: Part 3 - s/nsCancelableRunnable/CancelableRunnable/g. r=froydnj 2016-04-11 11:40:06 -07:00
Kyle Huey
f13a6fc866 Bug 1263311: Part 1 - Change the nsICancelableRunnable interface. r=froydnj 2016-04-11 11:40:06 -07:00
Botond Ballo
5a57a5b196 Bug 1163320 - Variadic implementation of nsRunnableMethodArguments. r=froydnj
MozReview-Commit-ID: 13YyOyiionD

--HG--
extra : rebase_source : 89a0ad0877ed3290a41288523fe9b13d9c5bac7d
extra : source : ed761807105b30069d5a7412f8dacf75429eeeb6
2015-05-11 17:24:21 -04:00
Brian Birtles
1bf99cf79f Bug 1260983 - Allow creating animations with a target element not bound to a document; r=heycam
MozReview-Commit-ID: HHqHWikZ3zp
2016-04-01 09:32:26 +09:00
Nicholas Nethercote
d8cfadc76d Bug 1261744 - Add two missing null checks for nsStringBuffer::Alloc(). r=erahm.
--HG--
extra : rebase_source : 7465db70cf5a3e19416a742481b3321e8b6eef16
2016-04-07 09:35:50 +10:00
Bob Owen
0fddf43d89 Backed out changeset e91dafc1450e (bug 1242456) due to incorrect HGLOBAL handling. 2016-04-08 16:37:04 +01:00
Valentin Gosu
a44929e1eb Bug 1261382 - Add ReadUntil method to Tokenizer r=mayhemer 2016-04-08 16:27:32 +02:00
Nicholas Nethercote
dbc9af380e Bug 1262731 - Add JS_InitWithFailureDiagnostic(). r=sfink.
This will help identify the cause of some Firefox start-up crashes when JS
initialization fails.

--HG--
extra : rebase_source : 3ed3c5e60f487e0ca11dc13bab93aa820ca8273f
2016-04-08 09:08:49 +10:00
Ngoc Thi Huynh
0789257518 Bug 1242456 - Create RAII helpers to manage HGLOBAL and HPRINTER in ShowNativePrintDialog and CreateGlobalDevModeAndInit. r=jimm
MozReview-Commit-ID: 4IrEEgJMtKZ
2016-04-05 13:24:28 +07:00
William Chen
303bd1fd42 Bug 1259590 - Remove B2G ACL code. r=khuey 2016-04-07 09:50:01 -07:00
Andreas Pehrson
dfc6d94fe7 Bug 1208371 - Implement operator!= for nsMainThreadPtrHandle. r=bholley
MozReview-Commit-ID: EjlvLi9VsFA

--HG--
extra : rebase_source : 0e58b99b3c03a4abc4dfbcd57662f761f701615e
2016-02-04 00:24:52 +08:00
Nicholas Nethercote
02b5d3f103 Bug 1262359 (part 3) - Add a missing fallible nsTSubstring_CharT::Assign() variant. r=erahm.
--HG--
extra : rebase_source : 2f5ee5658cce8a193454bf4c182cd534b0e7e8a0
2016-04-06 17:23:19 +10:00
Nicholas Nethercote
9601d6a63f Bug 1261735 (part 4) - Change StaticAtomEntry::mAtom to |StaticAtom*|. r=erahm.
This required reordering a bunch of stuff, so I took the opportunity to do a
big reordering. The new order:

- class CheckStaticAtomSizes;
- class DynamicAtom, class StaticAtom, their methods;
- gAtomTable and related functions;
- ~DynamicAtom() (here because it depends on gAtomTable stuff);
- gStaticAtomTable and related functions;
- exported functions.

--HG--
extra : rebase_source : 5fd4bf9a3f0c628dc3f74c0d8a81aadf48fd6dd7
2016-04-06 12:01:24 +10:00
Nicholas Nethercote
cd63c6bfee Bug 1261735 (part 3) - De-virtualize nsIAtom::IsStaticAtom(). r=froydnj,erahm.
This avoids the need for some virtual function calls and also will help lead to
distinct representations for dynamic and static atoms.

--HG--
extra : rebase_source : 16bbe6f1e1309ee3e4fab7a0d222e638178a2a9c
2016-04-06 11:28:40 +10:00
Nicholas Nethercote
a1d85c6ab8 Bug 1261735 (part 2) - Inline some {Dynamic,Static}Atom methods. r=erahm.
--HG--
extra : rebase_source : 0e50d8542fdf5de18b22dd2aa4a5fea71f48d032
2016-04-06 11:28:39 +10:00
Mike Shal
a1f020d488 Bug 1261283 - allow GENERATED_FILES to write to multiple outputs; r=glandium
MozReview-Commit-ID: DbBoZZnasTo
2016-04-01 10:38:22 -04:00
Nicholas Nethercote
e4dec8d42f Bug 1261735 (part 1) - Overhaul the atom implementation. r=froydnj,erahm.
This patch changes things so that dynamic atoms and static atoms have distinct
implementations. This is a step towards allowing dynamic atoms and static atoms
to have different layouts in memory, which will allow static atoms to be
represented more compactly.

Specifically, the patch does the following.

- It renames AtomImpl as DynamicAtom and PermanentAtomImpl as StaticAtom, and
  the latter is no longer a subclass of the former. This required duplicating
  some methods from the former into the latter: ScriptableToString(),
  ToUTF8String(), ScriptableEquals(), IsStaticAtom(). (This duplication will
  disappear in the future if the representations of dynamic atoms and static
  atoms diverge. Indeed, SizeOfIncludingThis() is already different in the two
  classes.)

- It replaces all mentions of "permanent"/"non-permanent" atoms with
  "static"/"dynamic".

- In ~DynamicAtom() it removes the check that causes gAtomTable to be deleted
  when it becomes empty. This will only happen at shutdown and so doesn't seem
  useful.

- It documents better various things, especially the basics of the
  dynamic/static split, the transmutation of dynamic atoms to static atoms, and
  the details of the SizeOf functions.

--HG--
extra : rebase_source : dbf903012e70ebf1a43de1e1088db1bc1b8dd4f4
2016-04-01 11:18:06 +11:00
Ted Mielczarek
58e2e722d0 bug 1239083 - use moz.build files to build ICU. r=glandium,waldo
Also fixes bug 926980 - load ICU data from an archive file.

Stop invoking ICU's autoconf build system. Instead, have hand-authored
moz.build files under config/external/icu to build what we need. In addition,
we'll commit a pre-built copy of the ICU data file (currently icudt56l.dat)
under config/external/icu/data to avoid having to build ICU host tools to
generate it. config/external/icu/data also contains some assembly files
which can generate an object file containing the ICU data file contents
so that the JS shell (or standalone JS builds) can be linked directly to
the data without having to deal with the external data file. This requires
yasm or GNU as.

Various bits of packaging have been updated to account for the ICU data file.
XPCOM initialization now sets the ICU data directory so ICU can locate its
data file.

The update-icu.sh script has been modified to read the list of C/C++ source
files out of the ICU Makefiles and update `sources.mozbuild` files under
config/external/icu, as well as build a local copy of ICU using its
autoconf build system to generate the ICU data file to be committed in-tree.


MozReview-Commit-ID: 8Pfkzqt6S1W

--HG--
extra : rebase_source : 31426cddddb5543e0191059ba2f2eb069abe7727
2016-04-05 10:09:12 -04:00
Wes Kocher
46f04c50ca Backed out 5 changesets (bug 911216) for apparently tripling the runtime of SM(p) jobs along with introducing a failure in SM(p)
Backed out changeset d70235224525 (bug 911216)
Backed out changeset 2f503e373e6f (bug 911216)
Backed out changeset 2e98f8b36bc6 (bug 911216)
Backed out changeset bd5acdf4a2a1 (bug 911216)
Backed out changeset 58716e562690 (bug 911216)

MozReview-Commit-ID: 807ajHOZvQn
2016-04-04 15:41:17 -07:00
Till Schneidereit
0384df1a97 Bug 911216 - Part 13: Set Promise allocation stack as async stack for Promise callback jobs. r=efaust,bz 2016-03-22 16:22:23 +01:00
Nicholas Nethercote
d376f9f82e Bug 1260871 - Remove do_GetAtom() and rename NS_NewAtom() as NS_Atomize(). r=erahm.
do_GetAtom() is currently just a synonym for NS_NewAtom().

--HG--
extra : rebase_source : f4409784f931616cbc300591e6b843d30805c273
2016-03-29 10:09:43 +11:00
Nicholas Nethercote
358a6071d9 Bug 1260653 - Shrink NativeProperties. r=bz.
This patch makes NativeProperties variable-length and reduces static data by
110,336 bytes on 64-bit, and half that on 32-bit.

MozReview-Commit-ID: 2etZ5AnEhgO

--HG--
extra : rebase_source : 6a167b64df7da3c6940114782fe08337f04a694d
2016-03-31 09:57:20 +11:00
Bill McCloskey
f29390f263 Bug 1222101 - Reorder some thread code (r=jld) a=kwierso
MozReview-Commit-ID: Alg40mu9aU3
2016-03-30 12:20:20 -07:00
Wes Kocher
dd58e668a4 Backed out changeset 00f8c8fde8ca (bug 1222101) for build bustage CLOSED TREE
MozReview-Commit-ID: F6PINhcfsF4
2016-03-30 10:19:29 -07:00
Bill McCloskey
5b8924bd94 Bug 1222101 - Reorder some thread code (r=jld) 2016-03-30 09:58:41 -07:00
Jean-Yves Avenard
da166b0f2c Bug 1259706: Add NS_INLINE_DECL_THREADSAFE_VIRTUAL_REFCOUNTING macro. r=froydnj
Allow to generate virtual AddRef/Release methods.

MozReview-Commit-ID: I7xPupDEtr4

--HG--
extra : rebase_source : b4d0e2b2a254e0402bbe6543c5263da359efb640
2016-03-25 23:01:58 +11:00
Jacek Caban
a426bc75b7 Bug 1257262 - Removed invalid nsAString:Assign variant. r=bsmedberg 2016-03-29 15:04:19 +02:00
Tobias Schneider
9dd3cff0b6 Bug 1237198 - Block SWFs on the content blocking list hosted on the Shavar service. r=francois 2016-03-29 00:37:44 -07:00
Vladimir Vukicevic
a54ea93315 Bug 1221160 - fix AutoTraceLogLock deadlock on Windows; r=froydnj
From e3a1e57c0c8be8214a12e31c6e4950a676efd9bc Mon Sep 17 00:00:00 2001

MozReview-Commit-ID: JrPiE7eixpy

--HG--
extra : rebase_source : 7f322a0c95c46c0bd1721f982fab8ab421866d70
extra : source : 883ed100b755b9a528104a62ed631beaff6c8cf2
2015-11-03 15:13:09 -05:00
Vladimir Vukicevic
6a82950698 Bug 1242963 - nsID stringification helper for logging; r=froydnj
From 6321c215bed173f89127558b2eec3cc1b475cf84 Mon Sep 17 00:00:00 2001

MozReview-Commit-ID: IPhQhW8v4iH

--HG--
extra : rebase_source : b78f75145aeff78901ffcea687c710d637f2c1e7
extra : source : defe17fe276a9a66f923f714d4f6c35e6373364e
2015-10-08 13:11:04 -04:00
Kyle Huey
d9265a3eaf Bug 1259294: Part 2 - Use MOZ_ALWAYS_SUCCEEDS. r=froydnj 2016-03-28 10:28:15 -07:00
Kyle Huey
8086517d41 Bug 1259294: Part 1 - Add MOZ_ALWAYS_SUCCEEDS. r=froydnj 2016-03-28 10:28:14 -07:00
Kyle Huey
29596ecfff Bug 1258908: Rename TYPE_MOZILLA_UI to TYPE_MOZILLA_PARENT. r=jld 2016-03-28 10:28:14 -07:00
Ted Mielczarek
815dd278b6 bug 1259753 - fix some C++ unittests to use ScopedXPCOM to init XPCOM. r=ms2ger
MozReview-Commit-ID: B6xdlB9Di0y

--HG--
extra : rebase_source : 182d29d677c77ae6780260f5fc9b0792bdd98f84
extra : amend_source : 1e4fa2453d6773bd1e63f52b7aa3bf61e61600ff
2016-03-25 10:04:37 -04:00
Eddy Bruel
3e2cb55980 Bug 1229769 - We should be able to use DOM promises in the worker debugger;r=khuey 2016-03-24 16:12:00 +01:00
Nicholas Nethercote
bbfe3dbc14 Bug 1257402 - Remove NS_NewPermanentAtom() and nsIAtomService.getPermanentAtom(). r=froydnj,kmag.
The former is only used inconsequentially in tests. The second is not used at
all.

--HG--
extra : rebase_source : 4cfe11f933f1fe8f788e823c5107941085cef92c
2016-03-17 13:11:31 +11:00
Nicholas Nethercote
ea7e61e63c Bug 1257128 (part 2) - Remove nsIAtomService.get{,Permanent}AtomUTF8. r=froydnj. 2016-03-16 21:09:18 +11:00
Nicholas Nethercote
41e924c6e0 Bug 1257128 (part 1) - Remove nsIAtom.equalsUTF8. r=froydnj.
It's only used in tests.
2016-03-16 21:05:30 +11:00
Nicholas Nethercote
ab34e9bd7a Bug 1257207 - Increase ATOM_HASHTABLE_INITIAL_LENGTH. r=froydnj.
This avoids one gAtomTable resizing.

--HG--
extra : rebase_source : 136e9db9653d4632986c2462f51c5c008475e1de
2016-03-24 09:17:55 +11:00
Jeff Walden
3b8b70a765 Bug 1256027 - Cast a few things in varargs to the expected types for MSVC 2015 warning-compatibility. r=froydnj
--HG--
extra : rebase_source : 5caa63bb236b4840fda4f2c6bf91e987c7905195
2016-03-23 13:21:02 -07:00
Boris Zbarsky
fb54936d49 Bug 1255817 part 4. Make XPCJSRuntime use MozCrashErrorReporter by default, now that there should be no stray JS_ReportPendingException calls. r=bholley 2016-03-23 11:44:54 -04:00
Eric Rahm
1424614c16 Bug 1258231 - Lock while iterating console messages. r=mccr8
--HG--
extra : rebase_source : 3e587ec2b0d7bc8f94a452a6a7ac0d5cff92a716
2016-03-21 12:15:42 -07:00
Till Schneidereit
db904728ee Bug 911216 - Part 7: Implement ES6 Promises in the JavaScript engine. r=efaust
--HG--
extra : rebase_source : 44ac4d767f6b2298acea444675c7177cb8f0d602
2015-11-10 12:34:00 +01:00