Граф коммитов

674 Коммитов

Автор SHA1 Сообщение Дата
David Anderson 7bdb79f9ac Generate template-friendly value readers for IPDL unions. (bug 1288259 part 1, r?=billm)
--HG--
extra : rebase_source : 7376052d8a50427ab64205246463917fbd0e0d61
2016-08-04 11:13:38 -07:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
David Anderson 6b2b817ec9 Add a callback for top-level actors to free themselves. (bug 1285364, r=billm)
--HG--
extra : rebase_source : 6954a2b34b521c886fba536cd7bedd5f30b94763
2016-07-13 11:21:58 -07:00
David Anderson e6a98dc91b Clean up Transport memory management in IPDL. (bug 1283744, r=billm) 2016-07-06 18:51:20 -07:00
Gabor Krizsanits 34e5765a00 Bug 1277614 - Guarding child iteration in DestroySubtree. r=wmccloskey 2016-06-22 13:21:48 +02:00
Cervantes Yu ce65905912 Bug 1268900 - Part 3: Test case for the IPDL keyword 'verify'. r=billm
MozReview-Commit-ID: KZeiDniAkoX
2016-06-22 17:52:07 +08:00
Cervantes Yu e4edd8f2c6 Bug 1268900 - Part 2: Code generation for the IPC message verifier. r=billm
MozReview-Commit-ID: 8mJ53UeuHWu
2016-06-22 17:51:49 +08:00
Cervantes Yu 1873f9d596 Bug 1268900 - Part 1: IPDL parser change for message verifier. r=billm
MozReview-Commit-ID: 4i9AiyP2AzN
2016-06-22 17:51:32 +08:00
Jonathan Watt b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Bill McCloskey 7dbc02ed0f Bug 1262671 - Use BufferList for Pickle (r=froydnj) 2016-05-27 09:57:41 -07:00
Bill McCloskey b7441af61a Bug 1262671 - IPC sentinel checking (r=froydnj) 2016-05-27 09:57:38 -07:00
Bill McCloskey 291c555f34 Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
Bill McCloskey f159cad060 Bug 1273312 - Add task.h to ipdl unit tests (r=khuey) 2016-05-27 09:57:36 -07:00
Nathan Froyd a5f42fc63a Bug 1262937 - part 8 - factor out array length deserialization errors; r=jld 2016-05-21 04:07:56 -04:00
Nathan Froyd 647562c2d2 Bug 1262937 - part 7 - factor out union type deserialization errors; r=jld 2016-05-21 04:07:56 -04:00
Nathan Froyd dfe775eb9f Bug 1262937 - part 6 - enable custom error message for ipdl.py's checkedRead; r=jld
To enable string sharing, we're going to have helpful functions that
take a small, distinguishable, sharable string and construct a more
complete error message out of that.  To do that easily with checkedRead,
we need to be able to pass custom parameters into the error function.
2016-05-21 04:07:56 -04:00
Nathan Froyd dcc74a62c9 Bug 1262937 - part 5 - factor out actor reading code to a common base class; r=jld
Actor reading from IPC message is codegen'd with a lot of repeated code.
We can improve that by moving the core actor reading code out of
subclasses into IProtocolmanager.  While we still need to codegen a bit
of code to cast the read actor to the proper type, the code overall is
smaller.  The lone downside is that if we do encounter an error reading
the actor id out of the message, the precision of our crash messages is
reduced somewhat: we no longer have the protocol name doing the reading,
nor do we get crash report annotations, since we can't tell whether
we're in the parent or child process.
2016-05-21 04:07:56 -04:00
Nathan Froyd 2b69fc29e3 Bug 1262937 - part 3 - move quoting out of checkedRead; r=jld
checkedRead is set up to single-quote whatever message is passed in.
This scheme works great for all existing messages, but it makes some
callsites a little surprising ("where's the matching quote?") and
doesn't work well with message changes to be made in future patches.
Let's move the quoting out to client code.
2016-05-21 04:07:56 -04:00
Nathan Froyd 99e5f4a2e6 Bug 1262937 - part 2 - don't include the message name when complaining about handler failure; r=jld
Similar to part 1, this change enables the strings passed to
ProtocolErrorBreakpoint to be collapsed into a single string, saving
~60K of read-only data (!).  This change does affect debuggability
slightly, but given that ProtocolErrorBreakpoint only tries to throw the
passed-in string to stderr, I don't think it's a huge deal.
2016-05-21 04:07:56 -04:00
Nathan Froyd 558d2f2756 Bug 1262937 - part 1 - don't include the protocol name in Clone error messages; r=jld
We have better ways of getting the protocol name at the point of the
error (e.g. backtraces).  Removing it means the error message can be
condensed to a single string by the compiler/linking, saving ~8k of
read-only data.
2016-05-21 04:07:56 -04:00
Bob Owen 2447fbb7fa Bug 1035125 Part 1: Back out changeset 1910714b56c6 and associated subsequent changes. r=bsmedberg
The original changeset that is being backed out had comment:
Bug 1023941 - Part 5: Loader hook to redirect the missing import.

