• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* libs/graphics/ports/SkMemory_brew.cpp
2  *
3  * Copyright 2009, The Android Open Source Project
4  * Copyright 2009, Company 100, Inc.
5  *
6  * Use of this source code is governed by a BSD-style license that can be
7  * found in the LICENSE file.
8  */
9 
10 #include "SkTypes.h"
11 
12 #ifdef SK_BUILD_FOR_BREW
13 
14 #include <AEEStdLib.h>
15 
sk_throw()16 void sk_throw() {
17     SkDEBUGFAIL("sk_throw");
18     abort();
19 }
20 
sk_out_of_memory(void)21 void sk_out_of_memory(void) {
22     SkDEBUGFAIL("sk_out_of_memory");
23     abort();
24 }
25 
sk_malloc_throw(size_t size)26 void* sk_malloc_throw(size_t size) {
27     return sk_malloc_flags(size, SK_MALLOC_THROW);
28 }
29 
sk_realloc_throw(void * addr,size_t size)30 void* sk_realloc_throw(void* addr, size_t size) {
31     void* p = REALLOC(addr, size | ALLOC_NO_ZMEM);
32     if (size == 0) {
33         return p;
34     }
35     if (p == NULL) {
36         sk_throw();
37     }
38     return p;
39 }
40 
sk_free(void * p)41 void sk_free(void* p) {
42     FREEIF(p);
43 }
44 
sk_malloc_flags(size_t size,unsigned flags)45 void* sk_malloc_flags(size_t size, unsigned flags) {
46     void* p = MALLOC(size | ALLOC_NO_ZMEM);
47     if (p == NULL) {
48         if (flags & SK_MALLOC_THROW) {
49             sk_throw();
50         }
51     }
52     return p;
53 }
54 
55 #endif
56