Add stack walking to _do_gc
diff --git a/src/lisp/compiler.dasc b/src/lisp/compiler.dasc
index 41b9ad1..b47ecf2 100644
--- a/src/lisp/compiler.dasc
+++ b/src/lisp/compiler.dasc
@@ -34,12 +34,12 @@
 
 extern void _do_gc(unsigned int ebp, unsigned int esp);
 
-static void compile_gc()
-{
-	| push esp;
-	| push ebp;
-	| call (_do_gc);
-}
+|.macro run_gc;
+| push esp;
+| push ebp;
+| mov eax, _do_gc;
+| call eax;
+|.endmacro;
 
 struct function *find_function(struct environment *env, char *name)
 {