From a8bed10f62f255fa9f1983c780de27333b691551 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Sat, 15 Oct 2016 11:30:34 +0200 Subject: log --- log.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/log.md b/log.md index 7750feb..fb61cdc 100644 --- a/log.md +++ b/log.md @@ -202,3 +202,21 @@ garbage collector (`-gcc`), not with the marking/compacting garbage collector **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?) + +### 2016-10-13 + +The problem that the copying collector segfaults has to do with `thumb2copy.s` +(rts). About this file: + +* `continue_after_selector_2`: checks with bit 1 if the node is in rnf and + jumps to `in_hnf_2` (`1`) or `not_in_hnf_2` (`0`) accordingly. +* `not_in_hnf_2`: checks with bit 0 if the node has been copied to the other + semispace already. If so (`1`), it jumps to `already_copied_2`. + +The issue above arises due to the fact that `r6`, which holds the node address, +has the lowest bit set. Hence, it isn't copied. + +### 2016-10-15 + +As suggested by John on the 13th, this is temporarily fixed by settings the +lowest bit to 0 manually (rts `887b38e`). Should be fixed properly. -- cgit v1.2.3