commit | 9e57da4756f5f2423f81dff6a3b6467410038a7c | [log] [tgz] |
---|---|---|
author | swissChili <swisschili@fastmail.com> | Tue Jun 15 22:22:46 2021 -0700 |
committer | swissChili <swisschili@fastmail.com> | Tue Jun 15 22:22:46 2021 -0700 |
tree | 1a7f082b302b578a1b500536f0d21f78a3962928 | |
parent | 6d6525ebc962a34596e243f76b6a1297d9fb0784 [diff] [blame] |
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) {