Bug 1481097 - wasm: Remove inline template workaround for gcc 4.8.5 bug. r?lth draft
authorChris Peterson <cpeterson@mozilla.com>
Sun, 22 Jul 2018 00:21:45 -0700
changeset 826874 8dd23750589f0e38fcadf60b214c5778d7743a97
parent 826871 26d5f8f2a527d5bf0b071b856d7fad9785f8d1c8
child 826875 c3fbec637c33c99acb20b3f22507298df49c259e
push id118400
push usercpeterson@mozilla.com
push dateSun, 05 Aug 2018 22:56:09 +0000
bugs1481097, 1316850, 1444274
Bug 1481097 - wasm: Remove inline template workaround for gcc 4.8.5 bug. r?lth This gcc 4.8.5 workaround (from bug 1316850) is no longer needed because Firefox currently requires gcc 6.1 or later (as of bug 1444274). MozReview-Commit-ID: 4JFmOYoJnMH
--- a/js/src/wasm/WasmBaselineCompile.cpp
+++ b/js/src/wasm/WasmBaselineCompile.cpp
@@ -5877,20 +5877,17 @@ class BaseCompiler final : public BaseCo
     MOZ_MUST_USE RegI32 maybeLoadTlsForAccess(const AccessCheck& check);
     MOZ_MUST_USE RegI32 maybeLoadTlsForAccess(const AccessCheck& check, RegI32 specific);
     MOZ_MUST_USE bool emitLoad(ValType type, Scalar::Type viewType);
     MOZ_MUST_USE bool loadCommon(MemoryAccessDesc* access, ValType type);
     MOZ_MUST_USE bool emitStore(ValType resultType, Scalar::Type viewType);
     MOZ_MUST_USE bool storeCommon(MemoryAccessDesc* access, ValType resultType);
     MOZ_MUST_USE bool emitSelect();
-    // Mark these templates as inline to work around a compiler crash in
-    // gcc 4.8.5 when compiling for linux64-opt.
-    template<bool isSetLocal> MOZ_MUST_USE inline bool emitSetOrTeeLocal(uint32_t slot);
+    template<bool isSetLocal> MOZ_MUST_USE bool emitSetOrTeeLocal(uint32_t slot);
     void endBlock(ExprType type);
     void endLoop(ExprType type);
     void endIfThen();
     void endIfThenElse(ExprType type);
     void doReturn(ExprType returnType, bool popStack);
     void pushReturnedIfNonVoid(const FunctionCall& call, ExprType type);