Commit Graph

85 Commits

Author SHA1 Message Date
Robert O'Callahan
8ca63f18ef Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Justin Lebar
cab87a0cce Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else

This is a mechanical change made with sed.  Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Joshua Cranmer
ce365a42ff Bug 856108 - Port static analyses to clang, part 2a: use MOZ_STACK_CLASS in content. r=bz 2013-04-11 22:20:09 -05:00
matekm
b83d2641b1 Bug 784739 - Switch from NULL to nullptr in content/; r=ehsan
--HG--
extra : rebase_source : cfdb682506acc14ec811e21ae42f067950e1ff0c
2013-04-02 21:14:24 -04:00
David Zbarsky
3dbafb9767 Bug 846908 - Move functions from nsISMILAnimationElement to SVGAnimationElement r=birtles 2013-03-18 23:18:45 -04:00
Mats Palmgren
d5826be6d7 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Jeff Walden
e0523203c9 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Kyle Huey
1ccfbe810b Bug 760331: Coalesce data for inline style across nodes. r=bz
This patch enables sharing of an nsAttrValue's MiscContainer between nodes for style rules.  MiscContainers of type eCSSStyleRule are now refcounted (with some clever struct packing to ensure that the amount of memory allocated for MiscContainer remains unchanged on 32 and 64 bit).  This infrastructure can be used to share most MiscContainer types in the future if we find advantages to sharing other types than just eCSSStyleRuley.  A cache mapping strings to MiscContainers has been added to nsHTMLCSSStyleSheet.  MiscContainers can be shared between nsAttrValues when one nsAttrValue is SetTo another nsAttrValue or when there is a cache hit in this cache.  This patch also adds the ability to tell a style rule that it belongs to an nsHTMLCSSStyleSheet, with appropriate accessor functions to separate that from the existing case of belonging to an nsCSSStyleSheet.

The primary use case is to reduce memory use for pages that have lots of inline style attributes with the same value.  This can happen easily with large pages that are automatically generated.  An (admittedly pathological) testcase in Bug 686975 sees over 250 MB of memory savings with this change.  Reusing the same MiscContainer for multiple nodes saves the overhead of maintaining separate copies of the string containing the serialized value of the style attribute and of creating separate style rules for each node.  Eliminating duplicate style rules enables further savings in layout through style context sharing.  The testcase sees the amount of memory used by style contexts go from over 250 MB to 10 KB.

