Rev 3232 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3232 | Rev 3725 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 3232 $ |
8 | $Revision: 3725 $ |
9 | 9 | ||
10 | 10 | ||
Line 20... | Line 20... | ||
20 | ; esi= nb |
20 | ; esi= nb |
21 | ; ebx= idx |
21 | ; ebx= idx |
22 | ; |
22 | ; |
23 | align 4 |
23 | align 4 |
24 | malloc: |
24 | malloc: |
25 | push esi |
25 | push ebx esi |
Line 26... | Line 26... | ||
26 | 26 | ||
Line 27... | Line 27... | ||
27 | ; nb = ((size+7)&~7)+8; |
27 | ; nb = ((size+7)&~7)+8; |
28 | 28 | ||
Line 94... | Line 94... | ||
94 | .done: |
94 | .done: |
95 | mov esi, eax |
95 | mov esi, eax |
96 | mov ecx, mst.mutex |
96 | mov ecx, mst.mutex |
97 | call mutex_unlock |
97 | call mutex_unlock |
98 | mov eax, esi |
98 | mov eax, esi |
99 | pop esi |
99 | pop esi ebx |
100 | ret |
100 | ret |
Line 101... | Line 101... | ||
101 | 101 | ||
102 | .split: |
102 | .split: |
Line 203... | Line 203... | ||
203 | align 4 |
203 | align 4 |
204 | free: |
204 | free: |
205 | test eax, eax |
205 | test eax, eax |
206 | jz .exit |
206 | jz .exit |
Line 207... | Line 207... | ||
207 | 207 | ||
208 | push edi |
208 | push ebx edi |
209 | mov edi, eax |
209 | mov edi, eax |
Line 210... | Line 210... | ||
210 | add edi, -8 |
210 | add edi, -8 |
Line 296... | Line 296... | ||
296 | mov ecx, mst.mutex |
296 | mov ecx, mst.mutex |
297 | call mutex_unlock |
297 | call mutex_unlock |
298 | mov eax, esi |
298 | mov eax, esi |
299 | pop esi |
299 | pop esi |
300 | .fail: |
300 | .fail: |
301 | pop edi |
301 | pop edi ebx |
302 | .exit: |
302 | .exit: |
303 | ret |
303 | ret |
Line 304... | Line 304... | ||
304 | 304 |