michael@0: /* michael@0: * Copyright 2011 Google Inc. michael@0: * Copyright 2012 Mozilla Foundation michael@0: * michael@0: * Use of this source code is governed by a BSD-style license that can be michael@0: * found in the LICENSE file. michael@0: */ michael@0: michael@0: #include "SkTypes.h" michael@0: michael@0: #include "mozilla/mozalloc.h" michael@0: #include "mozilla/mozalloc_abort.h" michael@0: #include "mozilla/mozalloc_oom.h" michael@0: michael@0: void sk_throw() { michael@0: SkDEBUGFAIL("sk_throw"); michael@0: mozalloc_abort("Abort from sk_throw"); michael@0: } michael@0: michael@0: void sk_out_of_memory(void) { michael@0: SkDEBUGFAIL("sk_out_of_memory"); michael@0: mozalloc_handle_oom(0); michael@0: } michael@0: michael@0: void* sk_malloc_throw(size_t size) { michael@0: return sk_malloc_flags(size, SK_MALLOC_THROW); michael@0: } michael@0: michael@0: void* sk_realloc_throw(void* addr, size_t size) { michael@0: return moz_xrealloc(addr, size); michael@0: } michael@0: michael@0: void sk_free(void* p) { michael@0: moz_free(p); michael@0: } michael@0: michael@0: void* sk_malloc_flags(size_t size, unsigned flags) { michael@0: return (flags & SK_MALLOC_THROW) ? moz_xmalloc(size) : moz_malloc(size); michael@0: } michael@0: michael@0: void* sk_calloc(size_t size) { michael@0: return moz_calloc(size, 1); michael@0: } michael@0: michael@0: void* sk_calloc_throw(size_t size) { michael@0: return moz_xcalloc(size, 1); michael@0: }