Loading [MathJax]/extensions/tex2jax.js
CS350 COS
COS
All Data Structures Files Functions Variables Typedefs Macros
malloc.c
Go to the documentation of this file.
1/*
2 * Copyright (c) 2013-2018 Ali Mashtizadeh
3 * All rights reserved.
4 */
5
6#include <stdarg.h>
7#include <stdint.h>
8
9#include <kassert.h>
10
11typedef struct TLSFBlock
12{
15 // Only valid for free blocks
16 struct TLSFBlock *prev;
17 struct TLSFBlock *next;
19
20typedef struct Heap
21{
23
24 // Lock
25
26 // Debug statistics
29
30 // Free list
33 struct TLSFBlock *blocks[SL_SIZE][FL_SIZE];
35
36Heap*
38{
39}
40
41void
43{
44}
45
46void*
48{
49}
50
51void
52Malloc_Free(Heap *heap, void *buf)
53{
54}
55
56bool
57Malloc_Realloc(Heap *heap, void *buf, uint64_t newlen)
58{
59}
60
static char buf[4096]
Definition: ethdump.c:10
uint64_t len
Definition: multiboot.h:2
uint64_t poolAllocs
Definition: malloc.c:28
uint32_t slVector[FL_SIZE]
Definition: malloc.c:32
uint32_t flVector
Definition: malloc.c:31
uint64_t poolSize
Definition: malloc.c:27
struct TLSFBlock * blocks[SL_SIZE][FL_SIZE]
Definition: malloc.c:33
uint64_t size
Definition: malloc.c:14
void Malloc_Free(Heap *heap, void *buf)
Definition: malloc.c:52
bool Malloc_Realloc(Heap *heap, void *buf, uint64_t newlen)
Definition: malloc.c:57
uint64_t magic
Definition: malloc.c:22
Heap * Malloc_Create()
Definition: malloc.c:37
void Malloc_Destroy(Heap *heap)
Definition: malloc.c:42
struct TLSFBlock * prevBlock
Definition: malloc.c:13
void * Malloc_Alloc(Heap *heap, uint64_t len)
Definition: malloc.c:47
struct TLSFBlock * prev
Definition: malloc.c:16
struct TLSFBlock * next
Definition: malloc.c:17
Definition: malloc.c:21
unsigned int uint32_t
Definition: types.h:12
unsigned long uint64_t
Definition: types.h:13