diff --git a/js/src/gc/Marking.cpp b/js/src/gc/Marking.cpp
--- a/js/src/gc/Marking.cpp
+++ b/js/src/gc/Marking.cpp
@@ -1744,17 +1744,17 @@ GCMarker::processMarkStackTop(SliceBudge
         JSObject* obj = savedArray.ptr.asSavedValueArrayObject();
         if (restoreValueArray(savedArray, &vp, &end))
             pushValueArray(obj, vp, end);
         else
             repush(obj);
         return;
       }
 
-      default: MOZ_CRASH("Invalid tag in mark stack");
+      default: MOZ_MAKE_COMPILER_ASSUME_IS_UNREACHABLE("Invalid tag in mark stack");
     }
     return;
 
   scan_value_array:
     MOZ_ASSERT(vp <= end);
     while (vp != end) {
         budget.step();
         if (budget.isOverBudget()) {
