Subversion Repositories Kolibri OS

Rev

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