projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
47f59de
)
Fix Windows MBlock alloctor bookkeeping bug
author
Esa Ilari Vuokko
<ei@vuokko.info>
Wed, 30 Aug 2006 18:55:40 +0000
(18:55 +0000)
committer
Esa Ilari Vuokko
<ei@vuokko.info>
Wed, 30 Aug 2006 18:55:40 +0000
(18:55 +0000)
rts/MBlock.c
patch
|
blob
|
history
diff --git
a/rts/MBlock.c
b/rts/MBlock.c
index
9058205
..
edde679
100644
(file)
--- a/
rts/MBlock.c
+++ b/
rts/MBlock.c
@@
-340,16
+340,16
@@
allocNew(nat n) {
sysErrorBelch(
"getMBlocks: VirtualAlloc MEM_RESERVE %d blocks failed", n);
} else {
sysErrorBelch(
"getMBlocks: VirtualAlloc MEM_RESERVE %d blocks failed", n);
} else {
- if(allocs==0) {
- allocs=rec;
- rec->next=0;
- } else {
- alloc_rec* it;
- it=allocs;
- for(; it->next!=0 && it->next->base<rec->base; it=it->next) ;
- rec->next=it->next;
- it->next=rec;
- }
+ alloc_rec temp;
+ temp.base=0; temp.size=0; temp.next=allocs;
+
+ alloc_rec* it;
+ it=&temp;
+ for(; it->next!=0 && it->next->base<rec->base; it=it->next) ;
+ rec->next=it->next;
+ it->next=rec;
+
+ allocs=temp.next;
debugTrace(DEBUG_gc, "allocated %d megablock(s) at 0x%x",n,(nat)rec->base);
}
return rec;
debugTrace(DEBUG_gc, "allocated %d megablock(s) at 0x%x",n,(nat)rec->base);
}
return rec;