This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
Android logging functions append newlines to all output. Layout debugging
(and perhaps other areas) relies on being able to print partial lines, making
its output almost unreadable. This change adds manual buffering between
newlines, making the output readable again.
Android logging functions append newlines to all output. Layout debugging
(and perhaps other areas) relies on being able to print partial lines, making
its output almost unreadable. This change adds manual buffering between
newlines, making the output readable again.
Generally, if you want a decltype(nullptr)-based overload, you should use SFINAE and IsNullPointer. (Examples are provided in NullPtr.h comments.) The problem is NullptrT matches far more than just __null as emulated nullptr for gcc 4.4/4.5 overloading purposes. This problem is unavoidable without true nullptr. Currently, the only valid use for NullptrT is believed to be in operator overloads. All existing nullptr-overloading code has been rewritten to use the appropriate technique for the situation, and MOZ_HAVE_CXX11_NULLPTR is no longer an API.
--HG--
extra : rebase_source : 01abfcb66ae569db7b04a7b53f5cd5fd8151bffd
For register-rich ABIs (e.g. x86-64 and ARM), QueryInterface's incoming
registers are going to look like:
arg register 1: |this|
arg register 2: the IID of interest
arg register 3: the outparam instance pointer
Most of our QI implementations call NS_TableDrivenQI, which expects
arguments like so:
arg register 1: |this|
arg register 2: the QITableEntry table
arg register 3: the IID of interest
arg register 4: the outparam instance pointer
So we're going to have to do a register shuffle of the IID and the
outparam to be able to load the QITableEntry pointer before calling into
NS_TableDrivenQI.
This patch reorders the argument list of NS_TableDrivenQI so that the
first three arguments match the order that QueryInterface receives them
in. Then your typical QueryInterface implementation becomes:
- load local |table|
- tail-call NS_TableDrivenQI
Eliminating the register shuffling reduces text size by 12K on an
Android ARM build.
ICC uses this to track objects that have been AddRef'd during ICC graph building.
For those objects, we may not have the proper information for them, so treat them
as live.
ICC uses this to track objects that have been AddRef'd during ICC graph building.
For those objects, we may not have the proper information for them, so treat them
as live.