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

789 Коммитов

Автор SHA1 Сообщение Дата
Benoit Jacob fca4408490 Bug 1044658 - 4/6 - remove the need for asWeakPtr, and make asWeakPtr just return 'this' - r=froydnj 2014-07-30 15:52:04 -04:00
Benoit Jacob b0f63f3533 Bug 1044658 - 3/6 - make WeakPtr<const T> work - r=froydnj 2014-07-30 15:52:03 -04:00
Benoit Jacob fdea1f7900 Bug 1044658 - 2/6 - remove useless base classes around WeakPtr - r=froydnj 2014-07-30 15:52:02 -04:00
Benoit Jacob 6610e8054e Bug 1044658 - 1/6 - remove useless template parameters around WeakPtr - r=froydnj 2014-07-30 15:52:01 -04:00
Nicholas Nethercote 6548e9518e Bug 1045920 (part 2) - Add mfbt/tests/TestRefPtr.cpp. r=froydnj. 2014-07-30 06:59:52 -07:00
Jeff Walden 29d704f6d4 Bug 1040830 - Add documentation overview comments for mozilla::MakeUnique. r=jcranmer
--HG--
extra : rebase_source : 22eb26bb8c984a28352db0329da786c419e32dc7
2014-07-18 12:24:47 -04:00
Nicholas Nethercote 6c3f5d7b8e Bug 1041914 - Convert the fourth quarter of MFBT to Gecko style. r=Ms2ger.
--HG--
extra : rebase_source : 588fa9c0d1e819e1826835c4ef4a1428a927bf93
2014-07-22 20:54:41 -07:00
Mike Hommey 5fab42fcaf Bug 1036894 part 8 - Move most in-tree library linkage information to moz.build, as USE_LIBS. r=gps 2014-07-23 13:30:52 +09:00
Mike Hommey 6d6d400ea1 Bug 1036894 part 6 - Emit SimplePrograms for CPP_UNIT_TESTs, and make the corresponding moz.build config look like that of SIMPLE_PROGRAMS. r=gps 2014-07-23 13:29:44 +09:00
Jeff Walden bb16b5790f Bug 1037103 - Add deprecation notice/comments to Scoped.h. r=jcranmer
--HG--
extra : rebase_source : dabef0b6f8631ac2103039026b8cef8af1271c01
2014-07-10 17:45:45 -07:00
Jim Chen 4a6c0055c0 Bug 1007824 - Add mfbt/LinuxSignal.h; r=snorp r=Ms2ger 2014-07-15 12:45:40 -04:00
Till Schneidereit 017f266391 Bug 1031414 - Update LZ4. r=Ms2ger 2014-07-10 14:56:26 +02:00
Jeff Muizelaar ef05845516 Bug 1037461. mfbt: Add a MakeUnique variant that takes 5 arguments. 2014-07-11 11:01:47 -04:00
Nicholas Nethercote 2a0942be41 Bug 1036789 - Convert the third quarter of MFBT to Gecko style. r=Ms2ger.
--HG--
extra : rebase_source : 668cd394806203ddfa34bd4f226335ff26c846b5
2014-07-10 19:10:17 -07:00
Ehsan Akhgari 00ca203fb4 Bug 1036215 - Use MOZ_EXPORT in MemoryChecking.h; r=njn 2014-07-08 22:58:26 -04:00
Jeff Walden a377a906df Bug 953296 - Properly condition function-deleter tests on SHOULD_TEST_FUNCTION_REFERENCE_DELETER. r=bustage 2014-07-08 11:37:45 -07:00
Jeff Walden 83843f0171 Bug 953296 - Implement mozilla::MakeUnique. r=jcranmer
--HG--
extra : rebase_source : 6e25d80e697f1b00e1525f6b11221f4ed9cf965e
2014-06-10 17:42:58 -07:00
Jeff Walden 9b3cc8ddf5 Bug 953296 - Implement mozilla::UniquePtr. r=jcranmer
--HG--
extra : rebase_source : 76dadc240c40d1ffbd2f3a0414c3667ff2d6706d
2013-12-30 13:34:15 -06:00
Luke Wagner a3cf5fed71 Bug 1030446 - Build a list of code ranges and use this instead of CallSite for describing functions (r=dougc)
--HG--
extra : rebase_source : 6cb5cff2c3192f7d40315afe8007f7bd68549fec
2014-06-25 17:34:23 -05:00
Phil Ringnalda d76823fb07 Back out 4 changesets (bug 1030446) on suspicion of setting up random patches to break asmjs tests on Android Armv6
CLOSED TREE

