Subversion Repositories Kolibri OS

Rev

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