diff options
author | Camil Staps | 2016-10-03 18:33:39 +0200 |
---|---|---|
committer | Camil Staps | 2016-10-03 18:33:39 +0200 |
commit | 7542b19d34f8b577d6b95bd63077ef6d9994d5fd (patch) | |
tree | 8fceee2533e35a5a640b4037b038109e11176e32 /log.md | |
parent | Log 2016-10-01 and -02 (diff) |
Log 10-03
Diffstat (limited to 'log.md')
-rw-r--r-- | log.md | 21 |
1 files changed, 16 insertions, 5 deletions
@@ -111,11 +111,10 @@ the same function is used to load pointers to data. fixed. In fact, it looks like the only reason it worked was some old binaries hanging around on the disk. -The issue probably (**Question** for John) stems from the fact that the lowest -two bits of addresses are used by the garbage collector and to store the -evaluation status (evaluated or not / RNF or not, not sure). Hence, storing an -address with offset `#9` modifies the evaluation / garbage collector -information, giving incorrect results when using an up-to-date `_system.o`. +The issue probably (**Question** for John) stems from the fact that the LSB of +addresses are used by the garbage collector . Hence, storing an address with +offset `#9` modifies the garbage collector information, giving incorrect +results when using an up-to-date `_system.o`. **Solution**: the new solution is to store addresses with an offset of `#8`, and when jumping to an address making sure that the LSB is set (to force Thumb @@ -143,3 +142,15 @@ modify addresses when jumping. What solution should be given in the thesis? Both? **Current commits**: cg `5effb5b`, rts `0f7f68d`, tests `f7f261f`. + +### 2016-10-03 + +Another **problem**: the Start rule `twice twice ((+) 1) 0` gives a +segmentation fault. At some point it switches to ARM mode. + +**Yet another problem**: the Start rule `[]` segfaults. The issue turns out to +be that for this rule, the node entry point `n1` is accidentally +halfword-aligned. Hence, its bit 1 is set. This bit is used to store if a node +has been reduced to (r)nf yet (not sure if rnf or nf). Therefore, it is not +evaluated to `[]` properly before printing it. The **solution** to this issue +is to `.align` node entry points (cg: `d9c2a69`). |