Commit Graph

420 Commits

Author SHA1 Message Date
Benoit Girard
69db6d5c6f Bug 919712 - Add labels in IPC message wait. r=benjamin 2013-09-24 11:40:01 -04:00
Nathan Froyd
02047ceace Bug 909922 - don't pragma pack ipc message headers; r=bent
The IPC::Message header is surrounded by:

#pragma pack(push,2)
...
#pragma pack(pop)

which (at least on GCC) specifies that structure members defined lexically
within the pragma should be two-byte aligned, rather than the ABI's declared
alignment.

But for IPC::Message::Header, this is a silly requirement, as everything there
is four bytes; there's no reason to pack the members any tighter.  And packing
tighter means that strict alignment platforms (like ARM) need to use more
complex code for something as simple as storing to one of the members--like
when we set a message's request ID, over and over and over.  The current code
for setting a message's request ID on ARM looks like:

     264:	6863      	ldr	r3, [r4, #4]
     266:	696a      	ldr	r2, [r5, #20]
     268:	809a      	strh	r2, [r3, #4]
     26a:	0c12      	lsrs	r2, r2, #16
     26c:	80da      	strh	r2, [r3, #6]

With the patch, it looks like:

     264:	6863      	ldr	r3, [r4, #4]
     266:	696a      	ldr	r2, [r5, #20]
     268:	605a      	str	r2, [r3, #4]

Only four bytes, but multiplied over several hundred set_routing_id calls, it
saves some code size and runtime.  I verified that the header's length doesn't
change by looking at debug information.
2013-08-27 16:32:44 -04:00
Jed Davis
9c9b491acd Bug 915129 - Don't link in epoll_sub.c from libevent on Android or B2G. r=bent 2013-09-12 11:08:50 -04:00
Ms2ger
e906ac3347 Bug 913953 - Part ab: Remove unused WriteInto function; r=ehsan 2013-09-10 09:03:37 +02:00
Ms2ger
dc24d8f2ff Bug 913953 - Part aa: Remove unused GetNonClientMetrics function; r=ehsan 2013-09-10 09:03:37 +02:00
Ms2ger
e8d8c2aa6d Bug 913953 - Part z: Remove unused GetServicePackLevel function; r=ehsan 2013-09-10 09:03:37 +02:00
Ms2ger
7fb65df9c9 Bug 913953 - Part y: Remove unused AddAccessToKernelObject function; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
16f094bb2c Bug 913953 - Part x: Remove unused GetUserSidString function; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
690f84e910 Bug 913953 - Part w: Remove unused GetLogonSessionOnlyDACL function; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
3999ae8ff5 Bug 913953 - Part v: Remove unused HWND subclassing functions; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
e9da5f76c4 Bug 913953 - Part u: Remove unused HWND user data functions; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
6c0f427056 Bug 913953 - Part t: Remove unused HWND creation/destruction functions; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
900116ed13 Bug 913953 - Part s: Remove unused UserAccountControlIsEnabled function; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
b964864401 Bug 913953 - Part r: Remove unused GetClassName function; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
7548a1d1d8 Bug 913953 - Part q: Remove unused MatchPattern function; r=ehsan 2013-09-10 09:03:35 +02:00
Ms2ger
0ac200bac6 Bug 913953 - Part p: Remove unused GetPagefileUsage function; r=ehsan 2013-09-10 09:03:35 +02:00
Ms2ger
92929d4b97 Bug 913953 - Part o: Remove unused GetPeakPagefileUsage function; r=ehsan 2013-09-10 09:03:35 +02:00
Ms2ger
b7ec9eec8a Bug 913953 - Part n: Remove unused GetWorkingSetSize function; r=ehsan 2013-09-10 09:03:35 +02:00
Ms2ger
7e687688ca Bug 913953 - Part m: Remove unused GetPrivateBytes function; r=ehsan 2013-09-10 09:03:35 +02:00
Ms2ger
6671124154 Bug 913953 - Part l: Remove unused FreeMBytes struct; r=ehsan 2013-09-10 09:03:34 +02:00
Ms2ger
b603b8815d Bug 913953 - Part k: Remove unused GetCommittedKBytes function; r=ehsan 2013-09-10 09:03:34 +02:00
Ms2ger
8bf3c09c84 Bug 913953 - Part j: Remove unused GetWorkingSetKBytes function; r=ehsan 2013-09-10 09:03:34 +02:00
Ms2ger
b5d8596fbf Bug 913953 - Part i: Remove unused ReduceWorkingSet and UnReduceWorkingSet functions; r=ehsan 2013-09-10 09:03:34 +02:00
Ms2ger
91917950e4 Bug 913953 - Part h: Remove unused WaitForExitCode and GetAppOutput functions; r=ehsan 2013-09-10 09:03:33 +02:00
Ms2ger
e0827d9a59 Bug 913953 - Part g: Remove unused GetProcessCount function; r=ehsan 2013-09-10 09:03:33 +02:00
Ms2ger
2ada555d48 Bug 913953 - Part f: Remove unused process cleanup code; r=ehsan 2013-09-10 09:03:33 +02:00
Ms2ger
171ef55b44 Bug 913953 - Part e: Remove unused conversion code from CFStringRef and NSString; r=ehsan 2013-09-10 09:03:32 +02:00
Ms2ger
0efa453cb9 Bug 913953 - Part d: Remove unused conversion code to CFStringRef and NSString; r=ehsan 2013-09-10 09:03:31 +02:00
Ms2ger
078b7cbfe8 Bug 913953 - Part c: Remove unused FSRef code; r=ehsan 2013-09-10 09:03:31 +02:00
Ms2ger
0822e2b2c1 Bug 913953 - Part b: Remove unused override app bundle code; r=ehsan 2013-09-10 09:03:31 +02:00
Ms2ger
1ee2273887 Bug 913953 - Part a: Remove unused JavascriptDoubleQuote functions; r=ehsan 2013-09-10 09:03:31 +02:00
Ms2ger
0c117c4c91 Bug 909028 - Remove dead chromium code; r=ehsan, rs=bent 2013-09-06 08:42:41 +02:00
Mike Hommey
05b3f24e0e Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Jeff Walden
c5dd957eae Bug 730805 - Provide mozilla/IntegerPrintfMacros.h to implement the PRI* macros portion of the <inttypes.h> interface. r=espindola
--HG--
extra : rebase_source : be80333003c6fec659e736a77463568c836d8348
2011-12-15 00:27:42 -05:00
Landry Breuil
7878ff7e42 Bug 909005: use getdents() on OpenBSD now that it is available r=glandium 2013-09-02 08:54:42 +02:00
Brian O'Keefe
0ee041b9fd Bug 875934 - Move LIBRARY_NAME to moz.build, batch 3; r=mshal 2013-08-15 09:02:09 -04:00
Steven Michaud
c234b2299d Bug 884471 - Backport upstream libevent patch to hopefully work around the OSX "code -20" mochitest failures. r=bsmedberg 2013-08-27 14:15:49 -04:00
Ms2ger
8085d723ed Bug 883284 - Part d: Move LIBXUL_LIBRARY into moz.build (f-j); r=bsmedberg 2013-08-22 08:56:00 +02:00
Trevor Saunders
86d20580f1 bug 905410 - remove most remaining usage of nspr atomics outside of xpcom/ r=ehsan 2013-08-12 05:51:49 -04:00
Brian O'Keefe
08e5de443f Bug 896177 - Remove more config.mk includes; r=gps 2013-07-17 16:07:14 -04:00
Ms2ger
3d504dcb66 Merge latest PGO-green inbounc changeset to m-c. 2013-08-14 14:45:47 +02:00
Ms2ger
c2315a28ab Bug 904110 - Move alignment features out of Util.h into a new header; r=Waldo 2013-08-14 09:00:52 +02:00
Nathan Froyd
0fec49cf62 Bug 904619 - move dummy event to its sole use in ipc_sync_message.cc; r=bent 2013-08-13 10:56:44 -04:00
Mike Hommey
56bd92278e Bug 901414 - Fix ipc/chromium to build for GNU/kFreeBSD. r=bsmedberg 2013-08-10 15:54:00 +09:00
Ehsan Akhgari
085494b95d 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])

--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Ehsan Akhgari
3717325909 Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted 2013-07-30 10:25:31 -04:00
Joshua Cranmer
bb26e8f816 Bug 884061 - Part 4: Remove nsAtomicRefcnt.h, r=jlebar
--HG--
extra : rebase_source : ce24ab345baa48104328e3c101b7266a31e81870
2013-07-11 15:21:45 -05:00
Justin Lebar
06bdc0dacd Bug 893242 - Part 1: Add Unsound_IsClosed() and Unsound_NumQueuedMessages() to AsyncChannel. r=bent 2013-07-17 14:31:10 -07:00
Brian O'Keefe
f98dd45a72 Bug 883502 - Part 1: Move 'chromium_config.mk' includes after rules.mk. r=gps 2013-07-04 08:28:43 -04:00
Trevor Saunders
238525e2d8 bug 887483 - remove a bunch of useless assignments to FORCE_STATIC_LIB implied by LIBXUL_LIBRARY=1 r=mshal 2013-07-11 11:06:34 -04:00