aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkMemory_malloc.cpp
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2014-07-10 08:59:38 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-07-10 08:59:39 -0700
commit61b1436c224482611b864bff354b2664772b1b62 (patch)
treeaabadb4aaf36a1e1d9c3fc53a15e12cb8b77d6ce /src/ports/SkMemory_malloc.cpp
parent15840a2e849f02b569f978aee4339fb5f1937613 (diff)
sk_malloc_throw/sk_calloc_throw in debug prints size in failure message
R=caryclark@google.com, mtklein@google.com, reed@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/377113004
Diffstat (limited to 'src/ports/SkMemory_malloc.cpp')
-rw-r--r--src/ports/SkMemory_malloc.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/ports/SkMemory_malloc.cpp b/src/ports/SkMemory_malloc.cpp
index 3a5608ef15..0b936c9f8c 100644
--- a/src/ports/SkMemory_malloc.cpp
+++ b/src/ports/SkMemory_malloc.cpp
@@ -9,10 +9,19 @@
#include <stdio.h>
#include <stdlib.h>
+#define SK_DEBUGFAILF(fmt, ...) \
+ SkASSERT((SkDebugf(fmt"\n", __VA_ARGS__), false))
+
+static inline void sk_out_of_memory(size_t size) {
+ SK_DEBUGFAILF("sk_out_of_memory (asked for " SK_SIZE_T_SPECIFIER " bytes)",
+ size);
+ abort();
+}
+
static inline void* throw_on_failure(size_t size, void* p) {
if (size > 0 && p == NULL) {
// If we've got a NULL here, the only reason we should have failed is running out of RAM.
- sk_out_of_memory();
+ sk_out_of_memory(size);
}
return p;
}