forked from KolibriOS/kolibrios
Syncing net branch with trunk.
git-svn-id: svn://kolibrios.org@3187 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -338,16 +338,15 @@ free:
|
||||
|
||||
mov [esi+edi], esi
|
||||
|
||||
; insert_chunk(p,psize);
|
||||
|
||||
mov eax, esi
|
||||
pop esi
|
||||
mov ecx, edi
|
||||
pop edi
|
||||
jmp insert_chunk
|
||||
.unl_large:
|
||||
|
||||
; unlink_large_chunk((tchunkptr)next);
|
||||
; insert_chunk(p,psize);
|
||||
|
||||
mov eax, esi
|
||||
mov ecx, edi
|
||||
call insert_chunk
|
||||
jmp .fail2
|
||||
.unl_large:
|
||||
|
||||
; unlink_large_chunk((tchunkptr)next);
|
||||
|
||||
mov edx, ebx
|
||||
call unlink_large_chunk
|
||||
@@ -361,16 +360,15 @@ free:
|
||||
|
||||
mov [esi+edi], esi
|
||||
|
||||
; insert_chunk(p,psize);
|
||||
|
||||
mov eax, esi
|
||||
pop esi
|
||||
mov ecx, edi
|
||||
pop edi
|
||||
jmp insert_chunk
|
||||
.fix_next:
|
||||
|
||||
; (p+psize)->prev_foot = psize;
|
||||
; insert_chunk(p,psize);
|
||||
|
||||
mov eax, esi
|
||||
mov ecx, edi
|
||||
call insert_chunk
|
||||
jmp .fail2
|
||||
.fix_next:
|
||||
|
||||
; (p+psize)->prev_foot = psize;
|
||||
; next->head &= ~PINUSE_BIT;
|
||||
; p->head = psize|PINUSE_BIT;
|
||||
|
||||
@@ -383,16 +381,15 @@ free:
|
||||
; (p+psize)->prev_foot = psize;
|
||||
|
||||
mov [esi+edi], esi
|
||||
; insert_chunk(p,psize);
|
||||
|
||||
mov eax, esi
|
||||
pop esi
|
||||
mov ecx, edi
|
||||
pop edi
|
||||
jmp insert_chunk
|
||||
|
||||
; param
|
||||
; ecx = chunk
|
||||
; insert_chunk(p,psize);
|
||||
|
||||
mov eax, esi
|
||||
mov ecx, edi
|
||||
call insert_chunk
|
||||
jmp .fail2
|
||||
|
||||
; param
|
||||
; ecx = chunk
|
||||
; eax = size
|
||||
|
||||
insert_chunk:
|
||||
@@ -415,21 +412,17 @@ insert_chunk:
|
||||
mov edx, [eax+8] ;F = B->fd
|
||||
mov [eax+8], esi ;B->fd = P
|
||||
mov [edx+12], esi ;F->bk = P
|
||||
mov [esi+8], edx ;P->fd = F
|
||||
mov [esi+12], eax ;P->bk = B
|
||||
pop esi
|
||||
mov ecx, mst.mutex
|
||||
call mutex_unlock
|
||||
ret
|
||||
.large:
|
||||
mov ebx, eax
|
||||
call insert_large_chunk
|
||||
pop esi
|
||||
mov ecx, mst.mutex
|
||||
call mutex_unlock
|
||||
ret
|
||||
|
||||
|
||||
mov [esi+8], edx ;P->fd = F
|
||||
mov [esi+12], eax ;P->bk = B
|
||||
pop esi
|
||||
ret
|
||||
.large:
|
||||
mov ebx, eax
|
||||
call insert_large_chunk
|
||||
pop esi
|
||||
ret
|
||||
|
||||
|
||||
; param
|
||||
; esi= chunk
|
||||
; ebx= size
|
||||
|
Reference in New Issue
Block a user