Commit Graph

80 Commits

Author SHA1 Message Date
Nathan Froyd
68342fc862 Bug 1179787 - part 2 - add template logic for smart pointer template arguments in NS_NewRunnableMethod*; r=botond 2015-07-02 11:17:49 -04:00
Nathan Froyd
62b624c50d Bug 1179787 - part 1 - forward StorensRefPtrPassByPtr's constructor argument; r=botond
StorensRefPtrPassByPtr is currently used for storing reference-counted
types passed as T* template arguments to NS_NewRunnableMethodWith*.
We'd also like to use it to store nsRefPtr<T> template arguments.  While
it could be used in its current form, it'd be better for its constructor
to support forwarding, so that something like:

  NS_NewRunnableMethodWithArg<nsRefPtr<T>>(..., nsRefPtr<T>(local));

doesn't cause unnecessary reference counting.
2015-07-02 11:05:52 -04:00
Ehsan Akhgari
0f6413366a Bug 1188203 - Fix more constructors in XPCOM; r=froydnj 2015-07-28 12:24:37 -04:00
Randell Jesup
9212636903 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
Ryan VanderMeulen
9aec6660f1 Backed out changeset c1cd7aff7c94 (bug 1163320) for causing silent Hazard build bustage. 2015-06-03 12:46:19 -04:00
Botond Ballo
51b7f4854d Bug 1163320 - Variadic implementation of nsRunnableMethodArguments. r=froydnj 2015-05-11 17:24:21 -04:00
Cervantes Yu
f244086223 Backout change 39e167bbd14c, a80140872ea5, adae9be2294d and b71ccef9c674 (bug 970307). 2015-05-19 14:31:25 +08:00
Carsten "Tomcat" Book
35c8f985c6 Backed out changeset 4d2839eea957 (bug 970307) 2015-05-19 11:44:27 +02:00
Cervantes Yu
f56cb02c7d Backout change 39e167bbd14c, a80140872ea5, adae9be2294d and b71ccef9c674 (bug 970307). 2015-05-19 14:31:25 +08:00
Gerald Squelart
76305d39c7 Bug 1153295 - Select StorensRefPtrPassPtr for types with AddRef and Release methods. r=nfroyd 2015-04-26 04:52:00 -04:00
Cervantes Yu
d3b1aa5c05 Backed out 2 changesets (bug 1138620)
Backed out changeset e60b4b01c05d (bug 1138620)
Backed out changeset 52d49dd25d6d (bug 1138620)
2015-04-24 15:05:44 +08:00
Cervantes Yu
b5f24084e9 Bug 1138620 - Part 1: Allow binary modules to create unmonitored threads that doesn't keep the Nuwa process from stabalization. r=nfroyd 2015-04-21 18:23:09 +08:00
Kartikaya Gupta
2039821eb9 Bug 1152753 - Add a wrapper to be able to dispatch C++11 lambdas to nsIThread. r=froydnj 2015-04-10 08:13:00 -04:00
Kartikaya Gupta
4316447c8d Bug 1146349 - Allow NS_NewRunnableMethodWithArgs to take up to 8 arguments. r=froydnj 2015-04-14 11:36:35 -04:00
Kartikaya Gupta
c1e020c5a1 Back out cset 35cae02f1552 (bug 1152753) because it introduces a footgun. r=me 2015-04-10 12:13:55 -04:00
Kartikaya Gupta
c217ad2711 Bug 1152753 - Add a wrapper to be able to dispatch C++11 lambdas to nsIThread. r=froydnj 2015-04-10 08:13:00 -04:00
Ben Kelly
002e7a74f7 Bug 1142852 P1 Fix NS_NewNonOwningRunnableMethodWithArgs() so that it compiles. r=froydnj 2015-03-23 22:28:09 -04:00
Nathan Froyd
1412415890 Bug 1141692 - use an actual Atomic for nsThreadPoolNaming::mCounter; r=bsmedberg
Marking a variable as volatile is never the right thing to do when
dealing with threads.  Use real atomic accesses instead.
2015-03-10 14:41:45 -04:00
Gerald Squelart
8481811dd7 Bug 1131445 - variadic NS_NewRunnableMethodWithArgs with storage&passing argument type decorators. r=waldo 2015-03-01 18:12:00 +01:00
Ehsan Akhgari
a7f747ec15 Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -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 MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Ehsan Akhgari
26e53bebdb Bug 1114880 follow-up: Rename MOZ_{STRONG,WEAK}_REF to MOZ_{OWNING,NON_OWNING}_REF 2014-12-23 21:17:50 -05:00
Ehsan Akhgari
01f98afd7f Bug 1114983 - Use nsCOMPtr in nsRunnableMethodReceiver; r=froydnj 2014-12-23 17:30:55 -05:00
Chih-Kai (Patrick) Wang
67d4ec2066 Bug 970307: Part 1: Report status of each thread to find when all the threads are idle. r=nfroyd 2014-12-18 17:00:39 +08:00
Ryan VanderMeulen
59b00f5e6f Backed out changesets 9beb53e53951, 4420bb4e5e7c, de1da65301a8, and cd9c2aaf1343 (bug 970307) for causing frequent B2G debug mochitest-11 crashes. 2014-11-24 17:18:27 -05:00
Patrick Wang (Chih-Kai Wang)
9e5e0761e3 Bug 970307: Part 1: Report status of each thread to find when all the threads are idle. r=nfroyd 2014-11-24 15:21:52 +08:00
Nicholas Nethercote
b35d1d1aa7 Bug 1058388 - Remove NS_COM_GLUE and IMETHOD_VISIBILITY. r=bsmedberg. 2014-08-27 15:47:27 -07:00
Birunthan Mohanathas
da27cbd66f Bug 1046841 - Fix more style violations in previously touched .h files in xpcom/. r=froydnj 2014-08-25 12:17:24 -07:00
Blake Kaplan
2c75c8fde5 Bug 1041881 - Don't take template parameters by value to avoid accidentally constructing objects. r=khuey 2014-07-29 14:46:16 -04:00
Ehsan Akhgari
c60f82c778 Bug 1045065 - Fix some bad implicit constructors in xpcom; r=froydnj 2014-07-28 13:19:06 -04:00
Benoit Jacob
74fee105cf Bug 1033358 - Make NS_IsMainThread use its own TLS so it's always correct, from early init to exit time - r=bsmedberg 2014-07-04 06:34:15 -04:00
Ryan VanderMeulen
094b628a0f Backed out 10 changesets (bug 1033358, bug 774388, bug 1028383) for causing frequent shutdown crashes on a CLOSED TREE.
Backed out changeset a54b05c9e4a1 (bug 1028383)
Backed out changeset 37985f79e0c2 (bug 774388)
Backed out changeset d07521729077 (bug 774388)
Backed out changeset 9f14b17f358c (bug 774388)
Backed out changeset 2d347d6aa9bc (bug 774388)
Backed out changeset 99581dfb5ec4 (bug 774388)
Backed out changeset 2532e22d6135 (bug 774388)
Backed out changeset 719844108f1a (bug 774388)
Backed out changeset 7829c78348a4 (bug 1033358)
Backed out changeset c571df9a85de (bug 1033358)
2014-07-03 20:37:05 -04:00
Benoit Jacob
00469e4ac1 Bug 1033358 - Make NS_IsMainThread use its own TLS so it's always correct, from early init to exit time - r=bsmedberg 2014-07-03 14:53:24 -04:00
Birunthan Mohanathas
8a4a4c8465 Bug 1022456 - Fix modelines in xpcom/{base,glue,io,string,threads}/. r=froydnj 2014-06-30 08:39:45 -07:00
Birunthan Mohanathas
ce774b1fa6 Bug 1022456 - Convert xpcom/glue/ to Gecko style. r=froydnj 2014-06-26 18:35:39 -07:00
Robert O'Callahan
efda4ce48e Bug 1015664. Part 3: Remove NS_HIDDEN_VISIBILITY from NS_IMETHOD_VISIBILITY. r=bsmedberg 2014-06-03 00:08:27 +12:00
Randell Jesup
7b3fc23362 Bug 997286: Make NS_NewNamedThread safe if the event tries to commit suicide r=bsmedberg 2014-04-16 16:39:16 -04:00
Benjamin Smedberg
29d63f056d Bug 672843 part C - convert most of XPCOM except for xpcom/tests, r=vdjeric 2013-11-19 16:27:37 -05:00
Benoit Jacob
75458a43d4 Bug 913847 - split NS_IsMainThread and NS_GetMainThread into a new MainThreadUtils.h header - r=ehsan 2013-09-19 09:54:41 -04:00
Wes Kocher
a3f9a4d39e Backed out changeset 4eb44a3149ed (bug 913847) 2013-09-18 17:19:23 -07:00
Benoit Jacob
669a525218 Bug 913847 - split NS_IsMainThread and NS_GetMainThread into a new MainThreadUtils.h header - r=ehsan 2013-09-18 18:50:32 -04:00
Valentin Gosu
9d91a69310 Bug 622728 - Add NS_NewRunnableMethodWithArg. r=bsmedberg 2013-09-06 21:29:24 -04:00
Karl Tomlinson
60b6911029 b=903270 set thread name for initial event of NS_NewNamedThread() r=dougt 2013-08-27 12:36:45 +12:00
Nicholas Cameron
9f8c0bae70 Bug 903816. Fixups in non-layers files. r=roc 2013-08-12 11:15:10 +12:00
Ehsan Akhgari
1ab9c7bcb4 Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:

# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type

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 "*.cc" \
         -o -iname "*.mm" \) | \
    xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
                   media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
                   modules/libmar/src/mar_private.h \
                   modules/libmar/src/mar.h


# assert_replacer.py
#!/usr/bin/python

import sys
import re

pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")

def replaceInPlace(fname):
  print fname
  f = open(fname, "rw+")
  lines = f.readlines()
  for i in range(0, len(lines)):
    while True:
      index = re.search(pattern, lines[i])
      if index != None:
        index = index.start()
        lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
        for j in range(i + 1, len(lines)):
          if lines[j].find("                 ", index) == index:
            lines[j] = lines[j][0:index] + lines[j][index+4:]
          else:
            break
      else:
        break
  f.seek(0, 0)
  f.truncate()
  f.write("".join(lines))
  f.close()

argc = len(sys.argv)
for i in range(1, argc):
  replaceInPlace(sys.argv[i])
2013-07-18 13:59:53 -04:00
Christian Holler
72872102d0 Bug 895845 - Temporary ASan workaround in NS_IsMainThread. r=mccr8 2013-07-27 01:37:19 +02:00
Joshua Cranmer
1c073a2540 Bug 884061 - Part 3y: Use NS_DECL_THREADSAFE_ISUPPORTS in xpcom/, r=bsmedberg 2013-07-18 21:31:26 -05:00
Benoit Girard
7a3a6fb1f1 Bug 838803 - Remove HAVE_STDCALL to work around clang bug. r=glandium 2013-07-16 22:01:50 -04:00
Joshua Cranmer
fe3ef7a675 Bug 856108 - Port static analyses to clang, part 2f: use MOZ_STACK_CLASS in xpcom. r=bsmedberg 2013-04-11 22:21:40 -05:00
Mike Hommey
6f93e3a983 Bug 852950 - Kill libxpcom. r=bsmedberg
Also refactored the xpcom standalone glue to reside in a single file and
removed its use of realpath().
2013-03-20 14:56:41 +01:00
Mike Hommey
a67b57876f Backout changeset f12e5c87adf6 (bug 852950) because it breaks running from dist/bin 2013-03-20 23:59:45 +01:00