Add a TODO.
authorTaylor R Campbell <campbell@mumble.net>
Wed, 16 Jan 2019 04:48:27 +0000 (04:48 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Wed, 21 Aug 2019 21:34:02 +0000 (21:34 +0000)
src/compiler/machines/aarch64/TODO

index e90c6274850f85c87fc6222e051ee965e50e7e17..ee7e7e2fd8e2311c9a5dfd10309b28f4fa63673b 100644 (file)
 - Consider NaN-tagging.
 - Write a disassembler.
 - Share interrupt hook invocations.
+- Change TYPED-CONS to tag Free into a temporary _before_ writing to it.
+  Currently we do
+    str x1,[x20],#8     // *Free++ = x1
+    str x2,[x20],#8     // *Free++ = x2
+    sub x0,x20,#16      // x0 = Free - 2
+    orr x0,x0,#...      // x0 = (cons-pointer ... x0)
+  We have enough temporaries that it shouldn't be a problem to allocate
+  a temporary first and skip the sub step:
+    orr x0,x20,#...     // x0 = (cons-pointer ... Free)
+    str x1,[x20],#8     // *Free++ = x1
+    str x2,[x20],#8     // *Free++ = x2