Because the cache is based on the text value of the style attribute, it will not handle attributes that have different text values but are parsed into identical style rules.  We also do not attempt to share MiscContainers when the node's base URI differs from the document URI.  The effect of these limitations is expected to be low.
2012-09-30 09:40:24 -07:00
Isaac Aggrey
a53c93b026 Bug 795351: Replace LL_MAXINT, LL_MININT, LL_MAXUINT with stdint versions; r=ehsan 2012-09-28 14:55:23 -05:00
Isaac Aggrey
84680bfb39 Bug 789847 - Remove PR_CALLBACK usage from tree 2012-09-25 11:18:38 -05:00
Ehsan Akhgari
8c296bbcd4 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
57c0ad57fb Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Rafael Ávila de Espíndola
1cfc592a31 Bug 774028 - Fix variable declaration. r=dholbert. 2012-07-15 00:12:53 -04:00
Brian Birtles
917037a94e Bug 752902 - Call Unlink before clearing time value specs; r=dholbert 2012-05-23 08:21:23 +09:00
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Brian Birtles
b9f83ac5c5 Bug 512525 - Implement SVG Fragment Identifier parsing and animation hyperlinking - Part 1 infrastructure to support hyperlinking. r=dholbert 2012-05-17 10:56:57 +01:00
Nicholas Nethercote
ba5600fd65 Bug 711895 - Tweak the warning options used for GCC builds (3rd attempt). r=waldo,derf,khuey,mhommey.
--HG--
extra : rebase_source : 20540c9b838ee3be6cb0847c1b90fdc3bd44059d
2012-03-21 22:21:16 -07:00
Nicholas Nethercote
256772d52e Backed out changeset 0124795a8cbb (bug 711895) due to i10n build bustage. r=me. 2012-03-21 21:46:27 -07:00
Nicholas Nethercote
1859bc3ea6 Bug 711895 - Tweak the warning options used for GCC builds (2nd attempt). r=waldo,derf,khuey,mhommey,jwatt. 2012-03-15 19:40:00 -07:00
Rafael Ávila de Espíndola
ec2d4903e9 Bug 723534 - Remove dead default cases. r=ehsan. 2012-02-24 08:36:53 -05:00
Brian Birtles
51354a911b Bug 705236 part 1 - Allow trailing separator in SMIL values list; r=dholbert 2012-02-24 09:45:40 +09:00
Brian Birtles
878a0b9023 Bug 720103 - Detect and break create-delete cycles in SMIL timegraphs; r=dholbert 2012-02-02 08:58:58 +09:00
Brian Birtles
da0e7068e0 Bug 720103 - Pass timed element not interval to notify new interval callback; r=dholbert 2012-01-31 09:54:10 +09:00
Matt Brubeck
d742cbe60a Back out da3319e4987c (bug 704482) because of test_smilAccessKey.xhtml failure 2011-11-23 19:02:43 -08:00
Daniel Holbert
38fb982b29 Bug 704482: Reject 'accessKey' time specifications in SVG animation elements when scripting is disabled. r=birtles r=roc 2011-11-23 17:49:26 -08:00
Brian Birtles
d151d32ec2 Bug 691337 - Detect integer overflow when creating instance times; r=longsonr 2011-11-16 08:56:32 +13:00
Brian Birtles
0de65659eb Bug 697640 - Ignore self-dependent end instance times when determining if an open-ended interval is ok; r=dholbert 2011-11-14 16:58:30 +13:00
Brian Birtles
7710c0c97d Bug 690994 - Check for self-dependent times when there are coincident zero-duration intervals; r=dholbert 2011-11-14 16:58:30 +13:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Brian Birtles
a819b6b88c Bug 682184 part 2 - Add nsSMILTimeValue::IsResolved; r=dholbert 2011-09-07 09:20:40 +09:00
Brian Birtles
08eeeda336 Bug 682184 part 1 - Rename nsSMILTimeValue::IsResolved to IsDefinite; r=dholbert 2011-09-07 09:20:40 +09:00
Ehsan Akhgari
78f4e1ccb9 Revert to 176fae7de173 which was fine.
Sorry for breaking the history, won't trust TBPL, ever again. :(
2011-09-02 09:15:54 -04:00
Ehsan Akhgari
a171549936 Revert to changeset e6fc4594c22e which was the last one to get a green Win7 tp run 2011-09-02 09:03:08 -04:00
Brian Birtles
cfb3ac26f3 Bug 678938 - SMIL: Make sure current interval is properly cleared when doing a rewind; r=dholbert 2011-09-02 08:15:44 +09:00
Brian Birtles
2be626a78f Bug 678847 part 2 - SMIL: Fix recursion with self-referential end conditions on open intervals; r=dholbert 2011-09-02 08:14:58 +09:00
Brian Birtles
c05de232af Bug 670313 - Check range of instance time values when they are passed in; r=dholbert 2011-07-25 10:46:08 -07:00
Brian Birtles
dd63118982 Bug 669225 part 7 - Mark stack classes as such; r=dholbert 2011-07-25 10:46:04 -07:00
Brian Birtles
0a4ca726ca Bug 669225 part 6 - Break dependencies sooner on unlink; r=dholbert 2011-07-25 10:45:49 -07:00
Brian Birtles
ac3e371931 Bug 669225 part 5 - Make sure other removal functors don't remove instance times that should be preserved; r=dholbert 2011-07-25 10:45:29 -07:00
Brian Birtles
e94f86fd06 Bug 669225 part 4 - Make sure filtering of instance times doesn't remove the previous interval's end time; r=dholbert 2011-07-25 10:45:03 -07:00
Brian Birtles
5fc127fdbc Bug 669225 part 3 - Add assertion to catch potentially problematic instance time deletion; r=dholbert 2011-07-25 10:44:58 -07:00
Brian Birtles
a9772f3991 Bug 669225 part 2 - Preserve instance times that belong to intervals; r=dholbert 2011-07-25 10:44:54 -07:00
Brian Birtles
5c758ce335 Bug 669234 - Use AutoRestore to manage depth recursion tracking in nsSMILTimedElement, r=dholbert 2011-07-15 11:17:15 +09:00
Brian Birtles
e5b308da49 Bug 665334 part 3 - Don't remove instance times used as fixed interval endpoints, r=dholbert 2011-07-02 12:37:56 +09:00
Brian Birtles
dbea318c75 Bug 665334 part 2 - Add fallback to detect infinite recursion when updating the interval and bail out, r=dholbert 2011-07-02 12:37:47 +09:00
Brian Birtles
3606b29e7b Bug 664343 - Batch updates to current interval, r=dholbert 2011-07-02 12:37:10 +09:00
Brian Birtles
1ffb9cb392 Bug 663288 - Don't allow instance times to be self-dependent, r=dholbert 2011-06-22 10:12:35 +09:00
Brian Birtles
df2767992e Bug 650732 - Move interval change notifications into the timed element, r=dholbert 2011-06-15 09:16:57 +09:00
Daniel Holbert
0ed416d521 Bug 604147: Make nsSMILTimedElement::GetNextInterval return PRBool instead of nsresult. r=birtles 2011-03-27 19:10:33 -04:00