The changes made in bug 1023941 were to work around the fact that with VS2013, msvcr120.dll imports kernel32!GetLogicalProcessorInformation, which is not available on Windows XP SP2.
In VS2015, the GetLogicalProcessorInformation requirement has moved into concrt140.dll (concurrency runtime), which we don't use.
So, now that our build infra is building with VS2015, we can remove the hooking and static runtime linking required to get the VS2013 fix to work.

In addition we need to do that to be able us to link the Chromium sandbox code into firefox.exe and get it to build and run with both VS2015 and VS2013.

MozReview-Commit-ID: 1tlXaYJ8dHH

--HG--
extra : rebase_source : 49b216e34fc5c77af96df1f67ee44c46d5368bfe
2016-05-15 16:23:56 +01:00
Chris Peterson 8a9e2d2bd4 Bug 1272513 - Part 2: Remove redundant -Wshadow CXXFLAGS from moz.build files. r=glandium 2016-05-14 00:54:55 -07:00
Jed Davis 7e91f65f43 Bug 1191452 - Limit IPDL-generated Move()s to Recv methods. r=billm
Specifically, it's important not to try to use Move() in the
Alloc+SendConstructor convenience method, because that Move()s the same
value twice (as discovered in bug 1186706), and neither callee
requires rvalue references in that case anyway.

This also removes the previous feature of calling makeCxxArgs with
params=0 to omit the message's input parameters, because it's not being
used and doesn't appear to have ever been used; it could be restored
(e.g., as paramsems=None) if needed.
2016-05-11 09:37:00 +02:00
Kyle Huey c1f8ae3c88 Bug 1268313: Fix up IPDL tests. r=billm 2016-05-09 11:00:31 -07:00
Kyle Huey b15d2f593c Bug 1266595: Followup to fix IPDL tests. r=billm
--HG--
extra : rebase_source : a0142b175ef1e0d46a6139dccdbdb8b7debda1c9
2016-05-03 22:36:50 -07:00
Andrew McCreight a1f8b0904f Bug 1269365, part 3 - Use infallible array allocation in implementSpecialArrayPickling. r=froydnj
As with part 2, this will turn some allocation failures during
deserialization from IPC FatalError crashes into OOM crashes.
2016-05-03 09:29:39 -07:00
Nicholas Nethercote 2511b2c327 Bug 1267550 (part 2) - Rename MOZ_WARN_UNUSED_RESULT as MOZ_MUST_USE. r=froydnj.
It's an annotation that is used a lot, and should be used even more, so a
shorter name is better.

MozReview-Commit-ID: 1VS4Dney4WX

