Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(477)

Side by Side Diff: include/core/SkChunkAlloc.h

Issue 1849183004: MIPS32r2: Fix Chromium runtime crash (Closed) Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gyp/common_conditions.gypi ('k') | src/core/SkChunkAlloc.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2006 The Android Open Source Project 3 * Copyright 2006 The Android Open Source Project
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #ifndef SkChunkAlloc_DEFINED 10 #ifndef SkChunkAlloc_DEFINED
(...skipping 15 matching lines...) Expand all
26 * Reset to 0 used bytes preserving as much memory as possible. 26 * Reset to 0 used bytes preserving as much memory as possible.
27 * This invalidates all returned pointers. 27 * This invalidates all returned pointers.
28 */ 28 */
29 void rewind(); 29 void rewind();
30 30
31 enum AllocFailType { 31 enum AllocFailType {
32 kReturnNil_AllocFailType, 32 kReturnNil_AllocFailType,
33 kThrow_AllocFailType 33 kThrow_AllocFailType
34 }; 34 };
35 35
36 /**
37 * Allocates a memory block of size bytes.
38 * On success: returns a pointer to beginning of memory block that is
39 * 8 byte aligned. The content of allocated block is not initialized.
40 * On failure: calls abort() if called with kThrow_AllocFailType,
41 * otherwise returns NULL pointer.
42 */
36 void* alloc(size_t bytes, AllocFailType); 43 void* alloc(size_t bytes, AllocFailType);
44
45 /**
46 * Shortcut for calling alloc with kThrow_AllocFailType.
47 */
37 void* allocThrow(size_t bytes) { 48 void* allocThrow(size_t bytes) {
38 return this->alloc(bytes, kThrow_AllocFailType); 49 return this->alloc(bytes, kThrow_AllocFailType);
39 } 50 }
40 51
41 /** Call this to unalloc the most-recently allocated ptr by alloc(). On 52 /** Call this to unalloc the most-recently allocated ptr by alloc(). On
42 success, the number of bytes freed is returned, or 0 if the block could 53 success, the number of bytes freed is returned, or 0 if the block could
43 not be unallocated. This is a hint to the underlying allocator that 54 not be unallocated. This is a hint to the underlying allocator that
44 the previous allocation may be reused, but the implementation is free 55 the previous allocation may be reused, but the implementation is free
45 to ignore this call (and return 0). 56 to ignore this call (and return 0).
46 */ 57 */
(...skipping 22 matching lines...) Expand all
69 SkDEBUGCODE(int fBlockCount;) 80 SkDEBUGCODE(int fBlockCount;)
70 SkDEBUGCODE(size_t fTotalLost;) // will be <= fTotalCapacity 81 SkDEBUGCODE(size_t fTotalLost;) // will be <= fTotalCapacity
71 82
72 Block* newBlock(size_t bytes, AllocFailType ftype); 83 Block* newBlock(size_t bytes, AllocFailType ftype);
73 Block* addBlockIfNecessary(size_t bytes, AllocFailType ftype); 84 Block* addBlockIfNecessary(size_t bytes, AllocFailType ftype);
74 85
75 SkDEBUGCODE(void validate();) 86 SkDEBUGCODE(void validate();)
76 }; 87 };
77 88
78 #endif 89 #endif
OLDNEW
« no previous file with comments | « gyp/common_conditions.gypi ('k') | src/core/SkChunkAlloc.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698