From 43f2d4531ac0991ba9c523e01eee0514a949282a Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sun, 4 Jan 2026 12:17:12 +0300 Subject: [PATCH] Aarch64 compiler wip: properly handle scopes --- libs/jit/source/arch/aarch64/compiler.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libs/jit/source/arch/aarch64/compiler.cpp b/libs/jit/source/arch/aarch64/compiler.cpp index a332ae8..c484a54 100644 --- a/libs/jit/source/arch/aarch64/compiler.cpp +++ b/libs/jit/source/arch/aarch64/compiler.cpp @@ -1,3 +1,4 @@ +#include "pslang/ast/statement_fwd.hpp" #include #include #include @@ -342,9 +343,17 @@ namespace pslang::jit::aarch64 // Don't handle internal functions } - void do_apply(ast::function_definition const & node) + void apply(ast::statement_list const & node) { scopes.emplace_back(); + for (auto const & statement : node.statements) + apply(*statement); + builder.add_imm(31, 31, scopes.back().stack_offset); + scopes.pop_back(); + } + + void do_apply(ast::function_definition const & node) + { // TODO: arguments apply(*node.statements); }