diff options
author | halcanary <halcanary@google.com> | 2014-07-10 08:59:38 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-07-10 08:59:39 -0700 |
commit | 61b1436c224482611b864bff354b2664772b1b62 (patch) | |
tree | aabadb4aaf36a1e1d9c3fc53a15e12cb8b77d6ce /src/ports/SkMemory_malloc.cpp | |
parent | 15840a2e849f02b569f978aee4339fb5f1937613 (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.cpp | 11 |
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; } |