diff options
author | Araq <rumpf_a@web.de> | 2013-02-07 16:09:46 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2013-02-07 16:09:46 +0100 |
commit | 4ee9816a7888f8f125752d75f8528c39c94d732b (patch) | |
tree | 0d2c8c823bd5a2663a721f4330a14175dc8f2851 /tests/gc | |
parent | ab6f793408c10935bad98071bdae4009f6873d5c (diff) | |
download | Nim-4ee9816a7888f8f125752d75f8528c39c94d732b.tar.gz |
code cleanup for mark&sweep GC
Diffstat (limited to 'tests/gc')
-rwxr-xr-x | tests/gc/gcleak.nim | 4 | ||||
-rwxr-xr-x | tests/gc/gcleak2.nim | 4 | ||||
-rw-r--r-- | tests/gc/weakrefs.nim | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/tests/gc/gcleak.nim b/tests/gc/gcleak.nim index c40c6b3b5..4e47db609 100755 --- a/tests/gc/gcleak.nim +++ b/tests/gc/gcleak.nim @@ -12,7 +12,9 @@ type proc MakeObj(): TTestObj = result.x = "Hello" -for i in 1 .. 100_000_000: +for i in 1 .. 1_000_000: + when defined(gcMarkAndSweep): + GC_fullcollect() var obj = MakeObj() if getOccupiedMem() > 300_000: quit("still a leak!") # echo GC_getstatistics() diff --git a/tests/gc/gcleak2.nim b/tests/gc/gcleak2.nim index a50541fbc..41d149bed 100755 --- a/tests/gc/gcleak2.nim +++ b/tests/gc/gcleak2.nim @@ -15,7 +15,9 @@ proc MakeObj(): TTestObj = result.s = @[1,2,3] proc inProc() = - for i in 1 .. 100_000_000: + for i in 1 .. 1_000_000: + when defined(gcMarkAndSweep): + GC_fullcollect() var obj: TTestObj obj = MakeObj() if getOccupiedMem() > 300_000: quit("still a leak!") diff --git a/tests/gc/weakrefs.nim b/tests/gc/weakrefs.nim index 3b12d7998..0a6d4b873 100644 --- a/tests/gc/weakrefs.nim +++ b/tests/gc/weakrefs.nim @@ -40,6 +40,8 @@ proc main = for i in 0 .. s.high: s[i] = register(create()) # test that we have at least 80% unreachable weak objects by now: + when defined(gcMarkAndSweep): + GC_fullcollect() var unreachable = 0 for i in 0 .. s.high: if access(s[i]) == nil: inc unreachable |