Backed out changeset 4bc102bd4067 (bug 1030446)
Backed out changeset c11c8733e76a (bug 1030446)
Backed out changeset addc1a7459a7 (bug 1030446)
Backed out changeset 457b38b8094c (bug 1030446)
2014-06-29 09:52:26 -07:00
Luke Wagner 939cdb52c6 Bug 1030446 - Build a list of code ranges and use this instead of CallSite for describing functions (r=dougc) 2014-06-25 17:34:23 -05:00
Wes Kocher 3fdbdfaeea Backed out 4 changesets (bug 1030446) for b2g non-unified build bustage on a CLOSED TREE
Backed out changeset d925c77d4b3f (bug 1030446)
Backed out changeset 988f19a5ea1f (bug 1030446)
Backed out changeset 6e87a7cf7eac (bug 1030446)
Backed out changeset 1c761a455bbf (bug 1030446)
2014-06-27 17:34:19 -07:00
Luke Wagner c2517ac7d8 Bug 1030446 - Build a list of code ranges and use this instead of CallSite for describing functions (r=dougc)
--HG--
extra : rebase_source : 842f64b989e6be4a8e530c219ffe6eec6701c49f
2014-06-25 17:34:23 -05:00
Jeff Walden 2c5ed1828b Bug 953296 - Introduce an EBO-performing Pair class to mfbt. r=jcranmer
--HG--
extra : rebase_source : a5d4ad52736a66656aaf3947b31ce8087b859491
2014-06-09 08:49:18 -07:00
Jeff Walden 297cdb7279 Bug 1030515 - Make IsSigned and IsUnsigned usable with user-defined types. r=froydnj
--HG--
extra : rebase_source : f74d5c0b9f05a56c4d56aba1ebbdb944a3464b30
2014-06-25 18:47:04 -07:00
Jeff Walden f4c09e1ea5 Bug 1029132 - Add mozilla::IsInRange method to write out in-range tests more simply. r=froydnj
--HG--
extra : rebase_source : b57c74750e4db2bc5ffe4655069f3597fab5a6b2
2014-06-23 14:14:26 -07:00
Marty Rosenberg 786df24145 Bug 991153: Make the types for sets of registers a per-type quantity (r=jandem) 2014-06-25 12:54:34 -04:00
Birunthan Mohanathas 82bb121ffc Bug 836073 - Add MOZ_MSVC_VERSION_AT_LEAST() macro to mfbt/Compiler.h. r=Waldo 2014-06-20 09:19:35 -07:00
Jan de Mooij f6f4979801 Bug 1027528 part 7 - Make Range mStart/mEnd const, fix operator[]. r=Waldo 2014-06-20 17:39:42 +02:00
Jeff Walden 770045e23f Bug 953296 - Add IsLvalueReference and IsVoid. r=jcranmer
--HG--
extra : rebase_source : 53def7d45901da43ffbcfef3adbbea3a3e6bb329
2014-01-09 10:09:14 -06:00
Jeff Walden b706ddaf73 Bug 953296 - Implement mozilla::RemoveExtent. r=jcranmer
--HG--
extra : rebase_source : 97d4f055fc80074265bd5c8b1b0a565d8e994e7b
2014-06-10 12:58:17 -07:00
Nicholas Nethercote 9439ff268e Bug 1026319 - Convert the second quarter of MFBT to Gecko style. r=froydnj.
--HG--
extra : rebase_source : 98d2557c7fe4648d79143c654e7e31767fca2e65
2014-06-12 23:34:08 -07:00
Ehsan Akhgari 29433bf8d1 Bug 1026718 - Expand MOZ_DECLARE_REFCOUNTED_TYPENAME unconditioanlly in order to make it available outside of libxul as well; r=Waldo 2014-06-18 20:11:21 -04:00
Jed Davis 10b28157d6 Bug 1011350 - Use TaggedAnonymousMemory to distinguish our various mmap call sites. r=njn
We can probably get more granular information than this, given that we
can re-tag memory after the initial mapping, or tag subregions of an
individual mmap() call differently.  But this is a start.
2014-06-17 17:55:00 +02:00
Jed Davis 5d990656e6 Bug 1011350 - Add mfbt support for PR_SET_VMA_ANON_NAME. r=njn r=froydnj
This is a Linux kernel feature present in newer Android and B2G devices
which allows attaching an arbitrary name to an anonymous memory regions,
thus tagging it for the purposes of procfs mapping lists and causing it
to be reported separately from adjacent regions with different names.
2014-06-17 17:54:00 +02:00
Ehsan Akhgari c2cbd699a1 Bug 1025900 - #include intrin.h directly in Atomics.h instead of declaring functions manually from it; r=froydnj
This is basically more of bug 1022049.

--HG--
extra : rebase_source : 39cf2745d47d90ba1684c2c26a38f9781a4d179e
2014-06-16 18:19:49 -04:00
Chris Peterson 969f9037ad Bug 1024318 - Fix warnings in mfbt/tests/ and mark as FAIL_ON_WARNINGS. r=Waldo 2014-06-14 12:47:01 -07:00
Ehsan Akhgari 11ef71dec3 Bug 1025143 - Fix a compilation error in TestTypedEnum.cpp with clang-cl; r=bjacob
This makes the code more correct since if we don't have constexpr
support in the compiler, the CastableTypedEnumResult type would
actually not be a literal type, so we should not assert that here.
2014-06-13 15:22:16 -04:00
Jan de Mooij d3b4e134f1 Bug 1023778 part 3 - Make AtomizeChars and js_NewStringCopyN accept Latin1 chars. r=luke 2014-06-13 20:51:05 +02:00
Jan de Mooij f6e79b4014 Bug 1024688 - Add a MaybeOneOf class to MFBT. r=luke 2014-06-13 14:26:01 +02:00
Ehsan Akhgari b65d47a0ad Bug 1023449 - Try to check for MSVC before clang so that we live in the clang-cl world when building with that compiler; r=froydnj
--HG--
extra : rebase_source : dbfcf19afa0aa030d4fc769f29ede4c957af669d
2014-06-10 16:33:39 -04:00
Jeff Muizelaar 4c4e0b3541 Bug 1022049. Switch to <intrin.h>. r=nfroyd
Instead of declaring these ourselves just use intrin.h
This has the advantage of allowing them to work with clang-cl

--HG--
extra : rebase_source : b78c756edb5dcdf1fd9127ad5e1a7ae183e72e3c
2014-06-09 17:26:55 -04:00
Ehsan Akhgari ac9615fa0d Bug 1021290 - More Atomics.h build fixes for clang-cl. r=froydnj
This is basically more of bug 932454
2014-06-09 14:49:34 -04:00
Ehsan Akhgari 8b30e40485 Bug 1013662 - Fix bad implicit conversion constructors in MFBT; r=froydnj,Waldo 2014-06-06 23:17:06 -04:00
Ehsan Akhgari fcbd7ebc45 Bug 1022050 - Disable the SEH block used in TestPoisonArea.cpp on clang-cl until it grows SEH support; r=froydnj 2014-06-06 23:11:58 -04:00
Nathan Froyd 002c131055 Bug 1020118 - fix atomic add/sub for pointer types on Win64; r=jcranmer 2014-06-04 15:19:51 -04:00
Ms2ger 9f8242b9b4 Bug 1020165 - Remove empty makefiles; r=mshal 2014-06-06 10:06:24 +02:00
Chris Peterson 163d828c29 Bug 945029 - Fix up Android's broken [u]intptr_t inttype macros. r=Waldo 2014-05-12 22:27:14 -07:00
Wes Kocher 8ae9f3fb4a Backed out changeset 34f371b1024b (bug 1021290) for Windows build bustage on a CLOSED TREE 2014-06-05 17:35:47 -07:00
Jeff Muizelaar c50b5c14aa Bug 1021290. More Atomics.h build fixes for clang-cl. r=froydnj
This is basically more of bug 932454

