Phil Ringnalda
d381b4bca6
Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
...
CLOSED TREE
Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
373593275e
Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj
2016-01-31 17:12:12 +02:00
Kyle Huey
0efe211e55
Bug 1200922: Add the ability to shut down a thread asynchronously. r=froydnj
2015-09-14 18:24:43 -07:00
Kyle Huey
76e3009ab8
Bug 1179909: Refactor stable state handling. r=smaug
...
This is motivated by three separate but related problems:
1. Our concept of recursion depth is broken for things that run from AfterProcessNextEvent observers (e.g. Promises). We decrement the recursionDepth counter before firing observers, so a Promise callback running at the lowest event loop depth has a recursion depth of 0 (whereas a regular nsIRunnable would be 1). This is a problem because it's impossible to distinguish a Promise running after a sync XHR's onreadystatechange handler from a top-level event (since the former runs with depth 2 - 1 = 1, and the latter runs with just 1).
2. The nsIThreadObserver mechanism that is used by a lot of code to run "after" the current event is a poor fit for anything that runs script. First, the order the observers fire in is the order they were added, not anything fixed by spec. Additionally, running script can cause the event loop to spin, which is a big source of pain here (bholley has some nasty bug caused by this).
3. We run Promises from different points in the code for workers and main thread. The latter runs from XPConnect's nsIThreadObserver callbacks, while the former runs from a hardcoded call to run Promises in the worker event loop. What workers do is particularly problematic because it means we can't get the right recursion depth no matter what we do to nsThread.
The solve this, this patch does the following:
1. Consolidate some handling of microtasks and all handling of stable state from appshell and WorkerPrivate into CycleCollectedJSRuntime.
2. Make the recursionDepth counter only available to CycleCollectedJSRuntime (and its consumers) and remove it from the nsIThreadInternal and nsIThreadObserver APIs.
3. Adjust the recursionDepth counter so that microtasks run with the recursionDepth of the task they are associated with.
4. Introduce the concept of metastable state to replace appshell's RunBeforeNextEvent. Metastable state is reached after every microtask or task is completed. This provides the semantics that bent and I want for IndexedDB, where transactions autocommit at the end of a microtask and do not "spill" from one microtask into a subsequent microtask. This differs from appshell's RunBeforeNextEvent in two ways:
a) It fires between microtasks, which was the motivation for starting this.
b) It no longer ensures that we're at the same event loop depth in the native event queue. bent decided we don't care about this.
5. Reorder stable state to happen after microtasks such as Promises, per HTML. Right now we call the regular thread observers, including appshell, before the main thread observer (XPConnect), so stable state tasks happen before microtasks.
2015-08-11 06:10:46 -07:00
Randell Jesup
c87c478f4f
Bug 1155059: Patch 1&2 - Convert Dispatch() and friends to already_AddRefed<> r=froydnj
...
Modify Dispatch IDL and code to deal with MSVC issues with overloaded templates r=froydnj
2015-07-09 23:21:46 -04:00
Randall Barker
c236b48231
Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC. r=nfroyd
...
--HG--
extra : rebase_source : 93f11457b16b344e148a6fcb924b286ef8a48051
2015-04-03 15:52:00 +02:00
Wes Kocher
e226c762ee
Backed out changeset 0f5799df920b (bug 1093934) for various test failures CLOSED TREE
...
--HG--
extra : amend_source : 047ed43008cea68775c544cdf0df2819cfb24589
2015-04-02 13:42:34 -07:00
Randall Barker
683155c363
Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC r=froydnj
2015-04-02 12:12:37 -07:00
Ben Turner
d081140cb0
Bug 994190 - 'Modify main-thread IndexedDB to use PBackground', r=khuey.
2014-09-26 16:21:57 -07:00
Ben Turner
46d101f40c
Backout bug 994190 and merge over some stuff that landed afterwards on a CLOSED TREE.
2014-09-17 19:36:01 -04:00
Ben Turner
1a91d40956
Bug 994190 - 'Modify main-thread IndexedDB to use PBackground', r=khuey.
...
--HG--
rename : dom/indexedDB/ipc/SerializationHelpers.h => dom/indexedDB/SerializationHelpers.h
rename : dom/indexedDB/ipc/unit/head.js => dom/indexedDB/test/unit/xpcshell-head-child-process.js
rename : dom/indexedDB/test/unit/head.js => dom/indexedDB/test/unit/xpcshell-head-parent-process.js
rename : dom/ipc/Blob.h => dom/ipc/BlobParent.h
rename : dom/ipc/FileDescriptorSetChild.cpp => ipc/glue/FileDescriptorSetChild.cpp
rename : dom/ipc/FileDescriptorSetChild.h => ipc/glue/FileDescriptorSetChild.h
rename : dom/ipc/FileDescriptorSetParent.cpp => ipc/glue/FileDescriptorSetParent.cpp
rename : dom/ipc/FileDescriptorSetParent.h => ipc/glue/FileDescriptorSetParent.h
rename : dom/ipc/PFileDescriptorSet.ipdl => ipc/glue/PFileDescriptorSet.ipdl
2014-09-13 12:12:19 -04:00
Ben Turner
bbf77ff477
Bug 1052740 - Cancel LazyIdleThread timer before shutting down its thread, r=bsmedberg.
2014-08-29 11:23:31 -07:00
Birunthan Mohanathas
c9fb2c0d48
Bug 1022456 - Fix modelines in xpcom/{base,glue,io,string,threads}/. r=froydnj
2014-06-30 08:39:45 -07:00
Birunthan Mohanathas
67dad11bae
Bug 995730 - Convert xpcom/threads/ to Gecko style. r=froydnj
...
--HG--
extra : rebase_source : 1f6f179f44db87f55ebfe5d855192adfad7d1b74
2014-05-27 10:15:35 +03:00
Birunthan Mohanathas
5f1fde8824
Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj
2014-04-27 03:06:00 -04:00
Ehsan Akhgari
186680d83a
Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg
2014-03-27 16:38:33 -04:00
Olli Pettay
e84a8e90a5
Backout Bug 953435 to fix bug 959281, a=backout
2014-02-02 20:12:27 +02:00
Olli Pettay
5cdea8d914
Bug 953435 - Browser hang on Mac if an AfterProcessNextEvent callback tries to spin the event loop, r=nfroyd+smichaud
...
--HG--
extra : rebase_source : e999d852f5f73b18f37ff6a5488cc171c95d9e61
2014-01-09 00:10:06 +02:00
Ehsan Akhgari
1b83407ce9
Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
...
This patch was automatically generated by the following script:
#!/bin/bash
# Command to convert PRUnichar to char16_t
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*modules/libmar*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name prtypes.h \
! -name Char16.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Ben Turner
4d2b15f34c
Bug 939182 - Add 'eventWasProcessed' argument to nsIThreadObserver::afterProcessNextEvent(), r=bsmedberg.
...
--HG--
extra : transplant_source : %5E%80p%D6%C6A%23%0AZ%06%23%16%155%DB%CE%F5%5CEx
2013-10-23 05:01:20 -07:00
Benjamin Smedberg
8fd1bc7f20
Bug 672843 part C - convert most of XPCOM except for xpcom/tests, r=vdjeric
2013-11-19 16:27:37 -05:00
Joshua Cranmer
1a6dffc73f
Bug 884061 - Part 3y: Use NS_DECL_THREADSAFE_ISUPPORTS in xpcom/, r=bsmedberg
...
--HG--
extra : rebase_source : d54f6973e3ff859207115013e8361781769ffc76
2013-07-18 21:31:26 -05:00
Julian Seward
eb8e819973
Bug 872496 - Allow early registration of stack tops, to improve native unwind quality. r=bgirard.
2013-05-28 14:03:38 +02:00
Ben Turner
6f8e994c82
Bug 861287 - 'Integrate IndexedDB into the gecko profiler'. r=khuey.
2013-03-15 23:58:50 -07:00
Ben Turner
5164c7bb1b
Backout bug 861287 for gcc build failures.
2013-04-25 08:30:28 -04:00
Ben Turner
89f06e32e7
Bug 861287 - 'Integrate IndexedDB into the gecko profiler'. r=khuey.
2013-03-15 23:58:50 -07:00
Ryan VanderMeulen
5832d83a4a
Backed out changeset 948da26ff5a0 (bug 840673) for frequent Android ts timeouts on a CLOSED TREE.
2013-03-12 21:40:30 -04:00
Kyle Huey
dfdaa6062f
Bug 840673: Shut down the timer before shutting down the thread, so that spinning the event loop while shutting down the thread does not cause us to see the timer firing and reenter. r=bent
2013-03-12 13:45:23 -07:00
Chris Peterson
92aba9cc73
Bug 839962 - Part 2: Replace some XPCOM thread NS_ASSERTIONs with MOZ_ASSERTs. r=bsmedberg
2013-02-07 21:54:20 -08:00
Chris Peterson
cbe66ccea3
Bug 839962 - Part 1: Replace some XPCOM refcount NS_ASSERTIONs with MOZ_ASSERTs. r=bsmedberg
2013-02-07 20:50:05 -08:00
Isaac Aggrey
481e7dfb0b
Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan
2012-09-28 01:57:33 -05:00
Ehsan Akhgari
e368dc9c85
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
...
This patch was generated by a script. Here's the source of the script for
future reference:
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t
convert PRIntn int
convert PRUintn unsigned
convert PRSize size_t
convert PROffset32 int32_t
convert PROffset64 int64_t
convert PRPtrdiff ptrdiff_t
convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor
d0ad5a7d0c
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Honza Bambas
fc7084f564
Bug 720778 - Important threads should have a name for better debugability, r=bsmith, sr=bsmedberg+glandium
2012-06-12 19:06:20 +02:00
Gervase Markham
82ff7027aa
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Kyle Huey
46c19a64e1
Bug 715162: Move LazyIdleThread to xpcom/. r=bent
...
--HG--
rename : dom/indexedDB/LazyIdleThread.cpp => xpcom/threads/LazyIdleThread.cpp
rename : dom/indexedDB/LazyIdleThread.h => xpcom/threads/LazyIdleThread.h
2012-01-05 08:42:47 -05:00