Index: src/checks.h |
diff --git a/src/checks.h b/src/checks.h |
index f5c5f232bd5e3e12afb8b8c0ec0e9154477080dd..9d2db28d8f3106f1e781c2d69820089d7b82f0ad 100644 |
--- a/src/checks.h |
+++ b/src/checks.h |
@@ -272,7 +272,24 @@ template <int> class StaticAssertionHelper { }; |
#endif |
+#ifdef DEBUG |
+#ifndef OPTIMIZED_DEBUG |
+#define ENABLE_SLOW_ASSERTS 1 |
+#endif |
+#endif |
+ |
+namespace v8 { |
+namespace internal { |
+#ifdef ENABLE_SLOW_ASSERTS |
+#define SLOW_ASSERT(condition) \ |
+ CHECK(!v8::internal::FLAG_enable_slow_asserts || (condition)) |
extern bool FLAG_enable_slow_asserts; |
+#else |
+#define SLOW_ASSERT(condition) ((void) 0) |
+const bool FLAG_enable_slow_asserts = false; |
+#endif |
+} // namespace internal |
+} // namespace v8 |
// The ASSERT macro is equivalent to CHECK except that it only |
@@ -285,7 +302,6 @@ extern bool FLAG_enable_slow_asserts; |
#define ASSERT_GE(v1, v2) CHECK_GE(v1, v2) |
#define ASSERT_LT(v1, v2) CHECK_LT(v1, v2) |
#define ASSERT_LE(v1, v2) CHECK_LE(v1, v2) |
-#define SLOW_ASSERT(condition) CHECK(!FLAG_enable_slow_asserts || (condition)) |
#else |
#define ASSERT_RESULT(expr) (expr) |
#define ASSERT(condition) ((void) 0) |
@@ -294,7 +310,6 @@ extern bool FLAG_enable_slow_asserts; |
#define ASSERT_GE(v1, v2) ((void) 0) |
#define ASSERT_LT(v1, v2) ((void) 0) |
#define ASSERT_LE(v1, v2) ((void) 0) |
-#define SLOW_ASSERT(condition) ((void) 0) |
#endif |
// Static asserts has no impact on runtime performance, so they can be |
// safely enabled in release mode. Moreover, the ((void) 0) expression |