Title: [291165] trunk/Source
- Revision
- 291165
- Author
- mikh...@igalia.com
- Date
- 2022-03-11 06:27:16 -0800 (Fri, 11 Mar 2022)
Log Message
Debug build failure after r246172: ASSERT_UNDER_CONSTEXPR_CONTEXT should work in constexpr contexts
https://bugs.webkit.org/show_bug.cgi?id=236728
Reviewed by Michael Catanzaro.
ASSERT_UNDER_CONSTEXPR_CONTEXT is calling a non-constexpr function (WTFReportAssertionFailure)
when it fails, so it cannot be used for an assert not reached.
This patch adds a new RELEASE_ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT() macro
that calls CRASH_UNDER_CONSTEXPR_CONTEXT() instead of WTFReportAssertionFailure.
No functional change.
* wasm/WasmCompilationMode.h:
(JSC::Wasm::isOSREntry):
(JSC::Wasm::isAnyBBQ):
(JSC::Wasm::isAnyOMG):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (291164 => 291165)
--- trunk/Source/_javascript_Core/ChangeLog 2022-03-11 14:27:14 UTC (rev 291164)
+++ trunk/Source/_javascript_Core/ChangeLog 2022-03-11 14:27:16 UTC (rev 291165)
@@ -1,3 +1,23 @@
+2022-03-11 Mikhail R. Gadelha <mikh...@igalia.com>
+
+ Debug build failure after r246172: ASSERT_UNDER_CONSTEXPR_CONTEXT should work in constexpr contexts
+ https://bugs.webkit.org/show_bug.cgi?id=236728
+
+ Reviewed by Michael Catanzaro.
+
+ ASSERT_UNDER_CONSTEXPR_CONTEXT is calling a non-constexpr function (WTFReportAssertionFailure)
+ when it fails, so it cannot be used for an assert not reached.
+
+ This patch adds a new RELEASE_ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT() macro
+ that calls CRASH_UNDER_CONSTEXPR_CONTEXT() instead of WTFReportAssertionFailure.
+
+ No functional change.
+
+ * wasm/WasmCompilationMode.h:
+ (JSC::Wasm::isOSREntry):
+ (JSC::Wasm::isAnyBBQ):
+ (JSC::Wasm::isAnyOMG):
+
2022-03-10 Elliott Williams <e...@apple.com>
[XCBuild] Emit a discovered dependency file from offlineasm
Modified: trunk/Source/_javascript_Core/wasm/WasmCompilationMode.h (291164 => 291165)
--- trunk/Source/_javascript_Core/wasm/WasmCompilationMode.h 2022-03-11 14:27:14 UTC (rev 291164)
+++ trunk/Source/_javascript_Core/wasm/WasmCompilationMode.h 2022-03-11 14:27:16 UTC (rev 291165)
@@ -50,7 +50,7 @@
case CompilationMode::OMGForOSREntryMode:
return true;
}
- RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(false);
+ RELEASE_ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT();
}
constexpr inline bool isAnyBBQ(CompilationMode compilationMode)
@@ -65,7 +65,7 @@
case CompilationMode::EmbedderEntrypointMode:
return false;
}
- RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(false);
+ RELEASE_ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT();
}
constexpr inline bool isAnyOMG(CompilationMode compilationMode)
@@ -80,7 +80,7 @@
case CompilationMode::EmbedderEntrypointMode:
return false;
}
- RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(false);
+ RELEASE_ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT();
}
} } // namespace JSC::Wasm
Modified: trunk/Source/WTF/wtf/Assertions.h (291164 => 291165)
--- trunk/Source/WTF/wtf/Assertions.h 2022-03-11 14:27:14 UTC (rev 291164)
+++ trunk/Source/WTF/wtf/Assertions.h 2022-03-11 14:27:16 UTC (rev 291165)
@@ -331,6 +331,7 @@
#define ASSERT_UNDER_CONSTEXPR_CONTEXT(assertion) ((void)0)
#define ASSERT_AT(assertion, file, line, function) ((void)0)
#define ASSERT_NOT_REACHED(...) ((void)0)
+#define ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT(...) ((void)0)
#define ASSERT_NOT_IMPLEMENTED_YET() ((void)0)
#define ASSERT_IMPLIES(condition, assertion) ((void)0)
#define NO_RETURN_DUE_TO_ASSERT
@@ -378,6 +379,10 @@
CRASH_WITH_INFO(__VA_ARGS__); \
} while (0)
+#define ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT(...) do { \
+ CRASH_UNDER_CONSTEXPR_CONTEXT(); \
+} while (0)
+
#define ASSERT_NOT_IMPLEMENTED_YET() do { \
WTFReportNotImplementedYet(__FILE__, __LINE__, WTF_PRETTY_FUNCTION); \
CRASH(); \
@@ -655,6 +660,7 @@
#define RELEASE_ASSERT_WITH_MESSAGE(assertion, ...) RELEASE_ASSERT(assertion)
#define RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(assertion) RELEASE_ASSERT(assertion)
#define RELEASE_ASSERT_NOT_REACHED(...) CRASH_WITH_INFO(__VA_ARGS__)
+#define RELEASE_ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT() CRASH_UNDER_CONSTEXPR_CONTEXT();
#define RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(assertion) do { \
if (UNLIKELY(!(assertion))) { \
CRASH_UNDER_CONSTEXPR_CONTEXT(); \
@@ -667,6 +673,7 @@
#define RELEASE_ASSERT_WITH_MESSAGE(assertion, ...) ASSERT_WITH_MESSAGE(assertion, __VA_ARGS__)
#define RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(assertion) ASSERT_WITH_SECURITY_IMPLICATION(assertion)
#define RELEASE_ASSERT_NOT_REACHED() ASSERT_NOT_REACHED()
+#define RELEASE_ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT() ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT()
#define RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(assertion) ASSERT_UNDER_CONSTEXPR_CONTEXT(assertion)
#endif /* ASSERT_ENABLED */
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes