From 0c7403f5894d46f513f8b57fb6fabbd568c9f5af Mon Sep 17 00:00:00 2001 From: Kai Gunger Date: Thu, 25 Dec 2025 02:31:36 -0500 Subject: Add functions to member modules --- tnslc/compile/function.tnsl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'tnslc/compile/function.tnsl') diff --git a/tnslc/compile/function.tnsl b/tnslc/compile/function.tnsl index 18d6c36..a30f383 100644 --- a/tnslc/compile/function.tnsl +++ b/tnslc/compile/function.tnsl @@ -5,12 +5,14 @@ struct Function { inputs, outputs, ~parse.Node _up, + bool m } /; method Function /; init (~parse.Node n) self.name = utils.strcpy(n`.data) self._up = n + self.m = false Var v self.inputs.init(len v) self.outputs.init(len v) @@ -38,9 +40,9 @@ struct Function { p.loc = reg reg++ ;; else - stack_up = stack_up + p.actual_size() p.loc = 0 - 1 p.offset = stack_up + stack_up = stack_up + p.actual_size() ;/ self.inputs.push(~p) ;/ @@ -134,6 +136,8 @@ struct Function { ;/ /; _end_func(~Scope scope, ~CompBuf cb) + cb`.add_c("\n\0") + scope`.place_end_label() cb`.add_c(" lea rsp, [rbp - 56]\n\0") cb`.add_c(" pop r15\n\0") cb`.add_c(" pop r14\n\0") -- cgit v1.2.3