summaryrefslogtreecommitdiff
path: root/log.md
diff options
context:
space:
mode:
authorCamil Staps2016-09-18 19:47:49 +0200
committerCamil Staps2016-09-18 19:47:49 +0200
commitb0d7cd07f0f9ec34786408510ca6f29a6afc096a (patch)
tree30c7a91f616bd380a76b20387c4e19fe78fbf0ce /log.md
parentVerwerking opmerkingen John op onderzoeksplan (diff)
Log
Diffstat (limited to 'log.md')
-rw-r--r--log.md18
1 files changed, 18 insertions, 0 deletions
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.