Bug 1143966 - Remove type specifier from AllocKind to avoid miscompilations on GCC. r=terrence
authorEmanuel Hoogeveen <emanuel.hoogeveen@gmail.com>
Thu, 19 Mar 2015 13:59:00 -0400
changeset 234758 1d901261795745509c9e9e3eefdff222ee7f756e
parent 234757 e8438b5f3d4617eec12554de8e9b6331bf9cabf8
child 234759 f709311934dc4ab1efc8c302811b759d43b88f48
push id28454
push userphilringnalda@gmail.com
push dateSat, 21 Mar 2015 19:32:28 +0000
treeherdermozilla-central@f949be6cd23e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersterrence
bugs1143966
milestone39.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1143966 - Remove type specifier from AllocKind to avoid miscompilations on GCC. r=terrence
js/src/gc/Heap.h
--- a/js/src/gc/Heap.h
+++ b/js/src/gc/Heap.h
@@ -71,17 +71,19 @@ MarkKind(JSTracer *trc, void **thingp, J
  * site.
  */
 enum InitialHeap {
     DefaultHeap,
     TenuredHeap
 };
 
 /* The GC allocation kinds. */
-enum class AllocKind : uint8_t {
+// FIXME: uint8_t would make more sense for the underlying type, but causes
+// miscompilations in GCC (fixed in 4.8.5 and 4.9.3). See also bug 1143966.
+enum class AllocKind {
     FIRST,
     OBJECT0 = FIRST,
     OBJECT0_BACKGROUND,
     OBJECT2,
     OBJECT2_BACKGROUND,
     OBJECT4,
     OBJECT4_BACKGROUND,
     OBJECT8,