aboutsummaryrefslogtreecommitdiff
path: root/snug-clean/src/Snug/Compile/ABI.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'snug-clean/src/Snug/Compile/ABI.dcl')
-rw-r--r--snug-clean/src/Snug/Compile/ABI.dcl21
1 files changed, 21 insertions, 0 deletions
diff --git a/snug-clean/src/Snug/Compile/ABI.dcl b/snug-clean/src/Snug/Compile/ABI.dcl
new file mode 100644
index 0000000..938a65e
--- /dev/null
+++ b/snug-clean/src/Snug/Compile/ABI.dcl
@@ -0,0 +1,21 @@
+definition module Snug.Compile.ABI
+
+from MIPS.MIPS32 import :: Label, :: Register(GP,S,T)
+from Snug.Compile import :: Namespace
+from Snug.Syntax import :: ConstructorIdent, :: SymbolIdent
+
+:: EntryPoint
+ = NodeEntry
+
+BackPrintPtr :== S 0
+FrontPrintPtr :== S 1
+
+BackEvalPtr :== S 2
+FrontEvalPtr :== S 3
+
+HeapPtr :== GP
+
+TempImm :== T 0
+
+constructorLabel :: !Namespace !ConstructorIdent -> Label
+functionLabel :: !Namespace !EntryPoint !SymbolIdent -> Label