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

279 Коммитов

Автор SHA1 Сообщение Дата
Jeff Walden f915a6ceec Bug 847480 - Convert DeprecatedAbs overloads taking floating point (except for nscoord uses, when nscoord is optionally a floating point type) to Abs. r=Ms2ger 2013-03-05 15:43:44 -08:00
Jeff Walden c3efd262c7 Bug 847480 - Make mozilla::Abs return the unsigned type, for the integral types. r=bjacob 2013-03-05 15:43:38 -08:00
Jeff Walden cb19ca39bd Bug 847480 - Copy the existing mozilla::Abs as mozilla::DeprecatedAbs, to allow mozilla::Abs to return an unsigned type when possible. r=Ms2ger 2013-03-05 15:43:23 -08:00
Benoit Jacob cbd3607515 Bug 849667 - Fix/simplify CheckedInt's use-outside-of-MFBT setup - r=Waldo 2013-03-12 15:40:29 -04:00
Jeff Walden 36bb5830c0 Bug 849666 - Make CheckedInt<T>::operator-() not depend on undefined behavior when negating minimum signed values, and add a test for this. Patch is something of a tag-team effort by bjacob and me. r=bjacob 2013-03-11 18:45:22 -07:00
Jeff Walden f22ad604ac Bug 847521 - Allow CheckedInt<signed char> in addition to char/unsigned char. char != signed char (but is guaranteed to have the same representation as either signed char or unsigned char, for backwards-compatibility reasons), so we have to handle signed char as a third character type. r=bjacob
--HG--
rename : content/html/content/src/HTMLObjectElement.h => content/html/content/src/HTMLObjectElement.cpp
extra : rebase_source : d07d72b78fcbae31483d726703b3605561295684
2013-03-01 21:49:25 -08:00
Jeff Walden 1871e9f3f8 Bug 835542 - Implement mozilla::Abs. r=Ms2ger
--HG--
extra : rebase_source : a3e62ff76365d27cc4cb10e4fee942ddb8b10b79
2013-02-15 19:55:36 -08:00
Jeff Walden 793d063229 Bug 835542 - Add an IntegralConstant helper to TypeTraits.h, and use it where the spec says we should be using it. r=bjacob
--HG--
extra : rebase_source : a1272a85489771ce1cbe5c3aaa678b5b04b49226
2012-12-16 18:20:17 -05:00
Gregory Szorc 282edab58a Bug 784841 - Part 18c: Convert /memory, /mfbt, /mozglue; r=ted f=Ms2ger 2013-02-25 12:47:17 -08:00
Nicholas Nethercote d4951cc6b8 Bug 563195: Avoid triggering -Wshadow warnings in mfbt/. r=Waldo 2013-02-17 22:56:32 -08:00
Christian Holler 8080e238c0 Bug 838557 - Create a common interface for ASan/Valgrind functions. r=mats,bhackett 2013-02-15 00:50:11 +01:00
Rafael Ávila de Espíndola a8f5bd4bfb Bug 839338 - ASan alloc/dealloc mismatch in _M_create_nodes/_M_destroy_nodes. r=waldo. 2013-02-12 08:30:16 -05:00
Christian Holler 3e91e9050d No bug - Include missing header in mfbt/ASan.h. r=me 2013-02-10 13:11:04 +01:00
Jeff Walden 39b56d89e1 Rename the |static const bool result| member of IsSame, IsPod, and IsPointer to |value| to be consistent with every other type trait. I have no idea how I managed to consistently not notice this during review. Followup to bug 723228, r=typo 2013-02-08 22:59:54 -08:00
Razvan Cojocaru c8372e3fae Bug 723228 - nsTArray::AssignRange should use memcpy when possible. r=jlebar for the XPCOM changes, r=jwalden for js/mfbt changes
--HG--
extra : rebase_source : 2442a0d29ae0fa7edd0312d980cbc270a4f33134
2013-02-08 13:18:49 -08:00
Christian Holler 27cd3a543c Bug 838150 - Add ASan and Valgrind annotations to JS LifoAlloc. r=bhackett 2013-02-06 14:30:01 +01:00
Nicholas Cameron c08ac751c5 Bug 837297; change RefCounted::dead to a define; r=waldo 2013-02-05 16:53:57 +13:00
Chris Peterson e171e76319 Bug 833254 - Fix MFBT's gcc version checks. r=waldo 2013-01-21 19:42:15 -08:00
Jeff Walden d6e63dc265 Bug 836438 - Always implement nsresult using an unsigned 32-bit integer type. r=ehsan
--HG--
extra : rebase_source : f9d9d7772decee36a27ef09eb018b9912bf7bf6b
2013-01-30 15:32:44 -08:00
Mike Hommey 66cbfc73f8 Bug 834769 - Change the "destroyed" state value for RefCounted. r=Waldo 2013-01-29 09:35:16 +01:00
Jeff Walden be633156a5 Bug 835648 - Move typed enum support to a new header. r=Ms2ger 2013-01-28 16:33:17 -08:00
Ryan VanderMeulen 11e2a8437f Backed out changeset 3eb633a97c1f (bug 835648) for suspected Windows orange on a CLOSED TREE. 2013-01-29 19:01:45 -05:00
Jeff Walden 88df194b4b Bug 835648 - Move typed enum support to a new header. r=Ms2ger
--HG--
extra : rebase_source : 8c912fba889c1c5435e3619714071502fbfb30a3
2013-01-28 16:33:17 -08:00
Mike Hommey 17103848ed Backout changeset bc2bbe9836c7 (bug 834769) for bustage. 2013-01-29 09:49:16 +01:00
Mike Hommey 19f90e4909 Bug 834769 - Change the "destroyed" state value for RefCounted. r=Waldo 2013-01-29 09:35:16 +01:00
Chris Peterson 434446ef94 Bug 831633 - Back out 1c7bdeefa8ee (bug 830315) for introducing hundreds of non-virtual dtor warnings. r=waldo 2013-01-24 22:59:46 -08:00
Mounir Lamouri 11e3166982 Bug 828472 - Introduce AutoJSContext and SafeAutoJSContext helpers and use them for date handling in nsHTMLInputElement. f=bz r=bholley 2013-01-21 12:38:54 +00:00
Matt Woodrow c9a3aab989 Bug 822906 - Add SplayTree to mfbt. r=waldo 2013-01-16 12:12:05 +13:00
Chris Peterson 5c5f92058c Bug 785918 - Part 2: Add MOZ_HAVE_CXX11_CONSTEXPR check and constexpr version of ArrayLength(). r=waldo
--HG--
extra : rebase_source : e826347bfdedc949614c9cca294858b7150dfda1
2013-01-07 23:29:00 -08:00
Mike Hommey 9609697ceb Bug 830315 - Don't enable MOZ_FINAL and MOZ_DELETE on clang unless compiling as C++11. r=Waldo 2013-01-15 10:12:49 +01:00
Ehsan Akhgari c9399f56f0 Rewrite RangedPtr's constructor accepting a C-style array in C++, no bug, rs=Waldo
This will let the compiler correctly deduce N without making the
caller explicitly pass it in.
2013-01-14 19:48:42 -05:00
Terrence Cole b9cfbdf893 Bug 811060 - Implement mozilla::Range; r=Waldo
--HG--
extra : rebase_source : a303294de705fca72eb31f7b5c7db787d0bc7260
2012-11-12 16:37:33 -08:00
Chris Peterson 9bb826d9ee Bug 785918 - Part 1: Replace PR_ARRAY_SIZE() with mozilla::ArrayLength() and MOZ_ARRAY_LENGTH(). r=ehsan 2013-01-05 23:37:25 -08:00
Terrence Cole c3325c6297 Bug 799252 - Remove SkipRoots in jsstr.cpp; r=Waldo 2012-10-16 16:30:02 -07:00
Chris Peterson 1e64862110 Bug 826144 - Add MOZ_UTF16_HELPER() intermediary macro to handle UTF-16 stringification and concatenation correctly. r=waldo
--HG--
extra : rebase_source : 4c68df10e6e59af34db1e325232d4671492cc72f
2013-01-02 14:49:09 -08:00
Masatoshi Kimura 1357e36e62 Bug 823917 - Use C++11 final on MSVC11. r=waldo 2013-01-03 04:47:26 +09:00
Chris Peterson 80f6158ae1 Bug 796948 - Create Char16.h header file for char16_t type. r=waldo 2012-12-12 00:34:20 -08:00
Trevor Saunders 801c9b79ba bug 822717 - remove checks for old gcc r=glandium 2012-12-18 13:22:28 -05:00
Jeff Walden 190a1a2986 Bug 756709 - Make ThreadLocal::set crash on failure (which really can only happen if per-thread memory for the TLS entry couldn't be allocated, which should be really rare). r=Ms2ger
--HG--
extra : rebase_source : ecda463195c9b67ef6b7d02ef32ed0aa56bc11bc
2012-12-17 15:40:50 -05:00
Jeff Muizelaar a4467e34c9 Bug 821804 - Allow unitialized WeakPtrs to work properly. r=Waldo
This ensures that the WeakPtr always points at a valid object and avoids the
need to test for that during operations.
2012-12-18 11:37:14 -05:00
Jeff Walden 120886ca73 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
Chris Peterson 18d04422ca Bug 818941 - Fix misspelling of __GXX_EXPERIMENTAL_CXX0X__ macro. r=ehsan 2012-12-06 00:05:26 -08:00
Brian Smith b4d60d3f56 Bug 812531: Make MOZ_TYPE_SPECIFIC_SCOPED_POINTER_TEMPLATE comply with two-phase template name lookup rules, as clang requires, r=khuey
--HG--
extra : rebase_source : 5c4c8c0ff4f2dfcb4d83e63376036a5bf45ab0ab
2012-11-15 17:02:11 -08:00
Kyle Huey 83feb11ffb Bug 812824: Use a clean struct for inheritance on root nodes. r=dbaron,Waldo 2012-11-28 13:21:36 -08:00
Anthony Jones 6f5946f59f Bug 793013 - Add EnumSet to replace 1 << n bit type bitfields. r=Waldo 2012-11-06 18:23:13 -05:00
Ehsan Akhgari e485f90bb4 Bug 808876 - Part 0: Only allow the usage of enum classes in gcc 4.5 and newer; r=bzbarsky
Older gccs such as gcc 4.4 cannot handle comparison operators taking
arguments of the enum class type, which would cause valid C++ code
to not compile.  So we should just use our fallback enum class
emulation on those platforms.

--HG--
extra : rebase_source : 3cd2fd2faabc36c767e76442efabf55f8a54c83f
2012-11-06 09:38:32 -05:00
Jeff Walden ff1998edbf Add more thisDuringConstruction() use in LinkedList to silence warnings. No bug, r=lumpy
--HG--
extra : rebase_source : 7dfb17c38e4efd4ea4bdc48326e792814b990658
2012-11-05 13:36:50 -08:00
Jeff Walden 24e7854e4d Bug 803439 - Add removeFrom() that takes a list and asserts the element is initially present in it. r=jlebar
--HG--
extra : rebase_source : c2aad35774a71167f97f940fb416735862b78950
2012-10-23 17:43:23 -07:00
Benoit Jacob 17335c2b9e Bug 784309 - CheckedInt.h Intel C++ compilation issue - r=Ms2ger 2012-11-02 11:30:40 -04:00
Rafael Ávila de Espíndola 7330a180a0 Bug 807112 - change MOZ_EXPORT_API and MOZ_IMPORT_API to not take the type. r=Waldo. 2012-10-31 18:18:12 -04:00
Justin Lebar ac1932eb0f Bug 803688 - Re-land backed out part of bug 803688 now that we have bug 805207 fixed.
This changeset reverts the partial-backout cset 5c82f5a5e90d, taking us back to the state we were in at bug 803688's initial landing, rev 592c3465a742.
2012-10-31 13:30:35 -04:00
Rafael Ávila de Espíndola 25843bd8a0 Bug 805416 - refactor macros to avoid the need for empty macro arguments. r=Waldo.
--HG--
extra : rebase_source : 86242ff253d464870cdcc321f9b1f6f08460b839
2012-10-30 16:12:22 -04:00
Rafael Ávila de Espíndola 1fdb43dea5 Bug 806538 - Update double-conversion and document the version we are at. r=Waldo.
--HG--
extra : rebase_source : 5394aab0cb622ad3723ca01a91712ce7cc9ae145
2012-10-30 15:30:08 -04:00
Ed Morley b0a5453bf1 Backout fdb7c9649a07 (bug 805967), 72003517a631 (bug 806538), 354250ed1e72 (bug 770538), ea6edd3749ce (bug 770538) for bustage on a CLOSED TREE 2012-10-30 17:56:20 +00:00
Rafael Ávila de Espíndola 6df39e5636 Bug 806538 - Update double-conversion and document the version we are at. r=Waldo.
--HG--
extra : rebase_source : 7e7ec80943329342c2305370dd0fe6bde46433a4
2012-10-30 11:48:56 -04:00
Jacek Caban 660bdf5a95 Bug 805773 - TestSHA1.exe fails to link on mingw r=espindola 2012-10-29 10:21:33 +01:00
Jeff Muizelaar ad8c94f6fc Bug 805951. Fix __GNU_MINOR__ typo in NullPtr.h
Pointed out by Chris Peterson.
2012-10-26 16:29:55 -04:00
Ehsan Akhgari fc2126e5b2 Add a comment about MOZ_BEGIN_ENUM_CLASS/MOZ_END_ENUM_CLASS to say that they should not be used for nested enums, no bug
DONTBUILD
2012-10-26 13:56:54 -04:00
Ryan VanderMeulen cff9297675 Partial backout of bug 803688 to fix Win7 debug xpcshell perma-purple. r=jlebar 2012-10-24 22:46:14 -04:00
Rafael Ávila de Espíndola 855e1fdf1f Bug 777122 - Add telemetry reporting of late writes. r=jlebar. 2012-10-24 15:42:54 -04:00
Rafael Ávila de Espíndola aee1036fed Bug 805096 - Better explain why we use __attribute__((weak)). r=glandium.
--HG--
extra : rebase_source : 8db4439601c47c3f969d11694e5859dc44ca68d0
2012-10-24 14:33:45 -04:00
Justin Lebar 02e90b3240 Bug 803688 - Remove LinkedListElements from their list when they're destructed, and assert that a LinkedList is empty when it's destructed. r=waldo 2012-10-24 12:40:35 -04:00
Ehsan Akhgari b81b92b6f5 Bug 802806 followup - fix the comment 2012-10-22 17:05:07 -04:00
Justin Lebar a6ab000fcb Bug 803692 - Make SHA1Sum::update() take a void* instead of a uint8_t*. r=waldo 2012-10-22 16:32:34 -04:00
Jeff Walden d50a1c2f80 Give LinkedListElement a thisDuringConstruction() method, and use it in member initialization to silence an MSVC compiler warning. No bug, r=sparky
--HG--
extra : rebase_source : b0859f6d169255196cb59d40504ed08b1074e9a4
2012-10-18 18:39:54 -07:00
Ehsan Akhgari 7e57f8a9fe Bug 802806 - Make mfbt's IsBaseOf work with multiple inheritance; r=Waldo 2012-10-17 17:37:53 -04:00
Joe Drew 6001445fd1 Bug 801120 - Support T* WeakPtr<T>::get(). r=Ms2ger,ehsan
--HG--
extra : rebase_source : 662ef6f39966956be5588d9bd7508dbe59a2c537
2012-10-12 18:17:58 -04:00
Jeff Walden 098475a5bb Minor style nits in WeakPtr code forgotten by me when reviewing. No bug, r=sparky
--HG--
extra : rebase_source : e8b8071218c9280e970ba4525a3e8ebab729d4eb
2012-10-08 16:03:52 -07:00
Jeff Walden a9b67c2069 Move TestBloomFilter out of XPCOM and into mfbt/tests, now that it exists. No bug, r=testingonlychange
--HG--
extra : rebase_source : 85a2a56bcc02bf122ee7fd21d16dffd534d1c98d
2012-10-03 17:09:59 -07:00
Jeff Walden 6c828f9bb0 Bug 798634 - Style patrol on mfbt/SHA1.*. r=espindola
--HG--
extra : rebase_source : 7282b80ebe5f23b669a5f3142f3a6e50b6776789
2012-08-28 17:27:05 -07:00
Terrence Cole 9fd0191df4 Bug 798624 - Specialize low-level character access to JSStableString; r=luke, rs=Waldo
Implements JSStableString::chars() and pushes StableCharPtr into the interface
at several key choke-points. This will solidly enforce the requirement that we
have uninlined jschar*s in places that we may GC with a jschar* on the stack.

--HG--
extra : rebase_source : 122785b474af371ed22d43a6bfcb600c05440405
2012-10-08 15:04:36 -07:00
Terrence Cole f56b69f5b1 Backout 754a1efb5b37 for bustage on a CLOSED TREE 2012-10-08 15:42:39 -07:00
Terrence Cole 8d60e1a402 Bug 798624 - Specialize low-level character access to JSStableString; r=luke, rs=Waldo
Implements JSStableString::chars() and pushes StableCharPtr into the interface
at several key choke-points. This will solidly enforce the requirement that we
have uninlined jschar*s in places that we may GC with a jschar* on the stack.

--HG--
rename : content/html/content/test/test_bug797113.html => content/html/content/test/test_bug780993.html
extra : rebase_source : 19b24e3decfc37c7387ea941233aec8239550927
2012-10-08 15:04:36 -07:00
Jeff Muizelaar ac8fdf1333 Bug 792954. Add a WeakPtr implementation to use instead of nsISupportsWeakReference. r=joe,ehsan,Waldo
This patch also replaces the usage of nsISupportsWeakReference in RasterImage as an example.

--HG--
extra : rebase_source : ac6a039dcc3227a04ac4c2221f38856bb308c695
2012-10-04 15:45:07 -04:00
Brian Smith 5d5eed3185 Bug 767240 - Make it easier to create type-specific scoped pointers (TYPE_SPECIFIC_SCOPED_POINTER_TEMPLATE), r=jwalden
--HG--
extra : rebase_source : 845b429d56ee1abb296925624928c355451edc3c
2012-07-24 15:36:06 -07:00
Ms2ger f3e2980b79 Bug 792689 - Add some double negations to the macros in Likely.h; r=Waldo 2012-09-20 13:17:05 +02:00
Kyle Huey 9eafb07639 Try backing out bug 792689 because it's the only non-merge cset in the MaxHeap regression range for both m-i and m-c. 2012-09-20 12:42:13 -07:00
Ms2ger 232ff717cd Bug 792689 - Add some double negations to the macros in Likely.h; r=Waldo 2012-09-20 13:17:05 +02:00
Jeff Muizelaar 9d45f08968 Bug 782647. Move the nullptr workaround macros to MFBT so that it can be shared. r=waldo
This also changes the header to use compiler detection instead of a
configure test. This makes the header more portable because
it doesn't require the configure infrastructure.
2012-09-01 16:16:17 -04:00
Raphael Catolino 5e69aa6e3c Bug 781313 - Move the euclidGcd and lcm algos form nsStyleAnimation.cpp to mfbt/MathAlgorithms.h r=dbaron,luke 2012-08-26 22:58:23 -03:00
Ehsan Akhgari e368dc9c85 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
Rafael Ávila de Espíndola d52e9eb6df Bug 784381 - Build bustage for comm-central - SHA1.h - Cannot open include file: 'stdint.h. r=ms2ger. 2012-08-21 12:43:33 -04:00
Rafael Ávila de Espíndola b6f8c36445 Bug 781627 - Copy security/nss/lib/freebl/sha_fast.c to mfbt. r=jlebar. 2012-08-20 15:01:55 -04:00
Aryeh Gregor bceb79b8d5 Bug 782919 - Add zero-arg constructor to enum class workaround; r=ehsan 2012-08-16 14:58:12 +03:00
Ed Morley 26dd8a729c Backout 19ec214f806c (bug 782916), 88b802832f52 (bug 782919), f16429aa2210 (bug 780474) for Android build failures 2012-08-17 12:25:12 +01:00
Aryeh Gregor 757baa9a0a Bug 782919 - Add zero-arg constructor to enum class workaround; r=ehsan 2012-08-16 14:58:12 +03:00
Aryeh Gregor 0ad63bfea8 Bug 751554 part 2 - Support strongly-typed enums in MFBT; r=ehsan 2012-08-01 15:19:00 +03:00
Aryeh Gregor 4ae33db236 Bug 751554 part 1 - Support explicit underlying enum types in MFBT; r=cjones 2012-08-05 12:11:24 +03:00
Nicholas Nethercote f32ed5397d Bug 647367 - Sequester jshash.{h,cpp} in js/jsd/ (attempt 2). r=luke.
--HG--
rename : js/src/jshash.cpp => js/jsd/jshash.cpp
rename : js/src/jshash.h => js/jsd/jshash.h
2012-07-18 17:38:10 -07:00
Sergey Glushchenko a2ebf3852f Bug 776429: Unify scattered M_PI definitions into mfbt/Constants.h r=dRdR 2012-08-06 13:32:11 -07:00
Mike Hommey 70d7c821af Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Benoit Jacob 91e33ba3c6 Bug 768538 - CheckedInt: HasSignBit should return bool - r=Ms2ger 2012-07-08 11:44:22 -04:00
Benoit Jacob 1f740b8204 Bug 768538 - CheckedInt: code simplification; remove the separate operator/ implementation - r=Ms2ger 2012-07-08 11:25:24 -04:00
Benoit Jacob da5aee1123 Bug 768570 - Fix all the warnings in CheckedInt - r=jwalden 2012-07-05 10:13:31 -04:00
Benoit Jacob e137681d8c Bug 768538 - 2/2 - Fix undefined behavior in the CheckedInt unit test - r=jwalden 2012-07-05 10:13:23 -04:00
Benoit Jacob 9c508f38f4 Bug 768538 - 1/2 - Fix undefined behavior in CheckedInt - r=jwalden 2012-07-05 10:13:13 -04:00
Jeff Walden a10a240530 Bug 766347 - Implement mozilla::IsConvertible to detect when a value of one type will convert to a value of another type. r=luke
--HG--
extra : rebase_source : d25c1b84dfc928a0bc4dcfb43e31b6035882849e
2012-06-19 13:55:23 -07:00
Jeff Walden 7eaf2877a0 Bug 766347 - Implement a mozilla::EnableIf template struct for SFINAE capabilities. r=luke
--HG--
extra : rebase_source : 06807195217a967142ab7d81ac8b120f2b0e02c7
2012-06-18 19:06:33 -07:00
Jeff Walden b2d449c615 Eliminate Assertions.h's dependency on Types.h, for a narrower interface and minimized dependencies. No bug, r=Ms2ger
--HG--
extra : rebase_source : b5c79dc444ef7277f2624ffe2407bca25a1054cd
2012-06-11 16:16:46 -07:00
Jeff Walden f071f38e8c Bug 760995 - Move Scoped.h into the mozilla namespace. r=sparky
--HG--
extra : rebase_source : 534c787c834fc1d7174b51d8fb8f13ec339c0a58
2012-06-11 16:16:47 -07:00