forked from KolibriOS/kolibrios
Revert back to old mem.ReAlloc implementation using 68.12 and 68.13
git-svn-id: svn://kolibrios.org@626 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
b8fa8489d3
commit
5aa81d7197
@ -586,8 +586,8 @@ endp
|
|||||||
proc mem.Alloc,size ;/////////////////////////////////////////////////////////
|
proc mem.Alloc,size ;/////////////////////////////////////////////////////////
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
push ebx ecx
|
push ebx ecx
|
||||||
mov eax,[size]
|
mov ecx,[size]
|
||||||
lea ecx,[eax+4+4095]
|
add ecx,4+4095
|
||||||
and ecx,not 4095
|
and ecx,not 4095
|
||||||
mcall 68,12
|
mcall 68,12
|
||||||
add ecx,-4
|
add ecx,-4
|
||||||
@ -597,7 +597,13 @@ proc mem.Alloc,size ;/////////////////////////////////////////////////////////
|
|||||||
ret
|
ret
|
||||||
@^
|
@^
|
||||||
push ebx ecx
|
push ebx ecx
|
||||||
mcall 68,12,[size]
|
mov eax,[size]
|
||||||
|
lea ecx,[eax+4+4095]
|
||||||
|
and ecx,not 4095
|
||||||
|
mcall 68,12
|
||||||
|
add ecx,-4
|
||||||
|
mov [eax],ecx
|
||||||
|
add eax,4
|
||||||
pop ecx ebx
|
pop ecx ebx
|
||||||
ret
|
ret
|
||||||
^@
|
^@
|
||||||
@ -606,6 +612,20 @@ endp
|
|||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
proc mem.ReAlloc,mptr,size ;//////////////////////////////////////////////////
|
proc mem.ReAlloc,mptr,size ;//////////////////////////////////////////////////
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
|
@^
|
||||||
|
push ebx ecx edx
|
||||||
|
mov ecx,[size]
|
||||||
|
add ecx,4+4095
|
||||||
|
and ecx,not 4095
|
||||||
|
mov edx,[mptr]
|
||||||
|
add edx,-4
|
||||||
|
mcall 68,20
|
||||||
|
add ecx,-4
|
||||||
|
mov [eax],ecx
|
||||||
|
add eax,4
|
||||||
|
pop edx ecx ebx
|
||||||
|
ret
|
||||||
|
^@
|
||||||
push ebx ecx esi edi eax
|
push ebx ecx esi edi eax
|
||||||
mov eax,[mptr]
|
mov eax,[mptr]
|
||||||
mov ebx,[size]
|
mov ebx,[size]
|
||||||
@ -636,26 +656,22 @@ proc mem.ReAlloc,mptr,size ;//////////////////////////////////////////////////
|
|||||||
.exit:
|
.exit:
|
||||||
pop eax edi esi ecx ebx
|
pop eax edi esi ecx ebx
|
||||||
ret
|
ret
|
||||||
@^
|
|
||||||
push ebx ecx edx
|
|
||||||
mcall 68,20,[size],[mptr]
|
|
||||||
pop edx ecx ebx
|
|
||||||
ret
|
|
||||||
^@
|
|
||||||
endp
|
endp
|
||||||
|
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
proc mem.Free,mptr ;//////////////////////////////////////////////////////////
|
proc mem.Free,mptr ;//////////////////////////////////////////////////////////
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
push ebx ecx
|
push ebx ecx
|
||||||
mov eax,[mptr]
|
mov ecx,[mptr]
|
||||||
lea ecx,[eax-4]
|
add ecx,-4
|
||||||
mcall 68,13
|
mcall 68,13
|
||||||
pop ecx ebx
|
pop ecx ebx
|
||||||
ret
|
ret
|
||||||
@^
|
@^
|
||||||
push ebx ecx
|
push ebx ecx
|
||||||
mcall 68,13,[mptr]
|
mov eax,[mptr]
|
||||||
|
lea ecx,[eax-4]
|
||||||
|
mcall 68,13
|
||||||
pop ecx ebx
|
pop ecx ebx
|
||||||
ret
|
ret
|
||||||
^@
|
^@
|
||||||
|
Loading…
Reference in New Issue
Block a user