mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 18:49:10 +02:00
* fixed temp. management for CPUs were the temp. space grows upwards
This commit is contained in:
parent
163e06f93b
commit
043bb34e81
@ -305,7 +305,13 @@ unit tgobj;
|
|||||||
{ Create new block and link after bestslot }
|
{ Create new block and link after bestslot }
|
||||||
new(tl);
|
new(tl);
|
||||||
tl^.temptype:=temptype;
|
tl^.temptype:=temptype;
|
||||||
tl^.pos:=bestslot^.pos+bestslot^.size;
|
if direction=1 then
|
||||||
|
begin
|
||||||
|
tl^.pos:=bestslot^.pos;
|
||||||
|
inc(bestslot^.pos,size);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
tl^.pos:=bestslot^.pos+bestslot^.size;
|
||||||
tl^.size:=size;
|
tl^.size:=size;
|
||||||
tl^.nextfree:=nil;
|
tl^.nextfree:=nil;
|
||||||
{ link the new block }
|
{ link the new block }
|
||||||
@ -393,6 +399,8 @@ unit tgobj;
|
|||||||
(hprev^.temptype=tt_free) then
|
(hprev^.temptype=tt_free) then
|
||||||
begin
|
begin
|
||||||
inc(hprev^.size,hp^.size);
|
inc(hprev^.size,hp^.size);
|
||||||
|
if direction=1 then
|
||||||
|
hprev^.pos:=hp^.pos;
|
||||||
hprev^.next:=hp^.next;
|
hprev^.next:=hp^.next;
|
||||||
dispose(hp);
|
dispose(hp);
|
||||||
hp:=hprev;
|
hp:=hprev;
|
||||||
@ -413,6 +421,8 @@ unit tgobj;
|
|||||||
(hnext^.temptype=tt_free) then
|
(hnext^.temptype=tt_free) then
|
||||||
begin
|
begin
|
||||||
inc(hp^.size,hnext^.size);
|
inc(hp^.size,hnext^.size);
|
||||||
|
if direction=1 then
|
||||||
|
hp^.pos:=hnext^.pos;
|
||||||
hp^.nextfree:=hnext^.nextfree;
|
hp^.nextfree:=hnext^.nextfree;
|
||||||
hp^.next:=hnext^.next;
|
hp^.next:=hnext^.next;
|
||||||
dispose(hnext);
|
dispose(hnext);
|
||||||
@ -544,7 +554,10 @@ finalization
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.32 2003-05-12 21:29:59 peter
|
Revision 1.33 2003-05-13 20:13:41 florian
|
||||||
|
* fixed temp. management for CPUs were the temp. space grows upwards
|
||||||
|
|
||||||
|
Revision 1.32 2003/05/12 21:29:59 peter
|
||||||
* extdebug info temp alloc type was wrong
|
* extdebug info temp alloc type was wrong
|
||||||
|
|
||||||
Revision 1.31 2003/04/27 11:21:35 peter
|
Revision 1.31 2003/04/27 11:21:35 peter
|
||||||
|
Loading…
Reference in New Issue
Block a user