mirror of
https://github.com/cc65/cc65.git
synced 2024-12-22 12:30:41 +00:00
Renamed _hadd to _heapadd
git-svn-id: svn://svn.cc65.org/cc65/trunk@1911 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
703447dd26
commit
8012074ea0
@ -57,7 +57,8 @@ void* __fastcall__ malloc (size_t size);
|
||||
void* __fastcall__ calloc (size_t count, size_t size);
|
||||
void* __fastcall__ realloc (void* block, size_t size);
|
||||
void __fastcall__ free (void* block);
|
||||
void __fastcall__ _hadd (void* mem, size_t size); /* Non-standard */
|
||||
/* Non standard functions */
|
||||
void __fastcall__ _heapadd (void* mem, size_t size);
|
||||
|
||||
/* Random numbers */
|
||||
#define RAND_MAX 0x7FFF
|
||||
@ -75,7 +76,7 @@ int __fastcall__ atexit (void (*exitfunc) (void));
|
||||
void* bsearch (const void* key, const void* base, size_t n,
|
||||
size_t size, int (*cmp) (const void*, const void*));
|
||||
div_t __fastcall__ div (int numer, int denom);
|
||||
void __fastcall__ exit (int ret);
|
||||
void __fastcall__ exit (int ret);
|
||||
char* __fastcall__ getenv (const char* name);
|
||||
void qsort (void* base, size_t count, size_t size,
|
||||
int (*compare) (const void*, const void*));
|
||||
|
@ -52,8 +52,8 @@ C_OBJS = _afailed.o \
|
||||
S_OBJS = _fdesc.o \
|
||||
_file.o \
|
||||
_fopen.o \
|
||||
_hadd.o \
|
||||
_heap.o \
|
||||
_heapadd.o \
|
||||
_oserror.o \
|
||||
_printf.o \
|
||||
_swap.o \
|
||||
|
@ -3,14 +3,14 @@
|
||||
;
|
||||
; Add a block to the heap free list
|
||||
;
|
||||
; void __fastcall__ _hadd (void* mem, size_t size);
|
||||
; void __fastcall__ _heapadd (void* mem, size_t size);
|
||||
;
|
||||
;
|
||||
|
||||
.importzp ptr1, ptr2
|
||||
.import popax
|
||||
.import hadd
|
||||
.export _hadd
|
||||
.import heapadd
|
||||
.export _heapadd
|
||||
|
||||
.macpack generic
|
||||
|
||||
@ -25,7 +25,8 @@ min_size = 6
|
||||
|
||||
; Code
|
||||
|
||||
_hadd: sta ptr1 ; Store size in ptr1
|
||||
_heapadd:
|
||||
sta ptr1 ; Store size in ptr1
|
||||
stx ptr1+1
|
||||
jsr popax ; Get the block pointer
|
||||
sta ptr2
|
||||
@ -53,7 +54,7 @@ _hadd: sta ptr1 ; Store size in ptr1
|
||||
|
||||
; Call the internal function since variables are now setup correctly
|
||||
|
||||
jmp hadd
|
||||
jmp heapadd
|
||||
|
||||
|
||||
|
@ -61,7 +61,7 @@
|
||||
|
||||
.importzp ptr1, ptr2, ptr3, ptr4
|
||||
.import __hptr, __hfirst, __hlast, __hend
|
||||
.export _free, hadd
|
||||
.export _free, heapadd
|
||||
|
||||
.macpack generic
|
||||
|
||||
@ -107,9 +107,9 @@ _free: sta ptr2
|
||||
lda ptr2+1
|
||||
adc ptr1+1
|
||||
cpy __hptr
|
||||
bne hadd ; Add to free list
|
||||
bne heapadd ; Add to free list
|
||||
cmp __hptr+1
|
||||
bne hadd
|
||||
bne heapadd
|
||||
|
||||
; The pointer is located at the heap top. Lower the heap top pointer to
|
||||
; release the block.
|
||||
@ -278,7 +278,8 @@ _free: sta ptr2
|
||||
|
||||
; Check if the free list is empty, storing _hfirst into ptr3 for later
|
||||
|
||||
hadd: lda __hfirst
|
||||
heapadd:
|
||||
lda __hfirst
|
||||
sta ptr3
|
||||
lda __hfirst+1
|
||||
sta ptr3+1
|
||||
@ -287,7 +288,7 @@ hadd: lda __hfirst
|
||||
|
||||
; The free list is empty, so this is the first and only block. A contains
|
||||
; zero if we come here.
|
||||
|
||||
|
||||
ldy #next-1
|
||||
@L2: iny ; f->next = f->prev = 0;
|
||||
sta (ptr2),y
|
||||
|
Loading…
Reference in New Issue
Block a user