Rev 387 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 387 | Rev 419 | ||
---|---|---|---|
Line 630... | Line 630... | ||
630 | mov [SLOT_BASE+APPDATA.heap_base+ebx], esi |
630 | mov [SLOT_BASE+APPDATA.heap_base+ebx], esi |
631 | mov [SLOT_BASE+APPDATA.heap_top+ebx], eax |
631 | mov [SLOT_BASE+APPDATA.heap_top+ebx], eax |
632 | 632 | ||
Line 633... | Line 633... | ||
633 | sub eax, esi |
633 | sub eax, esi |
634 | add esi, new_app_base |
634 | ; add esi, new_app_base |
635 | shr esi, 10 |
635 | shr esi, 10 |
636 | mov ecx, eax |
636 | mov ecx, eax |
637 | sub eax, 4096 |
637 | sub eax, 4096 |
638 | or ecx, FREE_BLOCK |
638 | or ecx, FREE_BLOCK |
639 | mov [page_tabs+esi], ecx |
639 | mov [page_tabs+esi], ecx |
Line 653... | Line 653... | ||
653 | mov ebx, [CURRENT_TASK] |
653 | mov ebx, [CURRENT_TASK] |
654 | shl ebx, 8 |
654 | shl ebx, 8 |
655 | mov esi, dword [ebx+SLOT_BASE+APPDATA.heap_base]; heap_base |
655 | mov esi, dword [ebx+SLOT_BASE+APPDATA.heap_base]; heap_base |
656 | mov edi, dword [ebx+SLOT_BASE+APPDATA.heap_top]; heap_top |
656 | mov edi, dword [ebx+SLOT_BASE+APPDATA.heap_top]; heap_top |
657 | add esi, new_app_base |
657 | ; add esi, new_app_base |
658 | add edi, new_app_base |
658 | ; add edi, new_app_base |
659 | l_0: |
659 | l_0: |
660 | cmp esi, edi |
660 | cmp esi, edi |
661 | jae m_exit |
661 | jae m_exit |
Line 662... | Line 662... | ||
662 | 662 | ||
Line 698... | Line 698... | ||
698 | call update_mem_size |
698 | call update_mem_size |
699 | 699 | ||
Line 700... | Line 700... | ||
700 | mov eax, esi |
700 | mov eax, esi |
701 | add eax, 4096 |
701 | add eax, 4096 |
702 | sub eax, new_app_base |
702 | ; sub eax, new_app_base |
703 | ret |
703 | ret |
704 | m_next: |
704 | m_next: |
705 | add esi, eax |
705 | add esi, eax |
706 | jmp l_0 |
706 | jmp l_0 |
707 | test_used: |
707 | test_used: |
Line 755... | Line 755... | ||
755 | mov edi, dword [edx+SLOT_BASE+APPDATA.heap_top]; heap_top |
755 | mov edi, dword [edx+SLOT_BASE+APPDATA.heap_top]; heap_top |
756 | sub ebx, [edx+SLOT_BASE+APPDATA.mem_size] |
756 | sub ebx, [edx+SLOT_BASE+APPDATA.mem_size] |
757 | neg ebx |
757 | neg ebx |
758 | call update_mem_size |
758 | call update_mem_size |
759 | add esi, new_app_base |
759 | ; add esi, new_app_base |
760 | add edi, new_app_base |
760 | ; add edi, new_app_base |
761 | shr esi, 12 |
761 | shr esi, 12 |
762 | shr edi, 12 |
762 | shr edi, 12 |
763 | @@: |
763 | @@: |
764 | mov eax, [page_tabs+esi*4] |
764 | mov eax, [page_tabs+esi*4] |
765 | test eax, USED_BLOCK |
765 | test eax, USED_BLOCK |
766 | jz .test_free |
766 | jz .test_free |