summary refs log tree commit diff
path: root/lisc/slot.txt
diff options
context:
space:
mode:
Diffstat (limited to 'lisc/slot.txt')
-rw-r--r--lisc/slot.txt42
1 files changed, 0 insertions, 42 deletions
diff --git a/lisc/slot.txt b/lisc/slot.txt
deleted file mode 100644
index 9212cde..0000000
--- a/lisc/slot.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-Plan for new slot computations:
-
-- reverse the allocation of all stack slots
-  so that isel slots go below spill locations
-- the fast allocs must be allocated by decreasing
-  alignment constraints
-- instead of the svec vector, we simply need two
-  numbers that contain the size of both the locals
-  and spills (stk0, stk1)
-- maybe it's time to include small alignments
-- use Tmp.spill == -1 to mark unallocated slots
-- issue: how do we reach for the arguments?
-  1. an answer to that could be proper support
-     for memory references accesses
-  2. a more hackish solution is to keep using
-     negative numbers (but not -1) for argument
-     slots and add a special case in emit.c
-- could be time to clean the tests on the size
-  of allocs (there are two and they are non-
-  uniform)
-
-Layout:
-
-  ---------- rbp = 0 [16]
-  | << padding 1 >>
-  | .. spills   ..
-  |                <- enforce align 16
-  | .. align 16 ..
-  | .. align  8 ..
-  | .. align  4 ..
-  | << padding 0 >>
-  ---------- rsp = 0 [16]
-
-  padding 0: inserted at last minute by the code
-             emitter to respect the ABI
-  padding 1: inserted at the end of spill it can
-             be 4 or 0
-
-Examples:
-
-  if the first local is aligned 4 of size 4, its slot
-  number will be set 0, to emit the proper offset to