From b0d7cd07f0f9ec34786408510ca6f29a6afc096a Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Sun, 18 Sep 2016 19:47:49 +0200 Subject: Log --- log.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 log.md diff --git a/log.md b/log.md new file mode 100644 index 0000000..939ce1a --- /dev/null +++ b/log.md @@ -0,0 +1,18 @@ +# Bachelor thesis logbook + +Camil Staps + +### 2016-09-18 +ARM/Thumb-2 mode switches are expensive, and since a Clean program continuously +switches between the RTS and the program itself, it is not viable to have the +RTS run in ARM mode and the code generator generate Thumb-2 code. Hence, I +started to rewrite the RTS for Thumb-2. Mostly minor, trivial changes: + + - Invisible registers for some instructions (auxiliary register needed) + +Started to make changes to the code generator: + + - Added `.thumb`, `.syntax unified` to the top of each generated file + - Added `.thumb_func` before each code label + - Fix for the `str pc,[sp,#-4]!` and similar instructions, since `pc` cannot + be the `Rd` operand in a `str` instruction: copy to scratch register first. -- cgit v1.2.3