Bug 1692447: Remove no longer necessary includes to "mozilla/Attributes.h". r=jandem
authorAndré Bargull <andre.bargull@gmail.com>
Fri, 12 Feb 2021 16:58:46 +0000
changeset 567318 afe79f6f82272096396e40e99085ba0d578936c6
parent 567317 c1a6871d6ac2b5de092236443bce23a72cc1f34e
child 567319 83a171c7c54b175e88a13c9afcd57623f1658389
push id38199
push usercbrindusan@mozilla.com
push dateFri, 12 Feb 2021 21:51:52 +0000
treeherdermozilla-central@6f7e9ff0c23e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjandem
bugs1692447
milestone87.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 1692447: Remove no longer necessary includes to "mozilla/Attributes.h". r=jandem "mozilla/Attributes.h" was previously included for `MOZ_MUST_USE`. Differential Revision: https://phabricator.services.mozilla.com/D104984
js/src/builtin/DataViewObject.h
js/src/builtin/String.h
js/src/builtin/intl/Collator.h
js/src/builtin/intl/DateTimeFormat.h
js/src/builtin/intl/DisplayNames.h
js/src/builtin/intl/IntlObject.h
js/src/builtin/intl/ListFormat.h
js/src/builtin/intl/PluralRules.h
js/src/builtin/intl/RelativeTimeFormat.h
js/src/ctypes/Library.h
js/src/debugger/Debugger.h
js/src/debugger/Environment.h
js/src/debugger/Frame.h
js/src/debugger/Object.h
js/src/frontend/BytecodeCompilation.h
js/src/frontend/EitherParser.h
js/src/frontend/EmitterScope.h
js/src/frontend/FullParseHandler.h
js/src/frontend/NameFunctions.h
js/src/frontend/ParseNode.h
js/src/frontend/ParseNodeVisitor.h
js/src/frontend/SyntaxParseHandler.h
js/src/frontend/TDZCheckCache.h
js/src/frontend/UsedNameTracker.h
js/src/gc/Memory.h
js/src/jstypes.h
js/src/threading/ConditionVariable.h
js/src/threading/Thread.h
js/src/util/CheckedArithmetic.h
js/src/vm/BytecodeUtil.cpp
js/src/vm/DateTime.h
js/src/vm/Opcodes.h
js/src/vm/RegExpObject.h
js/src/vm/SymbolType.h
js/src/vm/TypedArrayObject.h
js/src/vm/UbiNode.cpp
js/src/wasm/WasmContext.h
js/src/wasm/WasmCraneliftCompile.h
js/src/wasm/WasmIonCompile.h
js/src/wasm/WasmProcess.h
js/src/wasm/WasmSignalHandlers.h
--- a/js/src/builtin/DataViewObject.h
+++ b/js/src/builtin/DataViewObject.h
@@ -2,17 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef vm_DataViewObject_h
 #define vm_DataViewObject_h
 
-#include "mozilla/Attributes.h"
 #include "mozilla/CheckedInt.h"
 
 #include "gc/Barrier.h"
 #include "js/Class.h"
 #include "vm/ArrayBufferObject.h"
 #include "vm/ArrayBufferViewObject.h"
 #include "vm/JSObject.h"
 #include "vm/SharedArrayObject.h"
--- a/js/src/builtin/String.h
+++ b/js/src/builtin/String.h
@@ -2,18 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef builtin_String_h
 #define builtin_String_h
 
