From 850ac0c1a3d4742dac67bf0461bdcd88400229f7 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sun, 7 Jan 2024 20:37:59 -0700 Subject: [PATCH] bootstrap only expects nominal functions with simple calling conventions and never closures --- stdlib/helpers.lm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/stdlib/helpers.lm b/stdlib/helpers.lm index f3d58438e..9fc49fb63 100644 --- a/stdlib/helpers.lm +++ b/stdlib/helpers.lm @@ -33,6 +33,11 @@ # specialization to use more efficient representations is available in the optimizing compiler # which is what we are bootstrapping +# BOOTSTRAP FUNCTIONS +# the bootstrap compiler does not internally use closures +# the bootstrap compiler only refers to functions through labels, never pointers +# bootstrap functions have a simple calling convention that expects nonvolatile registers to be preserved + # bootstrap is inefficient with calling conventions ::callee-save-registers := ( \t push %r12 \n