Rev 212 | Rev 214 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 212 | Rev 213 | ||
---|---|---|---|
Line 678... | Line 678... | ||
678 | jz test_used |
678 | jz test_used |
679 | and eax, 0xFFFFF000 |
679 | and eax, 0xFFFFF000 |
680 | cmp eax, ecx ;alloc_size |
680 | cmp eax, ecx ;alloc_size |
681 | jb m_next |
681 | jb m_next |
682 | 682 | jz @f |
|
- | 683 | ||
Line 683... | Line 684... | ||
683 | mov edx, esi |
684 | mov edx, esi |
684 | add edx, ecx |
685 | add edx, ecx |
685 | sub eax, ecx; |
686 | sub eax, ecx; |
686 | or eax, FREE_BLOCK |
687 | or eax, FREE_BLOCK |
687 | shr edx, 12 |
688 | shr edx, 12 |
688 | mov [pages_tab+edx*4], eax |
689 | mov [pages_tab+edx*4], eax |
689 | 690 | @@: |
|
690 | or ecx, USED_BLOCK |
691 | or ecx, USED_BLOCK |
691 | mov [pages_tab+ebx*4], ecx |
692 | mov [pages_tab+ebx*4], ecx |
692 | shr ecx, 12 |
693 | shr ecx, 12 |
693 | dec ecx |
694 | dec ecx |
694 | inc ebx |
695 | inc ebx |
Line 751... | Line 752... | ||
751 | mov ebx, [CURRENT_TASK] |
752 | mov ebx, [CURRENT_TASK] |
752 | shl ebx, 8 |
753 | shl ebx, 8 |
753 | mov esi, dword [ebx+PROC_BASE+APPDATA.heap_base]; heap_base |
754 | mov esi, dword [ebx+PROC_BASE+APPDATA.heap_base]; heap_base |
754 | mov edi, dword [ebx+PROC_BASE+APPDATA.heap_top]; heap_top |
755 | mov edi, dword [ebx+PROC_BASE+APPDATA.heap_top]; heap_top |
755 | shr esi, 12 |
756 | add esi, new_app_base |
- | 757 | add edi, new_app_base |
|
- | 758 | shr esi, 12 |
|
756 | shr edi, 12 |
759 | shr edi, 12 |
757 | @@: |
760 | @@: |
758 | mov eax, [pages_tab+esi*4] |
761 | mov eax, [pages_tab+esi*4] |
759 | test eax, USED_BLOCK |
762 | test eax, USED_BLOCK |
760 | jz .test_free |
763 | jz .test_free |