• 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 ** Licensed under the Apache License, Version 2.0 (the "License");
7 ** you may not use this file except in compliance with the License.
8 ** You may obtain a copy of the License at
9 **
10 **     http://www.apache.org/licenses/LICENSE-2.0
11 **
12 ** Unless required by applicable law or agreed to in writing, software
13 ** distributed under the License is distributed on an "AS IS" BASIS,
14 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 ** See the License for the specific language governing permissions and
16 ** limitations under the License.
17 */
18 
19 #include "SkTypes.h"
20 
21 #ifdef SK_BUILD_FOR_BREW
22 
23 #include <AEEStdLib.h>
24 
sk_throw()25 void sk_throw() {
26     SkASSERT(!"sk_throw");
27     abort();
28 }
29 
sk_out_of_memory(void)30 void sk_out_of_memory(void) {
31     SkASSERT(!"sk_out_of_memory");
32     abort();
33 }
34 
sk_malloc_throw(size_t size)35 void* sk_malloc_throw(size_t size) {
36     return sk_malloc_flags(size, SK_MALLOC_THROW);
37 }
38 
sk_realloc_throw(void * addr,size_t size)39 void* sk_realloc_throw(void* addr, size_t size) {
40     void* p = REALLOC(addr, size | ALLOC_NO_ZMEM);
41     if (size == 0) {
42         return p;
43     }
44     if (p == NULL) {
45         sk_throw();
46     }
47     return p;
48 }
49 
sk_free(void * p)50 void sk_free(void* p) {
51     FREEIF(p);
52 }
53 
sk_malloc_flags(size_t size,unsigned flags)54 void* sk_malloc_flags(size_t size, unsigned flags) {
55     void* p = MALLOC(size | ALLOC_NO_ZMEM);
56     if (p == NULL) {
57         if (flags & SK_MALLOC_THROW) {
58             sk_throw();
59         }
60     }
61     return p;
62 }
63 
64 #endif
65 
66