author | Jon Coppeard <jcoppeard@mozilla.com> |
Thu, 02 Nov 2017 11:34:22 +0000 | |
changeset 440608 | 1d72b8f7f10aa5add2209b9a3b61b9f3ba1e2d55 |
parent 440607 | ec967bb543146d82433dfea5bec356088fbef992 |
child 440609 | f7b7b510805eef3d86e884fc6c8ead9902894b5a |
push id | 8118 |
push user | ryanvm@gmail.com |
push date | Fri, 03 Nov 2017 00:38:34 +0000 |
treeherder | mozilla-beta@1c336e874ae8 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | sfink |
bugs | 1413635 |
milestone | 58.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
|
js/src/gc/AllocKind.h | file | annotate | diff | comparison | revisions | |
js/src/gc/Cell.h | file | annotate | diff | comparison | revisions | |
js/src/gc/Nursery.h | file | annotate | diff | comparison | revisions |
--- a/js/src/gc/AllocKind.h +++ b/js/src/gc/AllocKind.h @@ -68,19 +68,17 @@ namespace gc { D(JITCODE, JitCode, js::jit::JitCode, js::jit::JitCode, false, false) \ D(SCOPE, Scope, js::Scope, js::Scope, true, false) \ D(REGEXP_SHARED, RegExpShared, js::RegExpShared, js::RegExpShared, true, false) #define FOR_EACH_ALLOCKIND(D) \ FOR_EACH_OBJECT_ALLOCKIND(D) \ FOR_EACH_NONOBJECT_ALLOCKIND(D) -// 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 { +enum class AllocKind : uint8_t { #define DEFINE_ALLOC_KIND(allocKind, _1, _2, _3, _4, _5) allocKind, FOR_EACH_OBJECT_ALLOCKIND(DEFINE_ALLOC_KIND) OBJECT_LIMIT, OBJECT_LAST = OBJECT_LIMIT - 1, FOR_EACH_NONOBJECT_ALLOCKIND(DEFINE_ALLOC_KIND)
--- a/js/src/gc/Cell.h +++ b/js/src/gc/Cell.h @@ -37,17 +37,17 @@ CurrentThreadIsIonCompiling(); #endif extern void TraceManuallyBarrieredGenericPointerEdge(JSTracer* trc, gc::Cell** thingp, const char* name); namespace gc { class Arena; -enum class AllocKind; +enum class AllocKind : uint8_t; struct Chunk; class TenuredCell; // A GC cell is the base class for all GC things. struct Cell { public: MOZ_ALWAYS_INLINE bool isTenured() const { return !IsInsideNursery(this); }
--- a/js/src/gc/Nursery.h +++ b/js/src/gc/Nursery.h @@ -60,17 +60,17 @@ class JSONPrinter; void SetGCZeal(JSRuntime*, uint8_t, uint32_t); namespace gc { class AutoMaybeStartBackgroundAllocation; struct Cell; class MinorCollectionTracer; class RelocationOverlay; struct TenureCountCache; -enum class AllocKind; +enum class AllocKind : uint8_t; class TenuredCell; } /* namespace gc */ namespace jit { class MacroAssembler; } // namespace jit class TenuringTracer : public JSTracer