Rev 819 | Rev 940 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 819 | Rev 823 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2007. 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: 819 $ |
8 | $Revision: 823 $ |
9 | 9 | ||
10 | 10 | ||
Line 947... | Line 947... | ||
947 | call update_mem_size |
947 | call update_mem_size |
948 | pop edx ecx ebx |
948 | pop edx ecx ebx |
949 | lea eax, [ecx+1] |
949 | lea eax, [ecx+1] |
950 | shl eax, 12 |
950 | shl eax, 12 |
951 | push eax |
951 | push eax |
952 | add ecx, ebx |
952 | add ecx, edx |
953 | add edx, ecx |
953 | lea edx, [ecx+ebx] |
954 | shl ebx, 12 |
954 | shl ebx, 12 |
955 | jz .ret |
955 | jz .ret |
956 | push esi |
956 | push esi |
957 | mov esi, [current_slot] |
957 | mov esi, [current_slot] |
958 | mov esi, [APPDATA.heap_top+esi] |
958 | mov esi, [APPDATA.heap_top+esi] |
Line 960... | Line 960... | ||
960 | @@: |
960 | @@: |
961 | cmp edx, esi |
961 | cmp edx, esi |
962 | jae .merge_done |
962 | jae .merge_done |
963 | mov eax, [page_tabs+edx*4] |
963 | mov eax, [page_tabs+edx*4] |
964 | test al, USED_BLOCK |
964 | test al, USED_BLOCK |
965 | jz .merge_done |
965 | jnz .merge_done |
966 | and dword [page_tabs+edx*4], 0 |
966 | and dword [page_tabs+edx*4], 0 |
967 | and eax, not 0xFFF |
- | |
968 | add ebx, eax |
967 | shr eax, 12 |
969 | add edx, eax |
968 | add edx, eax |
- | 969 | shl eax, 12 |
|
- | 970 | add ebx, eax |
|
970 | jmp @b |
971 | jmp @b |
971 | .merge_done: |
972 | .merge_done: |
972 | pop esi |
973 | pop esi |
973 | or ebx, FREE_BLOCK |
974 | or ebx, FREE_BLOCK |
974 | mov [page_tabs+ecx*4], ebx |
975 | mov [page_tabs+ecx*4], ebx |