diff options
| author | CircleShift <kgunger12@gmail.com> | 2025-12-09 02:25:30 -0500 |
|---|---|---|
| committer | CircleShift <kgunger12@gmail.com> | 2025-12-09 02:25:30 -0500 |
| commit | 0587f854d80a9ad95c459b45509fcda7926cde20 (patch) | |
| tree | 2b3e0d2f2cbfa541bb4d9bf2e2c7f5af5bcaafdc /tnslc/compile/scope.tnsl | |
| parent | de71ecd4d3f52deb6f854540f42f931b2e55055c (diff) | |
begin on the actual codegenorigin
Diffstat (limited to 'tnslc/compile/scope.tnsl')
| -rw-r--r-- | tnslc/compile/scope.tnsl | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tnslc/compile/scope.tnsl b/tnslc/compile/scope.tnsl index 6e4d44d..1afaeab 100644 --- a/tnslc/compile/scope.tnsl +++ b/tnslc/compile/scope.tnsl @@ -106,8 +106,8 @@ struct Scope { ;/ /; mk_set_var (~Var src) - Var out - + Var out = src`.copy() + /; if (src`.is_reg_passed() == true) out.loc = self._next_reg_slot() /; if (out.loc == 0) @@ -117,6 +117,15 @@ struct Scope { out.loc = self._next_stack_slot() ;/ + ~int32 p = out.top_ptrc() + /; if (p == NULL) + out.set(self.cb, src) + ;; else if (p` == 0) + out.set_ref(self.cb, src) + ;; else + out.set(self.cb, src) + ;/ + self.vars.push(~out) ;/ |