--HG--
extra : rebase_source : 0f9a5d43164efb6940d17e406f41691cb3d26435
2014-06-05 19:48:52 -04:00
Benoit Jacob 64ad3662d5 Bug 1018239 - Make WebGLContext::GetExtensionString fool-proof and remove a dangerous EnumeratedArrayConstructor - r=jgilbert 2014-05-30 16:21:23 -04:00
Brian Smith 47e2bb46f2 Bug 1010634, Part 2: Fix compiler warnings in MFBT and XPCOM, r=ehsan
--HG--
extra : rebase_source : 8839297479ce2ade7a7e6cb5099178e799a0e516
2014-05-29 20:18:29 -07:00
Nicholas Nethercote 7e98d1c248 Bug 1014377 - Convert the first quarter of MFBT to Gecko style. r=froydnj.
--HG--
extra : rebase_source : b3b2da775e2c0e8a6ecbed70e7bd0c8f7af67b47
2014-05-29 22:40:33 -07:00
Nathan Froyd 51186e84a0 Bug 1010317 - remove unnecessary includes from RollingMean.h; r=Ms2ger 2014-05-14 11:46:29 -04:00
Dan Gohman 73faa4dc74 Bug 1012971 - Fix compiler warnings in mfbt r=nbp 2014-05-22 11:15:06 -07:00
Ehsan Akhgari 80e1f6f0e4 Fix a typo in a comment, no bug, DONTBUILD 2014-05-22 09:28:06 -04:00
Ehsan Akhgari 4ca5ac62f7 Bug 1013662 - Part 1: Add MOZ_IMPLICIT to Attributes.h; r=froydnj
--HG--
extra : rebase_source : 4654de918e6f73f40c34a19cfd1b457ba2c734f1
2014-05-21 21:31:29 -04:00
Dan Gohman 7c3190bd62 Bug 1012964 - IonMonkey: Optimize LiveInterval::addRange. r=bhackett 2014-05-20 13:36:40 -07:00
Nicholas Nethercote d503a6c9e3 Bug 983538 (part 2) - Update mfbt/STYLE. r=froydnj.
--HG--
extra : rebase_source : dac8a5683794cc838966afaf8c037aa466d44410
2014-03-13 22:42:59 -07:00
Nicholas Nethercote bdeeee5ff9 Bug 983538 (part 1) - Convert mfbt/SplayTree.h to Mozilla style. r=froydnj.
--HG--
extra : rebase_source : 9143ee56f94e7c6e0b1e1a70c4dc26c90c69d84a
2014-03-13 22:35:45 -07:00
Botond Ballo b1b72d1714 Bug 961289 - Add a ToString utility to MFBT. r=froydnj
--HG--
extra : source : 26bd00a6d34fa88b8a16862e5b96a6717386f9f7
2014-05-07 14:54:45 -04:00
Matt Woodrow 5aa1f5d7fe Bug 950312 - Part 4: Create active layers for nsDisplayMixBlendMode and nsDisplayBlendContainer if the layer manager supports all contained blend mode. r=roc 2014-05-09 21:49:27 +12:00
Matt Woodrow 898541f214 Bug 950312 - Part 3: Add Layers API to see what blend modes are supported. r=roc 2014-05-09 21:48:32 +12:00
Chris Peterson e1a6042c4b Bug 990764 - Replace MOZ_ASSUME_UNREACHABLE in mfbt. r=Waldo 2014-04-13 23:01:08 -07:00
Chris Peterson a611a1764f Bug 990764 - Add MOZ_ASSERT_UNREACHABLE and MOZ_MAKE_COMPILER_ASSUME_IS_UNREACHABLE. r=Waldo 2014-04-05 18:07:09 -07:00
Sylvestre Ledru 6e74be8757 Bug 997145 - Add a attribute in order to silent a Clang static analyzer check r=nfroyd
--HG--
extra : amend_source : 9ef01d8df4e8797981f770621a3885d456db5801
2014-05-06 16:23:08 +02:00
Ehsan Akhgari 88fbe13b7d Bug 1005730 - Print assertion stacks for MOZ_ASSERT and MOZ_CRASH for code that lives inside libxul; r=froydnj
The hyphenation changes are necessary because hnjalloc.h #defines FILE to
a custom data structure, which clashes with using |stderr| in Assertions.h.
2014-05-05 22:02:04 -04:00
Ehsan Akhgari 7257ee5010 Bug 1004564 - Move AtomicRefCounted to mozilla::external and outlaw it in Gecko code; r=froydnj 2014-05-01 14:33:20 -04:00
Benoit Jacob cf6decae49 Bug 920292 - Check the types of assert conditions - r=froydnj 2014-04-30 22:39:13 -04:00
Birunthan Mohanathas 5e01b2cee4 Bug 1001987 - Make MOZ_STATIC_ASSERT_VALID_ARG_COUNT compatible with ICC. r=Waldo 2014-04-28 07:48:00 +02:00
Benoit Jacob 05d01a79c8 Bug 987290 - Work around a GCC 4.6.3 ICE - no review, bustage fix 2014-04-28 12:27:13 -04:00
Benoit Jacob a8a9cf90c0 Bug 987290 - Follow-up: fix TestTypedEnum to avoid requiring behavior that relies on explicit conversions, when they are not available. Fixes the build on MSVC 2012 - no review, bustage fix 2014-04-27 22:46:40 -04:00
Benoit Jacob 888ca078bf Bug 987290 - Allow using MFBT Typed Enums as bitwise flags - r=Waldo 2014-04-25 22:34:04 -04:00
Blair McBride af6be312f8 Backed out 2 changesets (bug 987290). r=sheriff
Backed out changeset 4ad1f662f521 (bug 987290)
Backed out changeset 080ff1f86465 (bug 987290)
2014-04-27 20:41:58 +12:00
Benoit Jacob 645e93ca92 Bug 987290 - Allow using MFBT Typed Enums as bitwise flags - r=Waldo 2014-04-25 22:34:04 -04:00
Benoit Jacob 9827caf183 Bug 987253 - Add MOZ_EXPLICIT_CONVERSION - r=Waldo 2014-04-25 22:34:04 -04:00
Benoit Jacob 586211fff8 Bug 989123 - Add EnumeratedArray class to MFBT for plain static arrays indexed by a typed enum - r=Waldo 2014-04-25 22:34:03 -04:00
Birunthan Mohanathas 1bfbc15260 Bug 989460 - Follow-up: Fix MOZ_STATIC_ASSERT_VALID_ARG_COUNT when 51st arg is e.g. `true != 1`. r=froydnj 2014-04-25 10:00:00 -04:00
Birunthan Mohanathas 772debb89d Bug 989460 - Part 2: Add MOZ_FOR_EACH macro. r=Waldo 2014-04-24 10:49:00 +02:00
Birunthan Mohanathas accb4d62ef Bug 989460 - Part 1: Add MacroArgs.h for macros related to implementing variadic macros. r=Waldo
This also converts MOZ_RELEASE_ASSERT and MOZ_BEGIN_NESTED_ENUM_CLASS to use the new helper macros.
2014-04-24 10:48:00 +02:00
Benoit Jacob 7c2d5b3529 Bug 807607 - Make MFBT tests use MOZ_RELEASE_ASSERT instead of MOZ_ASSERT to ensure test coverage in non-DEBUG - r=Waldo
find mfbt/tests/ -type f | xargs sed -i 's/MOZ_ASSERT/MOZ_RELEASE_ASSERT/g'
2014-04-24 17:06:50 -04:00
Luke Wagner 8d264161c9 Bug 998507 - add some assertions to BinarySearch (r=me) 2014-04-22 13:53:37 -05:00
Luke Wagner 73f0ab2246 Bug 998507 - add BinarySearch (r=sunfish)
--HG--
extra : rebase_source : 6ba04575a5dd8a886235e6799bc790c7a3afc64f
2014-04-15 21:30:26 -05:00
Chris Peterson 773014c88a Bug 984073 - Fix warning in double-conversion and suppress warnings in lz4. r=Waldo 2014-03-15 23:23:28 -07:00
Benoit Jacob 006b370dc5 Bug 987274 - Add IntegerTypeTraits.h to MFBT for additional integer traits and helpers that don't have type_traits equivalents - r=Waldo 2014-04-01 09:38:42 -04:00
Ehsan Akhgari 5da1cb00cf Add a comment to WeakPtr.h which explicitly calls out the fact that it's not thread-safe, no bug, DONTBUILD 2014-03-28 00:12:30 -04:00
Ehsan Akhgari 186680d83a Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
Jim Blandy 4138c776b2 Bug 944176: Implement move construction and move assignment for mozilla::Scoped derivatives. r=waldo 2014-03-27 09:52:48 -07:00
Jim Blandy 7a81916776 Bug 944176: In mozilla::Scoped, don't gratuitously repeat template arguments within the class template itself. r=waldo 2014-03-27 09:52:43 -07:00
David Major 926fd8dee8 Bug 982310 - Hack around problems linking std::_Debug_message; r=ehsan
--HG--
extra : amend_source : 2e0f6f26823ee5fcce16dfaf8791ae57d8ac62cb
2014-03-21 12:53:00 -07:00
Ehsan Akhgari fceee9b5aa Bug 985878 - Make AtomicRefCounted thread safe; r=khuey 2014-03-25 09:02:26 -04:00
Nathan Froyd 76b72b02a3 Bug 986023 - remove unused freeList member from SplayTree; r=Ms2ger 2014-03-20 12:19:15 -04:00
Trevor Saunders 786059e915 bug 899319 - use __is_base_of() on gcc / clang / msvc r=froydnj 2014-03-06 23:34:20 -05:00
Xidorn Quan 9cbc0d3fe9 Bug 980698 - Rename shadowing parameters. r=Waldo 2014-03-12 08:42:39 -04:00
Dan Gohman 1bb01da898 Bug 978397 - Fix the implementation of CountPopulation_32 on Windows. r=nbp 2014-03-11 08:09:55 -04:00
Jacek Caban e7727dcf6d Bug 928351 - Fixed -Wshadow warning. 2014-03-10 14:32:24 +01:00
Ehsan Akhgari 8cd0c0f21d Bug 935778 - Part 3: Add trace-refcount logging for AddRef and Release in RefCounted objects; r=dbaron 2014-03-09 14:36:36 -04:00
Robert O'Callahan fd813ddaf4 Bug 955888. Part 1: Add ChaosMode.h base functionality. r=waldo
--HG--
extra : rebase_source : e892a951a3d3951e70e00f0b51046b744140eeee
2014-03-03 18:12:17 +13:00
Ulrich Weigand 9a60ac53fd Bug 976648 - mfbt endian config for powerpc64le-linux support. r=froydnj 2014-02-28 09:57:24 -05:00
Ehsan Akhgari 369cf847da Bug 979067 - Stop exporting the guard object classes; r=froydnj 2014-03-05 07:50:55 -05:00
Ehsan Akhgari 17f4a32d8b Bug 976896 - Port STL_FLAGS to moz.build; r=mshal 2014-03-04 19:39:06 -05:00
Chris Peterson f29b18d0c0 Bug 808679 - Add asserts for Vector::Range and Vector srcbeg <= srcend. r=Waldo 2014-02-11 22:42:39 -08:00
Masatoshi Kimura fdd301c353 Bug 972761 - Move WindowsVersion.h to MFBT. r=froydnj
--HG--
rename : xpcom/base/WindowsVersion.h => mfbt/WindowsVersion.h
2014-02-28 07:58:47 +09:00
Benjamin Bouvier cab8750482 Bug 939843: Tests for mfbt::Floats; r=waldo
--HG--
extra : rebase_source : a6515f7d4e82e020fd7686f14932855873078813
2014-02-27 16:23:08 +01:00
Benjamin Bouvier 1ce0aa6d4a Bug 939843: Unify FloatingPoint's code for Double and Float; r=waldo
--HG--
extra : rebase_source : 2f7956d497d534af8931939a38a29ad27695a3fc
2014-01-30 15:54:46 +01:00
Marcin Juszkiewicz 4d2df383d2 Bug 962488 - Update double-conversion for proper AArch64 support. r=froydnj
Fix imported from upstream repository:
https://code.google.com/p/double-conversion/source/detail?r=4e24bb31bcc76d6d218f3056b4c24a109d367561
2014-02-26 13:43:16 -05:00
Ehsan Akhgari 9c823473c2 Bug 935778 - Part 0.7: Emit the correct type name from FilterNodeLightingSoftware; r=jrmuizel, parts r=dbaron 2014-02-26 10:13:48 -05:00
Ehsan Akhgari 677b8c872c Bug 976247 - Remove a useless static keyword from mozilla::detail::DEAD; r=froydnj 2014-02-24 21:08:51 -05:00
Ehsan Akhgari 0db909c03c Backed out changeset f74c9326b89c (bug 976247) because I landed the wrong patch :( 2014-02-24 21:07:37 -05:00
Ehsan Akhgari c102d49715 Bug 976247 - Remove a useless static keyword from mozilla::detail::DEAD; r=froydnj
--HG--
extra : rebase_source : e73444ec000f1e867651d39cf2aa6beaf88bf4f3
2014-02-24 19:37:34 -05:00
Ehsan Akhgari e1b60f2947 Bug 935778 - Part 0.6: Add support for MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME and use it in moz2d
X-Git-Commit-ID: bc256ac44cbba52b04f8f0390965632ec4507608
2014-02-24 08:23:37 -05:00
Ehsan Akhgari e4ed013f53 Bug 935778 - Part 1.1: Re-add the refcount assertions for AddRef(), and make the assertions for Release() use a signed integer 2014-02-22 11:23:03 -05:00
Ehsan Akhgari a8a0206da1 Bug 935778 - Part 1: Add RefCountType, a type compatible with nsrefcnt, to MFBT; r=dbaron,froydnj 2014-02-21 14:45:50 -05:00
Ehsan Akhgari 497c5f3692 Bug 935778 - Part 0.5: Add two more MOZ_DECLARE_REFCOUNTED_TYPENAME to TestWeakPtr.cpp 2014-02-21 09:45:05 -05:00
Ehsan Akhgari 5704b555e2 Bug 935778 - Part 0.2: Spray some MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree 2014-02-20 21:33:49 -05:00
Birunthan Mohanathas 9b3486cdf4 Bug 963056 - Part 2: Make MOZ_ARRAY_LENGTH a typesafe compile-time constant on compilers without constexpr support. r=Waldo 2014-02-11 13:31:58 -05:00
Ehsan Akhgari d91d200572 Bug 969757 - Remove the dead code in our tree which pretends to support OS/2; r=roc,mcmanus,gps,jorendorf,bsmedberg sr=bsmedberg 2014-02-10 17:57:01 -05:00
Nathan Froyd b0a50e656f No bug - fix a comment in Move.h; irc-rs=Waldo DONTBUILD because comment fixes can't break anything...right? 2014-02-07 08:08:08 -05:00
Viktor Stanchev 529b872af2 Bug 965837 - Add bool support to mozilla::Atomic. r=froydnj 2014-02-06 14:57:30 -05:00
Wes Kocher 01f9f30e72 Backed out changeset ec696ad6ff10 (bug 963056) for build bustage on a CLOSED TREE 2014-02-05 16:19:06 -08:00
Birunthan Mohanathas a8d0f13846 Bug 963056 - Make MOZ_ARRAY_LENGTH a typesafe compile-time constant on compilers without constexpr support. r=Waldo 2014-02-05 17:46:05 -05:00
Kartikaya Gupta a6ffc9d1a7 Bug 948984 - Add functions to fuzzily compare float numbers. r=bjacob, r=Waldo 2014-02-05 17:04:42 -05:00
Jeff Walden d3c2cb6c58 Fix obvious typo in 89e06a821ad5 (bug 963029) to reopen a CLOSED TREE. r=typo 2014-01-23 14:16:27 -08:00
Marcin Juszkiewicz 4935cd342c Bug 963029 - AArch64 support for MFBT. r=froydnj 2014-01-23 16:34:31 -05:00
Nathan Froyd 595322b886 Bug 961394 - update MOZ_ASAN_BLACKLIST to work with recent versions of GCC; r=ehsan 2014-01-21 12:51:03 -05:00
Nathan Froyd 44baa18781 Bug 961222 - fix documentation and indentation in Compiler.h; r=Waldo 2014-01-17 16:25:30 -05:00
Mike Hommey 9fe01db5ab Bug 958404 - Recurse mfbt from top-level when building js standalone. r=gps 2014-01-20 09:11:45 +09:00
Luke Wagner ede87068a1 Bug 960367 - OdinMonkey: compress source stored in in cache file (r=sstangl)
--HG--
extra : rebase_source : 0b4036078a28630f04ddb2e232f587d6268b8209
2014-01-17 17:34:33 -06:00
Ehsan Akhgari 00d0989573 Bug 957358 - Restrict everything in Char16.h to C++; r=jcranmer 2014-01-12 14:55:02 -05:00
Benoit Jacob a8ba12fe38 Bug 958375 - 2/9 - Add a variant of MOZ_ENUM_CLASS_ENUM_TYPE that works on template parameters - r=Waldo 2014-01-10 13:55:24 -05:00
Ehsan Akhgari 2bc8c835b8 Bug 956507 - Remove the PRUnichar typedef from Char16.h; r=jcranmer
--HG--
extra : rebase_source : 372ddaf10a7c65fb6d0c0c44181c61fc93577a01
2014-01-07 22:16:17 -05:00
Ehsan Akhgari c863b5d12e Backed out changeset 07a4682a75f2 (bug 956507) because it has bitrotten
Landed on a CLOSED TREE
2014-01-07 23:02:23 -05:00
Ehsan Akhgari 4868fbe22c Bug 956507 - Remove the PRUnichar typedef from Char16.h; r=jcranmer 2014-01-07 22:16:17 -05:00
Jeff Walden bb04f6021f Bug 953296 - Implement mozilla::IsArray. r=froydnj
--HG--
extra : rebase_source : 3eb6fff774f28c39374f1e7c148f472d95e538c0
2013-12-30 01:07:32 -06:00
Jeff Walden badf564cf4 Bug 953296 - Implement mozilla::IsRvalueReference and mozilla::IsReference. r=froydnj
--HG--
extra : rebase_source : 39cf8fa339f1ea640681fda0d0cda536e5228709
2013-12-30 01:07:25 -06:00
Jeff Walden 6276d9c191 Bug 953296 - Implement mozilla::IsClass and mozilla::IsEmpty. r=jcranmer 2013-12-30 01:07:39 -06:00
Jeff Walden 5d3f01c937 Bug 953296 - Implement mozilla::NullptrT as a typedef to use to accept nullptr values. Also add mozilla::IsNullPointer<T>, a trait for detecting *only* true nullptr (emulated nullptr [__null] used by gcc 4.4/4.5 isn't true nullptr). r=ehsan
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
2014-01-02 17:27:41 -06:00
Ehsan Akhgari 2e67154d02 Merge m-c into inbound 2014-01-04 12:14:57 -05:00
Ehsan Akhgari 1b83407ce9 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.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 PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Robert O'Callahan 55beb7d2db Bug 944291. Part 1: Add SplayTree::find. r=waldo 2013-12-13 16:12:07 +13:00
Ms2ger 37ef87be41 Backout changeset 1e13634eceb2 for failures in R6/R10 on B2G ICS Emulator Opt. 2013-12-24 13:47:08 +01:00
Nathan Froyd 8064eafbac Bug 952785 - relax GCC version requirements for MOZ_ENUM_TYPE; r=Waldo 2013-12-21 18:52:41 -05:00
Daniel Holbert 225cc7f485 Bug 945121: Use DebugOnly to fix opt-only 'unused variable' build warning in TestCeilingFloor.cpp. r=Waldo 2013-12-20 13:41:48 -08:00
Terrence Cole 2839167636 Bug 948516 - Assert that js::HashTable pointers and enumerators are used correctly; r=luke 2013-12-03 12:51:02 -08:00
Bobby Holley 15c62b0a5a Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-11 17:51:57 -08:00
Dan Gohman e1b051e4df Bug 941715 - SpiderMonkey: Don't use DebugOnly in struct fields when size is relevant. r=jorendorff 2013-12-10 18:27:13 -08:00
Terrence Cole b303ecda68 Backout changeset 70e76314c8a7 for build bustage on a CLOSED TREE.
--HG--
extra : rebase_source : 83e1e8a5a4802ef0b7b1d6f7dc0df6595bc9f00f
2013-12-10 15:26:05 -08:00
Jeff Walden 90c1e0bc05 Bug 946382 - Make RangedPtr::operator* assert that the pointer is in its range. r=Ms2ger
--HG--
extra : rebase_source : 86fcafaa38f9cd9dbf4b299a39e854e9da51c33a
2013-12-04 11:10:25 -08:00
Terrence Cole 8013e4fe9b Bug 948516 - Assert that js::HashTable pointers and enumerators are used correctly; r=luke 2013-12-03 12:51:02 -08:00
Jeff Walden 6baf1f95dc Move IsLvalueReference to the correct place, slightly beef up its documentation. No bug, r=trivial
--HG--
extra : rebase_source : 5998289e3993cd0384efe0ab7d21b8097dedac2f
2013-11-20 14:37:14 -08:00
Birunthan Mohanathas 3440613a39 Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo
--HG--
rename : mfbt/Util.h => mfbt/ArrayUtils.h
2013-12-08 21:52:54 -05:00
Birunthan Mohanathas 68b00083fd Bug 713082 - Part 1: Remove unnecessary Util.h includes. r=Waldo 2013-12-08 21:52:33 -05:00
Phil Ringnalda cacf62c269 Back out 35371620801a:bf2019278b77 (bug 937317) for gaia-ui-test bustage and frequent timeouts in its own test 2013-12-07 11:08:56 -08:00
Joshua Cranmer f39213113a Bug 929200, part 1: Add MOZ_HEAP_ALLOCATOR to stack-only/non-heap analyses, r=Waldo.
--HG--
extra : rebase_source : 1ea94cf7a8ab7207d238c65877001549f3f828be
2013-12-06 21:23:06 -06:00
Bobby Holley e509129d09 Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-06 12:01:41 -08:00
Carsten "Tomcat" Book 3d08bfcd63 Backed out changeset 004fa11e352a (bug 937317) WinXP Build Bustage on a CLOSED TREE 2013-12-06 08:42:40 +01:00
Bobby Holley a20556f563 Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-05 21:34:16 -08:00
Jacek Caban 991198f49a Bug 946127 - Don't mark inline function as dllimport. r=Waldo 2013-12-05 10:55:52 +01:00
Mike Hommey 8fd06cf41b Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey b32a4ed166 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey 682364d535 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Ehsan Akhgari 0f45a4d5a3 Bug 943719 - Build MFBT in unified mode; r=froydnj,djvj 2013-11-27 18:59:50 -05:00
Ehsan Akhgari 74dc778850 Backed out changeset ea3392e0018f (bug 943719) because of build bustage on a CLOSED TREE 2013-11-27 19:50:02 -05:00
Ehsan Akhgari 960603e1ac Bug 943719 - Build MFBT in unified mode; r=froydnj,djvj 2013-11-27 18:59:50 -05:00
Anthony Jones 1b55186ecf Bug 888084 - Rolling mean for MFBT; r=waldo 2013-09-24 15:56:55 +12:00
Jacek Caban 12b4d7fd02 Bug 928351 - Char16.h and xpcom/strings/public parts r=ehsan,Waldo 2013-11-27 14:40:54 +01:00
Nicholas Nethercote 9666d27bb1 Bug 893857 (part 1) - Add LinkedList::SizeOf{In,Ex}cludingThis(). r=Waldo.
--HG--
extra : rebase_source : 1b170f930eb28127502b70c7b0b3d0181c11c2df
2013-11-24 15:20:12 -08:00
Bobby Holley 75c5db5a1c Bug 928636 - Whitespace changes. r=Waldo 2013-11-25 09:37:16 -08:00
Bobby Holley 8475a010d7 Bug 928636 - Implement MOZ_RELEASE_ASSERT. r=Waldo 2013-11-25 09:37:15 -08:00
Benoit Jacob a67d96ac66 Bug 924382 - Allow getting the integer type corresponding to a MOZ_BEGIN_ENUM_CLASS - r=Waldo 2013-11-23 21:20:38 -05:00
Jim Blandy a448351084 Bug 896100: Convert all uses of OldMove and MoveRef to true rvalue references and the modern Move and Forward. r=luke, r=waldo 2013-11-19 09:05:36 -08:00
Mike Hommey e80e877ab7 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey dda5b915fe Bug 939039 - Remove now useless FORCE_STATIC_LIB definitions. r=gps 2013-11-19 11:47:28 +09:00
Mike Hommey ffe0380912 Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Joshua Cranmer f8f4ab7e4c Bug 935789, part 2: Implement RotateLeft/RotateRight in MFBT and use them, r=Waldo.
--HG--
extra : rebase_source : efda8cfde4ec1b8cee007f528d682830f43f9111
2013-11-12 18:24:56 -06:00
Jim Chen a3daa9a2dd Bug 935089 - Make ArrayLength, ArrayEnd, and PodArrayZero accept mozilla::Array argument; r=Waldo 2013-11-12 17:31:15 -05:00
Nathan Froyd a3fdb565b6 Bug 608915 - part 1 - extend ToPrecision to tell use whether exponential notation was used; r=Waldo 2013-11-07 12:46:05 -05:00
Chris Peterson 18b27a861e Bug 935370 - Inline all the Pod functions. r=waldo
--HG--
extra : rebase_source : 289cbc836eead85e5b7feac94c1c6d6ee5cd68de
2013-11-04 18:52:51 -08:00
Jeff Muizelaar 3ebdf849ba Bug 932454. Make Atomics.h compilable with clang on Windows. r=nfroyd,jwalden
MSVC is sloppy with typedefs leaking. Clang is more strict.

--HG--
extra : rebase_source : e8000f43391f8a32fbde96d54ff11e09e49345f9
2013-10-29 17:55:38 -04:00
Karl Tomlinson 9440229293 b=856850 add PodMove r=Waldo
--HG--
extra : transplant_source : %27%04%F0%2B%96%1B0%A7%DB%81D%26%81%A0u%C9j%3E%A2%B0
2013-11-05 13:02:54 +13:00
Dan Gohman 0333b1cb4a Bug 930708 - IonMonkey: Factor out a DoubleEqualsInt32 from DoubleIsInt32 and use it when negative zero is to be treated as zero. r=nbp 2013-11-02 14:29:44 -07:00
Masatoshi Kimura 592c2cad36 Bug 933586 - Define MOZ_HAVE_CXX11_DELETE for MSVC 12+. r=waldo 2013-11-02 17:57:40 +09:00
Brian O'Keefe 6f411f2bfd Bug 870401 - Fix up the MFBT exports and the sources. r=mshal 2013-10-28 10:21:29 -04:00
Cykesiopka d2f6b7333c Bug 914270 - Part 1: Simple/Automated moves. r=joey 2013-10-24 18:51:00 +01:00
Mike Hommey 59a17d0f20 Bug 921492 - Make StrictOrderingOnAppendList use actual alphabetical sorting. r=mshal,r=gps 2013-10-24 08:05:43 +09:00
Benjamin Bouvier c695034824 Bug 913282: IsFloat32Representable function in mfbt; r=Waldo
--HG--
extra : rebase_source : 0d4d6f02b880c37d29e3e41e9d105365d9f941b0
2013-10-22 14:55:35 +02:00
Benjamin Bouvier 7f3147dfed Bug 913282: More Float32 operators: Abs; p=dougc,bbouvier; r=jonco,sstangl
dougc for the ARM parts, bbouvier for the rest.
2013-10-22 14:53:12 +02:00
Masatoshi Kimura ede451acef Bug 928210 - Get rid of MOZ_INLINE 2013-10-22 06:34:24 +09:00
Ehsan Akhgari d10c36d360 Bug 928091 follow-up: Rewrite the comment in English
--HG--
extra : rebase_source : 9b8c45128f10aa00e0a8e1ab17156c2a42e812db
2013-10-18 20:34:49 -04:00
Ehsan Akhgari a63efa75df Bug 928091 - Fix builds for VS2012 and VS2013 to deal with our char16_t machinery; pending r=Waldo
Landing on a CLOSED TREE because this is blocking multiple people.  My apologies!
2013-10-18 18:49:22 -04:00
Till Schneidereit 3e95f5657a Bug 888658 - Add LZ4 compression to mfbt. r=jwalden,vlad
--HG--
extra : rebase_source : e92051145948cd3c1e6f95596563d8c13e231ee3
2013-10-18 20:25:30 +02:00
Vladimir Vukicevic eb2da8cf2e Bug 888658 - Assertions.h fixup for windows. r=jwalden
--HG--
extra : rebase_source : 7e7fb741860c2603aa1b838eff7761ddcd50e867
2013-10-15 09:07:00 +02:00
Reuben Morais 7c7e7724ea Bug 921871 - Fix -Wunitialized warning in Vector.h. r=Waldo
--HG--
extra : rebase_source : 117d37c7a44c79c6a3b446f3828e5464fc9e391f
2013-10-17 18:29:46 -03:00
Christian Holler 6f7607f758 Bug 847350 - Add/Update MOZ_ASAN/TSAN_BLACKLIST macros. r=waldo
--HG--
extra : rebase_source : c4c58d30ff0b46ca57093cc0b3bbc37af56f2095
2013-10-17 16:29:11 +02:00
Ehsan Akhgari b7d148db05 Bug 895047 - Make char16_t available everywhere and use that to define PRUnichar and jschar; r=jcranmer,jorendorff,glandium 2013-10-17 00:36:13 -04:00
Phil Ringnalda b808ef7069 Back out ee100983f921 (bug 895047) for build bustage
CLOSED TREE
2013-10-16 21:51:55 -07:00
Ehsan Akhgari 5582e7b472 Bug 895047 - Make char16_t available everywhere and use that to define PRUnichar and jschar; r=jcranmer,jorendorff,glandium 2013-10-17 00:36:13 -04:00
Ehsan Akhgari 4660924fcb Bug 923554 - Backout the atomic weak pointer implementation because it's neither atomic nor thread-safe; r=froydnj 2013-10-16 13:48:34 -04:00
Ehsan Akhgari d6529bb5d1 Bug 926083 - Only #include Compiler.h in NullPtr.h if needed; r=froydnj 2013-10-15 17:13:39 -04:00
Ehsan Akhgari 34db8126cf Bug 924014 - Do not rely on std::numeric_limits<char16_t> being available; r=Waldo 2013-10-15 11:55:37 -04:00
Ehsan Akhgari 763b16b0a6 Bug 924012 - Provide a HashString version for char16_t if needed; r=Waldo 2013-10-15 11:54:08 -04:00
Ehsan Akhgari b7844a297e Bug 923886 - Remove the Assertions.h #include from Char16.h; r=Waldo 2013-10-05 21:23:07 -04:00
Dan Gohman d359733f1c Bug 924637 - Document a somewhat counterintuitive case in ExponentComponent, and add test coverage for it. r=waldo 2013-10-09 06:41:42 -07:00
Gian-Carlo Pascutto 63f2958637 Bug 923170 - Require GCC 4.6.x before enabling strong enum support. r=Waldo 2013-10-08 15:25:13 -04:00
Birunthan Mohanathas 18e6a4180c Bug 918436 - Make the type argument of MOZ_BEGIN(_NESTED)_ENUM_CLASS optional and add tests. r=Waldo 2013-10-04 13:17:13 -04:00
Jim Blandy deee1f4630 Bug 919337: Use static_assert in double_conversion::BitCast. r=waldo 2013-09-29 21:18:26 -07:00
Bobby Holley 7fcde1d302 Bug 917593 - Don't assert for zero-length strings. r=Waldo 2013-09-27 18:34:24 +02:00
Mike Hommey fb1d665f33 Bug 919832 - Remove EXPORTS related rules from rules.mk. r=gps 2013-09-26 16:43:52 +09:00
Ryan VanderMeulen e9cbf86254 Backed out changeset 74459407359a (bug 917593) for Windows debug checktest asserts. 2013-09-24 16:20:15 -04:00
Bobby Holley aa9e479063 Bug 917593 - Don't assert for zero-length strings. r=Waldo 2013-09-24 08:03:22 -07:00
Benjamin Bouvier adb7f75b72 Bug 913282: Add mfbt Float32 asserts and constants; r=Waldo 2013-09-20 12:08:49 -07:00
Dan Gohman 6c632eebc4 Bug 918350 - Change UnspecifiedNaN's bit pattern to be the all-ones NaN. r=waldo 2013-09-19 18:47:55 -07:00
Dan Gohman dfbc494859 Bug 918350 - SpiderMonkey: Remove js_NaN in favor of a new mozilla::GenericNaN() function. r=waldo 2013-09-19 18:42:56 -07:00
Joshua Cranmer 44ee5d6929 Bug 904985, part 1: Add better support for char16_t in type traits, r=Waldo.
--HG--
extra : rebase_source : 45cb9155312ead0b8164e1e460c9fd2e39f0d6fc
2013-09-17 22:43:04 -05:00
Jonathan Watt a43cb31d79 Bug 909467 - HTMLInputElement crash loading 8bit.js test (consistantly link against the correct StringBuilder). r=Waldo 2013-09-17 13:24:35 +01:00
Seth Fowler f9cdc752b1 Bug 912299 - Make RefCounted's refcount field mutable. r=waldo 2013-09-06 13:32:55 -07:00
Mike Hommey f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Jeff Walden de9ce95170 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
Jeff Walden 2e1d99cde5 Bug 730805 - Import, unmodified, the Microsoft-compatible <inttypes.h> implementation from the 'msinttypes' Google Code project, r26, into mfbt. r=gerv
--HG--
extra : rebase_source : 3fa8943627740fc4a4a39b173f8dd77d93f8f8e2
2011-12-07 21:52:38 -05:00
Dan Gohman a466fea3f5 Bug 910814 - IonMonkey: Add testcases for several FloatingPoint.h predicates. r=waldo 2013-09-02 13:53:35 -07:00
Jan Beich c844d2ff62 Bug 911140 - Fix a typo that prevents libc++ from using C++11 atomics. r=jcranmer 2013-08-30 16:14:52 -04:00
Joshua Cranmer 7cc0542786 Bug 906783 - Attempt to detect the standard C++ library version, r=Waldo 2013-08-29 22:44:23 -05:00
Justin Lebar 6bc3732c09 Bug 906912 - Add move constructors to mozilla::LinkedList and mozilla::LinkedListElement. r=waldo
--HG--
extra : rebase_source : 864a78505421e129a4553634e08a7f9fc343d7d1
2013-08-29 11:54:14 -07:00
Justin Lebar 66f7416cab Bug 909977 - Rename mozilla::Move to mozilla::OldMove, and make mozilla::Move a synonym for std::move(). r=waldo
--HG--
extra : rebase_source : 7b3bb02cc8cbc0ad6721c6c3895564d9567b8ddb
2013-08-29 11:54:14 -07:00
Justin Lebar 35a65ed466 Bug 909514 - Include <new> before mozilla::Maybe (and move Maybe into mfbt/Maybe.h). r=waldo
--HG--
rename : mfbt/Util.h => mfbt/Maybe.h
2013-08-27 15:10:28 -07:00
Justin Lebar 3005147418 No bug: Fix whitespace in mozilla/LinkedList.h. DONTBUILD 2013-08-22 14:39:34 -07:00
Justin Lebar 731cefe044 Bug 907227 - Properly delete LinkedListElement's implicit copy-constructor and operator=. r=waldo
--HG--
extra : rebase_source : b5f09c990f38537266c3e42a211a483e1dd291d6
2013-08-21 12:04:29 -07:00
Justin Lebar 9c181eb3fd Bug 906909 - Make LinkedList::debugAssertIsSane() compile. r=waldo
--HG--
extra : rebase_source : 60027f53b4a8fa91dd7e42863c271c36395d6851
2013-08-21 12:04:29 -07:00
Dan Gohman 490ec473f0 Bug 906368 - IonMonkey: Define a proper CountPopulation32 function, and use it in place of manual code in RegisterSets.h. r=nbp 2013-08-19 12:32:22 -07:00
Luke Wagner 240cf1fc53 Bug 905850 - Vector should not be copyable (r=terrence)
--HG--
extra : rebase_source : 49c2175af92b79a08982d7dfbc7b7af266b27f7a
2013-08-16 10:21:28 -05:00
Trevor Saunders 523a468b97 bug 905243 - make the constructors for mozilla::Atomic constexpr r=froydnj 2013-08-14 16:28:17 -04:00
Ms2ger 9d023a67df Bug 904110 - Move alignment features out of Util.h into a new header; r=Waldo 2013-08-14 09:00:52 +02:00
Ms2ger dd430907f0 Bug 903797 - Update mfbt/STYLE to the current policy about include guards; r=Waldo 2013-08-14 09:00:42 +02:00
Till Schneidereit 2616b9851c Bug 898653 - Quell 'not enough parameters for macro' warnings in MSVC. r=djvj
--HG--
extra : rebase_source : 7e467027c24b795d6764894c12290a630663830e
2013-07-27 13:05:36 +02:00
Nathan Froyd 23a4a49409 Bug 900965 - compile failures with gcc 4.6.3 on std::atomic enum support from bug 888548 r=waldo 2013-08-02 18:18:41 -07:00
Guillaume Abadie 7aa8f18b52 bug 899859 - Add typed enums support in strutures / classes - r=Waldo 2013-08-02 20:51:00 -04:00
Birunthan Mohanathas 1baab48cb7 Bug 888548 - Part 3: Add enum support to mozilla::Atomic<T>. r=froydnj
Due to a bug in GCC, the compareExchange function is not available with enum types.
2013-08-01 21:21:32 -04:00
Birunthan Mohanathas e58014264e Bug 888548 - Part 2: Refactor and cleanup mozilla::Atomic<T> implementation. r=froydnj
This moves the increment and decrement operators from detail::AtomicBase to
detail::AtomicBaseIncDec and moves the implementation of the assignment
operator into detail::AtomicBase. Additionally, this changes the integral
implementation to use mozilla::EnableIf for its specialization.
2013-08-01 21:21:32 -04:00
Birunthan Mohanathas 63361e8113 Bug 888548 - Part 1: Add mozilla::IsEnum to TypeTraits.h. r=froydnj 2013-08-01 21:21:31 -04:00
Daniel Holbert 833ec04321 backout 1e31542e117c (Bug 888548 part 1) for B2G build bustage on a CLOSED TREE 2013-07-31 19:05:34 -07:00
Daniel Holbert f8d5639ac1 backout f607ac59de19 (Bug 888548 part 2) for B2G build bustage 2013-07-31 19:05:05 -07:00
Daniel Holbert 819cbd5af1 backout fc98067f0aa4 (Bug 888548 part 3) for B2G build bustage 2013-07-31 19:04:25 -07:00
Birunthan Mohanathas 6f4e72b203 Bug 888548 - Part 3: Add enum support to mozilla::Atomic<T>. r=froydnj
Due to a bug in GCC, the compareExchange function is not available with enum types.
2013-07-31 21:15:25 -04:00
Birunthan Mohanathas 19404c8ec4 Bug 888548 - Part 2: Refactor and cleanup mozilla::Atomic<T> implementation. r=froydnj
This moves the increment and decrement operators from detail::AtomicBase to
detail::AtomicBaseIncDec and moves the implementation of the assignment
operator into detail::AtomicBase. Additionally, this changes the integral
implementation to use mozilla::EnableIf for its specialization.
2013-07-31 21:15:25 -04:00
Birunthan Mohanathas 1ee96e1d2b Bug 888548 - Part 1: Add mozilla::IsEnum to TypeTraits.h. r=froydnj 2013-07-31 21:15:25 -04:00
Ehsan Akhgari d344af7264 Bug 895322 - Part 5: Stop #defining MOZ_STATIC_ASSERT in C++ code; r=Waldo
--HG--
extra : rebase_source : 463c9918228e3f46c909cc7cad45c9d2913b0152
2013-07-18 14:39:20 -04:00
Ehsan Akhgari 2824b29025 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
Nathan Froyd 86df43c75a Bug 898491 - use the four argument form of compare_exchange_strong in Atomics.h; r=Waldo
The C++ standard (29.6p20-22 in N3337) specifies limitations on the failure ordering
for atomic compare-and-exchange.  Specifically, you can't pass memory_order_acq_rel or
memory_order_release.  For the (T&, T, std::memory_order) version, which we use, the
standard specifies that the provided argument should be "lowered" to comply with the
above restrictions on the failure ordering (29.6p21).

However, it seems that some versions of GCC's <atomic> header don't follow the spec
for the generic versions of std::atomic<>, though they do follow the spec with the
appropriate specializations (bool, integer, and pointer) of std::atomic<>.  This
results in mysterious failures when using atomic enums, as bug 888548 purports to
do, and ReleaseAcquire ordering.

Happily, we can work around this by using the more explicit version of
compare-and-exchange.  I've chosen to add another member to AtomicOrderConstraints,
even though it'd be the same as LoadOrder.  I feel explicitness is to be preferred
here.
2013-07-26 12:31:19 -04:00
Ehsan Akhgari 8a2e6c774e Bug 872127 - Part 3: Remove MSStdInt.h; r=Waldo 2013-07-30 10:25:42 -04:00
Ehsan Akhgari ef4b479714 Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted 2013-07-30 10:25:31 -04:00