From 1a1efe6f0e639b49ae86ff3421c5b5f87b2594bc Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Sat, 29 Aug 2020 19:07:48 +0200 Subject: Fixes main sequence local variables being global. --- .../tonkadur/wyrd/v1/compiler/util/registers/RegisterContext.java | 5 +++++ .../tonkadur/wyrd/v1/compiler/util/registers/RegisterManager.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/src/tonkadur/wyrd/v1/compiler/util/registers/RegisterContext.java b/src/core/src/tonkadur/wyrd/v1/compiler/util/registers/RegisterContext.java index cffe1cc..08c71f2 100644 --- a/src/core/src/tonkadur/wyrd/v1/compiler/util/registers/RegisterContext.java +++ b/src/core/src/tonkadur/wyrd/v1/compiler/util/registers/RegisterContext.java @@ -176,6 +176,11 @@ class RegisterContext return register_by_name.get(name); } + public Register get_non_local_register (final String name) + { + return register_by_name.get(name); + } + public void release (final Register r) { r.set_is_in_use(false); diff --git a/src/core/src/tonkadur/wyrd/v1/compiler/util/registers/RegisterManager.java b/src/core/src/tonkadur/wyrd/v1/compiler/util/registers/RegisterManager.java index 0fa9d50..2fbad42 100644 --- a/src/core/src/tonkadur/wyrd/v1/compiler/util/registers/RegisterManager.java +++ b/src/core/src/tonkadur/wyrd/v1/compiler/util/registers/RegisterManager.java @@ -130,7 +130,7 @@ public class RegisterManager if (result == null) { - return base_context.get_register(name); + return base_context.get_non_local_register(name); } return result; -- cgit v1.2.3-70-g09d2