--HG--
extra : rebase_source : b26919c1b0fcb32e5339adeef5be5becae6032cf
2016-04-27 14:16:50 +10:00
Andrea Marchesini a9b65ecfb0 Bug 1261094 - Improve how MessageChannel::mInterruptStack is used in IPC code, r=jld 2016-04-28 07:21:49 +08:00
Nathan Froyd 840ebe5f59 Bug 1264661 - remove EMIT_LOGGING_CODE constant from IPDL compiler; r=jld
It's not needed anymore (hasn't been for a while, apparently).
2016-04-14 14:58:17 -04:00
Nathan Froyd 8d0d4b9bbd Bug 1262463 - part 3 - out-of-line NS_RUNTIMEABORT calls in IPDL-generated code; r=jld
We do this for the same reasons outlined in part 1: calls to
NS_RUNTIMEABORT are rather large and we generate a lot of them (~1000
left after part 1).  This patch reduces .text size by ~20K on x86-64
Linux.
2016-04-06 10:53:06 -04:00
Nathan Froyd a21ccf2f8e Bug 1262463 - part 2 - don't pass the other process pid into FatalError; r=jld
We don't do anything with it in terms of error reporting, we pass in 0
in the child process, and if you're in a debugger, presumably you can
figure out the other process's PID yourself.
2016-04-06 10:31:21 -04:00
Nathan Froyd b8099db36d Bug 1262463 - part 1 - turn NS_RUNTIMEABORTs in protocols into FatalErrors; r=jld
NS_RUNTIMEABORT generates rather a lot of code, since we have to load up
five arguments, two of which are strings, and then call NS_DebugBreak.
Instead of doing this, let's just call each protocol's FatalError, which
only requires loading one string argument.  Each protocol's FatalError
calls mozilla::ipc::FatalError, which communicates exactly the same
information as the inlined NS_RUNTIMEABORT would (e.g. crash reporter
annotations), but at a significant code savings: this patch reduces
.text by ~80K on Linux x86-64.
2016-04-06 10:21:32 -04:00
Nathan Froyd 87311fb554 Bug 1262458 - rename {msg,reply}Class-related things to reflect new functional reality; r=jld
In bug 1259428, we changes a bunch of things that were previously
classes to refer to functions instead.  Jed suggested in bug 1259428
comment 10 that we might want to rename things to reflect the new world
order as a followup.  Consider it done.
2016-04-06 09:42:40 -04:00
Nathan Froyd 697425fd51 Bug 1259428 - part 6 - remove unneeded MessageDecl methods; r=jld
msgCast and replyCast were only used for the dodgy casts we removed in
part 2; the msgCxxType was only called by msgCast.
2016-03-28 11:43:54 -04:00
Nathan Froyd ebe8d01895 Bug 1259428 - part 5 - convert Message subclasses to constructor functions; r=jld
All we use our Message subclasses for nowadays is the constructor, so we
might as well strip the class away and just have functions that perform
the construction for us.  This change eliminates unnecessary vtables as
well as making the included headers somewhat smaller, which is always
nice.
2016-03-28 11:42:47 -04:00
Nathan Froyd 4d7242a2c4 Bug 1259428 - part 4 - remove prtime.h from generated protocol headers; r=jld
This include was only needed for PR_Now(), which is no longer called by
the headers.
2016-03-25 18:27:11 -04:00
Nathan Froyd 9cbbaad4ad Bug 1259428 - part 3 - remove Log() methods from generated message subclasses; r=jld
These are no longer called by anything.  The generated Message
subclasses now have no behavior of their own, and can be removed in
subsequent patches.
2016-03-25 17:09:41 -04:00
Nathan Froyd 4a4de50da7 Bug 1259428 - part 2 - remove dodgy static_cast downcasts from logging statements; r=jld
Various bits of IPDL code would do something like:

  Message* m = ...;
  if (m.type() == particular message type) {
    static_cast<ParticularMessageType*>(m)->name();
  }

The static_cast is a remnant of having to do the downcast to access the
Log() method on the concrete subclass.  Since name() is defined on
Message, there's no need for these casts anymore, so let's remove them.
2016-03-25 17:07:26 -04:00
Nathan Froyd 63fe89bd2e Bug 1259428 - part 1 - don't call Log methods of generated method classes; r=jld
The first step to eliminating all the generated Message subclasses the
IPDL compiler spits out is to move the functionality of their Log
methods someplace else.  In addition to eliminating the need for the Log
methods, this change has the welcome effect of moving a bunch of code
that would be generated hundreds of times into a single place, which
should reduce code size a bit (debug builds only).  We don't actually
remove the generation of the Log methods; that change will be done for a
future patch.
2016-03-25 17:02:38 -04:00
Aaron Klotz 1a8c9407a8 Bug 1254373: Make TestDemon build on Windows; r=billm
MozReview-Commit-ID: GtgAVfDYhtk

--HG--
extra : rebase_source : 64c1bc26fa4501742c51edc8296837ef6b6590d1
2016-03-10 17:32:16 -07:00
Bill McCloskey b70d78b809 Bug 1248750 - Eliminate intentional IPC crashes (r=dvander) 2016-03-06 14:38:07 -08:00
Bill McCloskey f8784ed28b Back out bug 1248750 on a CLOSED TREE 2016-03-04 16:04:41 -08:00
Bill McCloskey 816b25e191 Bug 1248750 - Eliminate intentional IPC crashes (r=dvander) 2016-03-04 14:51:08 -08:00
Bill McCloskey 70bb5a0c46 Bug 1240985 - IPC fuzzer (r=gabor) 2016-03-04 14:51:08 -08:00
Lee Salzman f5674ca6c2 Bug 1245241 - part 3 - remove unused AdoptShmem from IPDL. r=billm 2016-02-18 10:56:15 -05:00
Lee Salzman d4c87aeb45 Bug 1245241 - part 2 - remove TYPE_SYSV Shmems from IPDL. r=billm 2016-02-18 10:56:15 -05:00
Bill McCloskey c08caf0331 Bug 1210099 - Use diagnostic assert for union discriminator checks (r=jld) 2016-02-04 22:30:06 -08:00
Nicolas Silva cd021cdc29 Bug 1208226 - Don't crash when failing to map a segment of shared memory. r=sotaro, billm 2016-02-01 16:11:00 +01:00
Bill McCloskey c663839ade Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
Nicholas Nethercote 26360d6c45 Bug 1239864 (part 9) - Use the new rect iterators in layout/ and ipc/. r=dholbert.
--HG--
extra : rebase_source : d5558c39bd3cfe85ee6f247eea8bab33f2f5027f
2016-01-18 17:20:59 -08:00