Branch data Line data Source code
1 : : /* 2 : : * This library is free software; you can redistribute it and/or 3 : : * modify it under the terms of the GNU Lesser General Public 4 : : * License as published by the Free Software Foundation; either 5 : : * version 2.1 of the License, or (at your option) any later version. 6 : : * 7 : : * This library is distributed in the hope that it will be useful, 8 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of 9 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 10 : : * Lesser General Public License for more details. 11 : : * 12 : : * You should have received a copy of the GNU Lesser General Public 13 : : * License along with this library; if not, see <http://www.gnu.org/licenses/>. 14 : : */ 15 : : 16 : : #include "config.h" 17 : : 18 : : /* we know we are deprecated here, no need for warnings */ 19 : : #ifndef GLIB_DISABLE_DEPRECATION_WARNINGS 20 : : #define GLIB_DISABLE_DEPRECATION_WARNINGS 21 : : #endif 22 : : 23 : : #include "gallocator.h" 24 : : 25 : : #include <glib/gmessages.h> 26 : : #include <glib/gslice.h> 27 : : 28 : : struct _GMemChunk { 29 : : guint alloc_size; /* the size of an atom */ 30 : : }; 31 : : 32 : : GMemChunk* 33 : 1 : g_mem_chunk_new (const gchar *name, 34 : : gint atom_size, 35 : : gsize area_size, 36 : : gint type) 37 : : { 38 : : GMemChunk *mem_chunk; 39 : : 40 : 1 : g_return_val_if_fail (atom_size > 0, NULL); 41 : : 42 : 1 : mem_chunk = g_slice_new (GMemChunk); 43 : 1 : mem_chunk->alloc_size = atom_size; 44 : : 45 : 1 : return mem_chunk; 46 : : } 47 : : 48 : : void 49 : 1 : g_mem_chunk_destroy (GMemChunk *mem_chunk) 50 : : { 51 : 1 : g_return_if_fail (mem_chunk != NULL); 52 : : 53 : 1 : g_slice_free (GMemChunk, mem_chunk); 54 : : } 55 : : 56 : : gpointer 57 : 10000 : g_mem_chunk_alloc (GMemChunk *mem_chunk) 58 : : { 59 : 10000 : g_return_val_if_fail (mem_chunk != NULL, NULL); 60 : : 61 : 10000 : return g_slice_alloc (mem_chunk->alloc_size); 62 : : } 63 : : 64 : : gpointer 65 : 0 : g_mem_chunk_alloc0 (GMemChunk *mem_chunk) 66 : : { 67 : 0 : g_return_val_if_fail (mem_chunk != NULL, NULL); 68 : : 69 : 0 : return g_slice_alloc0 (mem_chunk->alloc_size); 70 : : } 71 : : 72 : : void 73 : 10000 : g_mem_chunk_free (GMemChunk *mem_chunk, 74 : : gpointer mem) 75 : : { 76 : 10000 : g_return_if_fail (mem_chunk != NULL); 77 : : 78 : 10000 : g_slice_free1 (mem_chunk->alloc_size, mem); 79 : : } 80 : : 81 : : GAllocator* 82 : 0 : g_allocator_new (const gchar *name, 83 : : guint n_preallocs) 84 : : { 85 : : /* some (broken) GAllocator uses depend on non-NULL allocators */ 86 : 0 : return (void *) 1; 87 : : } 88 : : 89 : 0 : void g_allocator_free (GAllocator *allocator) { } 90 : : 91 : 0 : void g_mem_chunk_clean (GMemChunk *mem_chunk) { } 92 : 0 : void g_mem_chunk_reset (GMemChunk *mem_chunk) { } 93 : 0 : void g_mem_chunk_print (GMemChunk *mem_chunk) { } 94 : 0 : void g_mem_chunk_info (void) { } 95 : 0 : void g_blow_chunks (void) { } 96 : : 97 : 0 : void g_list_push_allocator (GAllocator *allocator) { } 98 : 0 : void g_list_pop_allocator (void) { } 99 : : 100 : 0 : void g_slist_push_allocator (GAllocator *allocator) { } 101 : 0 : void g_slist_pop_allocator (void) { } 102 : : 103 : 0 : void g_node_push_allocator (GAllocator *allocator) { } 104 : 0 : void g_node_pop_allocator (void) { }