diff options
author | Camil Staps | 2016-10-09 12:23:09 +0200 |
---|---|---|
committer | Camil Staps | 2016-10-09 12:34:02 +0200 |
commit | d7526ccdc45cbc415b9eee5d8d25c967964e3d3a (patch) | |
tree | 23e2737726a66e40621437c2b8c37bf6ffea1dcd /log.md | |
parent | Log: conditional execution, heap full (diff) |
Log: more testing for the heap full segfault
Diffstat (limited to 'log.md')
-rw-r--r-- | log.md | 23 |
1 files changed, 12 insertions, 11 deletions
@@ -186,18 +186,19 @@ fromto a b | a > b = [] | otherwise = [a:fromto (a+1) b] -length :: [a] -> Int -length xs = len 0 xs -where - len :: Int [a] -> Int - len i [] = i - len i [_:xs] = len (i+1) xs - -hd :: [a] -> a -hd [x:_] = x - -Start = let xs = fromto 1 100 in (length xs, hd xs) +Start = fromto 1 25 ``` and running with `-h 1k`. The program segfaults rather than displaying a `Heap full` message. + +### 2016-10-09 + +The above problem (no heap full message) only occurs with the copy/compacting +garbage collector (`-gcc`), not with the marking/compacting garbage collector +(`gcm`). The problem seems to be that when `collect_1` returns the value in +`r6` is different than before. + +**Question**: It seems there are whole areas of the generated binaries that are +all zero (like `file_table`, where you can expect that, but also e.g. +`small_integers`, should this be zero as well?) |