Index: base/allocator/oom.h |
diff --git a/base/allocator/oom.h b/base/allocator/oom.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..68dfae76b881cfba5164d1de5d2fd5257ab28f1f |
--- /dev/null |
+++ b/base/allocator/oom.h |
@@ -0,0 +1,26 @@ |
+// Copyright (c) 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef BASE_ALLOCATOR_OOM_H |
+#define BASE_ALLOCATOR_OOM_H |
+ |
+#include "base/logging.h" |
+ |
+#if defined(OS_WIN) |
+#include <windows.h> |
+#endif |
+ |
+// OOM_CRASH() - Specialization of IMMEDIATE_CRASH which will raise a custom |
+// exception on Windows to signal this is OOM and not a normal assert. |
+#if defined(OS_WIN) |
+#define OOM_CRASH() \ |
+ do { \ |
+ ::RaiseException(0xE0000008, EXCEPTION_NONCONTINUABLE, 0, nullptr); \ |
danakj
2016/12/13 23:56:13
This is in base already. https://cs.chromium.org/c
|
+ IMMEDIATE_CRASH(); \ |
+ } while (0) |
+#else |
+#define OOM_CRASH() IMMEDIATE_CRASH() |
+#endif |
+ |
+#endif // BASE_ALLOCATOR_OOM_H |