-#include "mozilla/Attributes.h"
-
 #include "NamespaceImports.h"
 
 #include "js/RootingAPI.h"
 #include "js/Value.h"
 
 namespace js {
 
 class ArrayObject;
--- a/js/src/builtin/intl/Collator.h
+++ b/js/src/builtin/intl/Collator.h
@@ -2,18 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef builtin_intl_Collator_h
 #define builtin_intl_Collator_h
 
-#include "mozilla/Attributes.h"
-
 #include <stdint.h>
 
 #include "builtin/SelfHostingDefines.h"
 #include "js/Class.h"
 #include "vm/NativeObject.h"
 
 struct UCollator;
 
--- a/js/src/builtin/intl/DateTimeFormat.h
+++ b/js/src/builtin/intl/DateTimeFormat.h
@@ -2,18 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef builtin_intl_DateTimeFormat_h
 #define builtin_intl_DateTimeFormat_h
 
-#include "mozilla/Attributes.h"
-
 #include "builtin/intl/CommonFunctions.h"
 #include "builtin/SelfHostingDefines.h"
 #include "js/Class.h"
 #include "js/RootingAPI.h"
 #include "vm/NativeObject.h"
 
 using UDateFormat = void*;
 struct UDateIntervalFormat;
--- a/js/src/builtin/intl/DisplayNames.h
+++ b/js/src/builtin/intl/DisplayNames.h
@@ -2,18 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef builtin_intl_DisplayNames_h
 #define builtin_intl_DisplayNames_h
 
-#include "mozilla/Attributes.h"
-
 #include <stddef.h>
 #include <stdint.h>
 
 #include "jstypes.h"
 #include "NamespaceImports.h"
 
 #include "builtin/SelfHostingDefines.h"
 #include "js/Class.h"  // JSClass, JSClassOps, js::ClassSpec
--- a/js/src/builtin/intl/IntlObject.h
+++ b/js/src/builtin/intl/IntlObject.h
@@ -2,18 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef builtin_intl_IntlObject_h
 #define builtin_intl_IntlObject_h
 
-#include "mozilla/Attributes.h"
-
 #include "js/RootingAPI.h"
 #include "js/TypeDecls.h"
 
 namespace js {
 
 extern const JSClass IntlClass;
 
 /**
--- a/js/src/builtin/intl/ListFormat.h
+++ b/js/src/builtin/intl/ListFormat.h
@@ -2,18 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef builtin_intl_ListFormat_h
 #define builtin_intl_ListFormat_h
 
-#include "mozilla/Attributes.h"
-
 #include <stdint.h>
 
 #include "builtin/SelfHostingDefines.h"
 #include "js/Class.h"
 #include "js/RootingAPI.h"
 #include "vm/NativeObject.h"
 
 class JSFreeOp;
--- a/js/src/builtin/intl/PluralRules.h
+++ b/js/src/builtin/intl/PluralRules.h
@@ -2,18 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef builtin_intl_PluralRules_h
 #define builtin_intl_PluralRules_h
 
-#include "mozilla/Attributes.h"
-
 #include "builtin/SelfHostingDefines.h"
 #include "js/Class.h"
 #include "js/RootingAPI.h"
 #include "vm/NativeObject.h"
 
 struct UFormattedNumber;
 struct UNumberFormatter;
 struct UPluralRules;
--- a/js/src/builtin/intl/RelativeTimeFormat.h
+++ b/js/src/builtin/intl/RelativeTimeFormat.h
@@ -2,18 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef builtin_intl_RelativeTimeFormat_h
 #define builtin_intl_RelativeTimeFormat_h
 
-#include "mozilla/Attributes.h"
-
 #include <stdint.h>
 
 #include "builtin/SelfHostingDefines.h"
 #include "gc/Barrier.h"
 #include "js/Class.h"
 #include "vm/NativeObject.h"
 #include "vm/Runtime.h"
 
--- a/js/src/ctypes/Library.h
+++ b/js/src/ctypes/Library.h
@@ -2,18 +2,16 @@
  */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef ctypes_Library_h
 #define ctypes_Library_h
 
-#include "mozilla/Attributes.h"
-
 #include "js/TypeDecls.h"
 
 namespace JS {
 struct CTypesCallbacks;
 }  // namespace JS
 
 struct PRLibrary;
 
--- a/js/src/debugger/Debugger.h
+++ b/js/src/debugger/Debugger.h
@@ -3,17 +3,17 @@
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef debugger_Debugger_h
 #define debugger_Debugger_h
 
 #include "mozilla/Assertions.h"        // for MOZ_ASSERT_HELPER1
-#include "mozilla/Attributes.h"        // [[nodiscard]] for, MOZ_RAII
+#include "mozilla/Attributes.h"        // for MOZ_RAII
 #include "mozilla/DoublyLinkedList.h"  // for DoublyLinkedListElement
 #include "mozilla/HashTable.h"         // for HashSet, DefaultHasher (ptr only)
 #include "mozilla/LinkedList.h"        // for LinkedList (ptr only)
 #include "mozilla/Maybe.h"             // for Maybe, Nothing
 #include "mozilla/Range.h"             // for Range
 #include "mozilla/Result.h"            // for Result
 #include "mozilla/TimeStamp.h"         // for TimeStamp
 #include "mozilla/Variant.h"           // for Variant
--- a/js/src/debugger/Environment.h
+++ b/js/src/debugger/Environment.h
@@ -3,17 +3,16 @@
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef debugger_Environment_h
 #define debugger_Environment_h
 
 #include "mozilla/Assertions.h"  // for AssertionConditionType, MOZ_ASSERT
-#include "mozilla/Attributes.h"  // [[nodiscard]] for
 #include "mozilla/Maybe.h"       // for Maybe
 
 #include "jstypes.h"            // for JS_PUBLIC_API
 #include "NamespaceImports.h"   // for Value, HandleId, HandleObject
 #include "debugger/Debugger.h"  // for Env
 #include "gc/Rooting.h"         // for HandleDebuggerEnvironment
 #include "js/PropertySpec.h"    // for JSFunctionSpec, JSPropertySpec
 #include "js/RootingAPI.h"      // for Handle, MutableHandle
--- a/js/src/debugger/Frame.h
+++ b/js/src/debugger/Frame.h
@@ -2,20 +2,19 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef debugger_Frame_h
 #define debugger_Frame_h
 
-#include "mozilla/Attributes.h"  // [[nodiscard]] for
-#include "mozilla/Maybe.h"       // for Maybe
-#include "mozilla/Range.h"       // for Range
-#include "mozilla/Result.h"      // for Result
+#include "mozilla/Maybe.h"   // for Maybe
+#include "mozilla/Range.h"   // for Range
+#include "mozilla/Result.h"  // for Result
 
 #include <stddef.h>  // for size_t
 
 #include "jsapi.h"  // for JSContext, CallArgs
 
 #include "NamespaceImports.h"   // for Value, MutableHandleValue, HandleObject
 #include "debugger/DebugAPI.h"  // for ResumeMode
 #include "debugger/Debugger.h"  // for ResumeMode, Handler, Debugger
--- a/js/src/debugger/Object.h
+++ b/js/src/debugger/Object.h
@@ -3,17 +3,16 @@
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef debugger_Object_h
 #define debugger_Object_h
 
 #include "mozilla/Assertions.h"  // for AssertionConditionType, MOZ_ASSERT
-#include "mozilla/Attributes.h"  // [[nodiscard]] for
 #include "mozilla/Maybe.h"       // for Maybe
 #include "mozilla/Range.h"       // for Range
 #include "mozilla/Result.h"      // for Result
 
 #include "jsapi.h"             // for JSContext
 #include "jstypes.h"           // for JS_PUBLIC_API
 #include "NamespaceImports.h"  // for Value, MutableHandleValue, HandleId
 
--- a/js/src/frontend/BytecodeCompilation.h
+++ b/js/src/frontend/BytecodeCompilation.h
@@ -2,20 +2,18 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef frontend_BytecodeCompilation_h
 #define frontend_BytecodeCompilation_h
 
-#include "mozilla/Assertions.h"  // MOZ_ASSERT
-#include "mozilla/Attributes.h"  // MOZ_STACK_CLASS
-#include "mozilla/Maybe.h"       // mozilla::Maybe, mozilla::Nothing
-#include "mozilla/Utf8.h"        // mozilla::Utf8Unit
+#include "mozilla/Maybe.h"  // mozilla::Maybe, mozilla::Nothing
+#include "mozilla/Utf8.h"   // mozilla::Utf8Unit
 
 #include <stddef.h>  // size_t
 #include <stdint.h>  // uint32_t
 
 #include "jstypes.h"  // JS_PUBLIC_API
 
 #include "frontend/CompilationStencil.h"  // CompilationStencil, CompilationGCOutput
 #include "frontend/ParseContext.h"        // js::frontend::UsedNameTracker
--- a/js/src/frontend/EitherParser.h
+++ b/js/src/frontend/EitherParser.h
@@ -7,17 +7,16 @@
 /*
  * A variant-like class abstracting operations on a Parser with a given
  * ParseHandler but unspecified character type.
  */
 
 #ifndef frontend_EitherParser_h
 #define frontend_EitherParser_h
 
-#include "mozilla/Attributes.h"
 #include "mozilla/Tuple.h"
 #include "mozilla/Utf8.h"
 #include "mozilla/Variant.h"
 
 #include <type_traits>
 #include <utility>
 
 #include "frontend/BCEParserHandle.h"
--- a/js/src/frontend/EmitterScope.h
+++ b/js/src/frontend/EmitterScope.h
@@ -2,17 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef frontend_EmitterScope_h
 #define frontend_EmitterScope_h
 
-#include "mozilla/Attributes.h"
 #include "mozilla/Maybe.h"
 
 #include <stdint.h>
 
 #include "ds/Nestable.h"
 #include "frontend/AbstractScopePtr.h"
 #include "frontend/NameAnalysisTypes.h"
 #include "frontend/NameCollections.h"
--- a/js/src/frontend/FullParseHandler.h
+++ b/js/src/frontend/FullParseHandler.h
@@ -2,17 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef frontend_FullParseHandler_h
 #define frontend_FullParseHandler_h
 
-#include "mozilla/Attributes.h"
 #include "mozilla/Maybe.h"  // mozilla::Maybe
 #include "mozilla/PodOperations.h"
 
 #include <cstddef>  // std::nullptr_t
 #include <string.h>
 
 #include "frontend/FunctionSyntaxKind.h"  // FunctionSyntaxKind
 #include "frontend/NameAnalysisTypes.h"   // PrivateNameKind
--- a/js/src/frontend/NameFunctions.h
+++ b/js/src/frontend/NameFunctions.h
@@ -2,18 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef frontend_NameFunctions_h
 #define frontend_NameFunctions_h
 
-#include "mozilla/Attributes.h"
-
 #include "js/TypeDecls.h"
 
 namespace js {
 namespace frontend {
 
 class ParseNode;
 class ParserAtomsTable;
 
--- a/js/src/frontend/ParseNode.h
+++ b/js/src/frontend/ParseNode.h
@@ -3,17 +3,16 @@
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef frontend_ParseNode_h
 #define frontend_ParseNode_h
 
 #include "mozilla/Assertions.h"
-#include "mozilla/Attributes.h"
 #include "mozilla/Span.h"  // mozilla::Span
 
 #include <iterator>
 #include <stddef.h>
 #include <stdint.h>
 
 #include "jstypes.h"  // js::Bit
 
--- a/js/src/frontend/ParseNodeVisitor.h
+++ b/js/src/frontend/ParseNodeVisitor.h
@@ -3,17 +3,16 @@
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef frontend_ParseNodeVisitor_h
 #define frontend_ParseNodeVisitor_h
 
 #include "mozilla/Assertions.h"
-#include "mozilla/Attributes.h"
 
 #include "jsfriendapi.h"
 
 #include "frontend/ParseNode.h"
 #include "js/friend/StackLimits.h"  // js::CheckRecursionLimit
 
 namespace js {
 namespace frontend {
--- a/js/src/frontend/SyntaxParseHandler.h
+++ b/js/src/frontend/SyntaxParseHandler.h
@@ -3,17 +3,16 @@
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef frontend_SyntaxParseHandler_h
 #define frontend_SyntaxParseHandler_h
 
 #include "mozilla/Assertions.h"
-#include "mozilla/Attributes.h"
 #include "mozilla/Maybe.h"  // mozilla::Maybe
 
 #include <string.h>
 
 #include "frontend/FunctionSyntaxKind.h"  // FunctionSyntaxKind
 #include "frontend/NameAnalysisTypes.h"   // PrivateNameKind
 #include "frontend/ParseNode.h"
 #include "frontend/ParserAtom.h"  // TaggedParserAtomIndex
--- a/js/src/frontend/TDZCheckCache.h
+++ b/js/src/frontend/TDZCheckCache.h
@@ -2,17 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef frontend_TDZCheckCache_h
 #define frontend_TDZCheckCache_h
 
-#include "mozilla/Attributes.h"
 #include "mozilla/Maybe.h"
 
 #include "ds/Nestable.h"
 #include "frontend/NameCollections.h"
 #include "frontend/ParserAtom.h"  // TaggedParserAtomIndex
 #include "js/TypeDecls.h"
 #include "vm/Stack.h"
 
--- a/js/src/frontend/UsedNameTracker.h
+++ b/js/src/frontend/UsedNameTracker.h
@@ -2,18 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef frontend_UsedNameTracker_h
 #define frontend_UsedNameTracker_h
 
-#include "mozilla/Attributes.h"
-
 #include "frontend/ParserAtom.h"                   // TaggedParserAtomIndex
 #include "frontend/TaggedParserAtomIndexHasher.h"  // TaggedParserAtomIndexHasher
 #include "frontend/Token.h"
 #include "js/AllocPolicy.h"
 #include "js/HashTable.h"
 #include "js/Vector.h"
 
 #include "vm/StringType.h"
--- a/js/src/gc/Memory.h
+++ b/js/src/gc/Memory.h
@@ -2,18 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef gc_Memory_h
 #define gc_Memory_h
 
-#include "mozilla/Attributes.h"
-
 #include <stddef.h>
 
 namespace js {
 namespace gc {
 
 // Sanity check that our compiled configuration matches the currently
 // running instance and initialize any runtime data needed for allocation.
 void InitMemorySubsystem();
--- a/js/src/jstypes.h
+++ b/js/src/jstypes.h
@@ -16,17 +16,16 @@
 ** Instead of requiring these authors to find the dependent uses in their code
 ** and take the following steps only in those C files, we take steps once here
 ** for all C files.
 **/
 
 #ifndef jstypes_h
 #define jstypes_h
 
-#include "mozilla/Attributes.h"
 #include "mozilla/Casting.h"
 #include "mozilla/Types.h"
 
 #include <stddef.h>
 #include <stdint.h>
 
 // jstypes.h is (or should be!) included by every file in SpiderMonkey.
 // js-config.h also should be included by every file. So include it here.
--- a/js/src/threading/ConditionVariable.h
+++ b/js/src/threading/ConditionVariable.h
@@ -2,17 +2,16 @@
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef threading_ConditionVariable_h
 #define threading_ConditionVariable_h
 
-#include "mozilla/Attributes.h"
 #include "mozilla/PlatformConditionVariable.h"
 #include "mozilla/TimeStamp.h"
 
 #include <stdint.h>
 #include <utility>
 #ifndef XP_WIN
 #  include <pthread.h>
 #endif
--- a/js/src/threading/Thread.h
+++ b/js/src/threading/Thread.h
@@ -3,17 +3,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef threading_Thread_h
 #define threading_Thread_h
 
 #include "mozilla/Atomics.h"
-#include "mozilla/Attributes.h"
 #include "mozilla/TimeStamp.h"
 #include "mozilla/Tuple.h"
 
 #include <stdint.h>
 #include <type_traits>
 #include <utility>
 
 #include "js/Initialization.h"
--- a/js/src/util/CheckedArithmetic.h
+++ b/js/src/util/CheckedArithmetic.h
@@ -2,17 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef util_CheckedArithmetic_h
 #define util_CheckedArithmetic_h
 
-#include "mozilla/Attributes.h"
 #include "mozilla/Compiler.h"
 #include "mozilla/MathAlgorithms.h"
 
 #include <stdint.h>
 
 // This macro is should be `one' if current compiler supports builtin functions
 // like __builtin_sadd_overflow.
 #if MOZ_IS_GCC
--- a/js/src/vm/BytecodeUtil.cpp
+++ b/js/src/vm/BytecodeUtil.cpp
@@ -7,17 +7,16 @@
 /*
  * JS bytecode descriptors, disassemblers, and (expression) decompilers.
  */
 
 #include "vm/BytecodeUtil-inl.h"
 
 #define __STDC_FORMAT_MACROS
 
-#include "mozilla/Attributes.h"
 #include "mozilla/Maybe.h"
 #include "mozilla/ReverseIterator.h"
 #include "mozilla/Sprintf.h"
 #include "mozilla/Vector.h"
 
 #include <algorithm>
 #include <inttypes.h>
 #include <stdio.h>
--- a/js/src/vm/DateTime.h
+++ b/js/src/vm/DateTime.h
@@ -3,17 +3,16 @@
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef vm_DateTime_h
 #define vm_DateTime_h
 
 #include "mozilla/Assertions.h"
-#include "mozilla/Attributes.h"
 #include "mozilla/UniquePtr.h"
 #include "mozilla/Unused.h"
 
 #include <stdint.h>
 
 #include "js/Utility.h"
 #include "threading/ExclusiveData.h"
 
--- a/js/src/vm/Opcodes.h
+++ b/js/src/vm/Opcodes.h
@@ -3,18 +3,16 @@
  *
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef vm_Opcodes_h
 #define vm_Opcodes_h
 
-#include "mozilla/Attributes.h"
-
 #include <stddef.h>
 
 #include "vm/WellKnownAtom.h"  // js_*_str
 
 // clang-format off
 /*
  * [SMDOC] Bytecode Definitions
  *
--- a/js/src/vm/RegExpObject.h
+++ b/js/src/vm/RegExpObject.h
@@ -4,17 +4,16 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /* JavaScript RegExp objects. */
 
 #ifndef vm_RegExpObject_h
 #define vm_RegExpObject_h
 
-#include "mozilla/Attributes.h"
 #include "mozilla/MemoryReporting.h"
 
 #include "builtin/SelfHostingDefines.h"
 #include "gc/Marking.h"
 #include "js/GCHashTable.h"
 #include "js/RegExpFlags.h"
 #include "proxy/Proxy.h"
 #include "vm/ArrayObject.h"
--- a/js/src/vm/SymbolType.h
+++ b/js/src/vm/SymbolType.h
@@ -2,18 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef vm_SymbolType_h
 #define vm_SymbolType_h
 
-#include "mozilla/Attributes.h"
-
 #include <stdio.h>
 
 #include "jsapi.h"
 
 #include "gc/Barrier.h"
 #include "gc/Tracer.h"
 #include "js/AllocPolicy.h"
 #include "js/GCHashTable.h"
--- a/js/src/vm/TypedArrayObject.h
+++ b/js/src/vm/TypedArrayObject.h
@@ -2,17 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef vm_TypedArrayObject_h
 #define vm_TypedArrayObject_h
 
-#include "mozilla/Attributes.h"
 #include "mozilla/Maybe.h"
 #include "mozilla/TextUtils.h"
 
 #include "gc/Barrier.h"
 #include "gc/MaybeRooted.h"
 #include "js/Class.h"
 #include "js/experimental/TypedData.h"  // js::detail::TypedArrayLengthSlot
 #include "js/Result.h"
--- a/js/src/vm/UbiNode.cpp
+++ b/js/src/vm/UbiNode.cpp
@@ -2,17 +2,16 @@
  * vim: set ts=8 sts=2 et sw=2 tw=80:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "js/UbiNode.h"
 
 #include "mozilla/Assertions.h"
-#include "mozilla/Attributes.h"
 #include "mozilla/Range.h"
 
 #include <algorithm>
 
 #include "debugger/Debugger.h"
 #include "jit/JitCode.h"
 #include "js/Debug.h"
 #include "js/TracingAPI.h"
--- a/js/src/wasm/WasmContext.h
+++ b/js/src/wasm/WasmContext.h
@@ -14,17 +14,16 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_context_h
 #define wasm_context_h
 
-#include "mozilla/Attributes.h"
 #include "mozilla/MemoryReporting.h"
 #include "jstypes.h"
 #include "js/UniquePtr.h"
 
 struct JS_PUBLIC_API JSContext;
 
 namespace js {
 namespace wasm {
--- a/js/src/wasm/WasmCraneliftCompile.h
+++ b/js/src/wasm/WasmCraneliftCompile.h
@@ -14,18 +14,16 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_cranelift_compile_h
 #define wasm_cranelift_compile_h
 
-#include "mozilla/Attributes.h"
-
 #include "wasm/WasmGenerator.h"
 
 namespace js {
 namespace wasm {
 
 #ifdef ENABLE_WASM_CRANELIFT
 // Return whether CraneliftCompileFunction() can generate code on the current
 // device.  Usually you do *not* want this, you want CraneliftAvailable().
--- a/js/src/wasm/WasmIonCompile.h
+++ b/js/src/wasm/WasmIonCompile.h
@@ -14,18 +14,16 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_ion_compile_h
 #define wasm_ion_compile_h
 
-#include "mozilla/Attributes.h"
-
 #include "wasm/WasmGenerator.h"
 
 namespace js {
 namespace wasm {
 
 // Return whether IonCompileFunction() can generate code on the current device.
 // Usually you do *not* want this, you want IonAvailable().
 [[nodiscard]] bool IonPlatformSupport();
--- a/js/src/wasm/WasmProcess.h
+++ b/js/src/wasm/WasmProcess.h
@@ -15,17 +15,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_process_h
 #define wasm_process_h
 
 #include "mozilla/Atomics.h"
-#include "mozilla/Attributes.h"
 
 namespace js {
 namespace wasm {
 
 class Code;
 class CodeRange;
 class CodeSegment;
 
--- a/js/src/wasm/WasmSignalHandlers.h
+++ b/js/src/wasm/WasmSignalHandlers.h
@@ -14,18 +14,16 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_signal_handlers_h
 #define wasm_signal_handlers_h
 
-#include "mozilla/Attributes.h"
-
 #include "js/ProfilingFrameIterator.h"
 #include "wasm/WasmProcess.h"
 
 namespace js {
 namespace wasm {
 
 using RegisterState = JS::ProfilingFrameIterator::RegisterState;