From 32f5197b88d57b96c5afbfda2507b4a1c72aee14 Mon Sep 17 00:00:00 2001 From: Rerumu <25379555+Rerumu@users.noreply.github.com> Date: Fri, 23 Jun 2023 14:12:54 -0400 Subject: [PATCH] Fix load and store memory parameter --- codegen/luajit/src/backend/expression.rs | 5 ++++- codegen/luajit/src/backend/statement.rs | 6 +++++- codegen/luau/src/backend/expression.rs | 5 ++++- codegen/luau/src/backend/statement.rs | 6 +++++- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/codegen/luajit/src/backend/expression.rs b/codegen/luajit/src/backend/expression.rs index 3d24e88..6a6a65f 100644 --- a/codegen/luajit/src/backend/expression.rs +++ b/codegen/luajit/src/backend/expression.rs @@ -58,7 +58,10 @@ impl DriverNoContext for GetGlobal { impl DriverNoContext for LoadAt { fn write(&self, w: &mut dyn Write) -> Result<()> { - write!(w, "load_{}(memory_at_0, ", self.load_type().as_name())?; + let name = self.load_type().as_name(); + let memory = self.memory(); + + write!(w, "load_{name}(memory_at_{memory}, ")?; self.pointer().write(w)?; if self.offset() != 0 { diff --git a/codegen/luajit/src/backend/statement.rs b/codegen/luajit/src/backend/statement.rs index fa6236e..38144cc 100644 --- a/codegen/luajit/src/backend/statement.rs +++ b/codegen/luajit/src/backend/statement.rs @@ -258,7 +258,11 @@ impl DriverNoContext for SetGlobal { impl DriverNoContext for StoreAt { fn write(&self, w: &mut dyn Write) -> Result<()> { - write!(w, "store_{}(memory_at_0, ", self.store_type().as_name())?; + let name = self.store_type().as_name(); + let memory = self.memory(); + + write!(w, "store_{name}(memory_at_{memory}, ")?; + self.pointer().write(w)?; if self.offset() != 0 { diff --git a/codegen/luau/src/backend/expression.rs b/codegen/luau/src/backend/expression.rs index e390f94..14e4513 100644 --- a/codegen/luau/src/backend/expression.rs +++ b/codegen/luau/src/backend/expression.rs @@ -58,7 +58,10 @@ impl DriverNoContext for GetGlobal { impl DriverNoContext for LoadAt { fn write(&self, w: &mut dyn Write) -> Result<()> { - write!(w, "load_{}(memory_at_0, ", self.load_type().as_name())?; + let name = self.load_type().as_name(); + let memory = self.memory(); + + write!(w, "load_{name}(memory_at_{memory}, ")?; self.pointer().write(w)?; if self.offset() != 0 { diff --git a/codegen/luau/src/backend/statement.rs b/codegen/luau/src/backend/statement.rs index 3627c44..87fd465 100644 --- a/codegen/luau/src/backend/statement.rs +++ b/codegen/luau/src/backend/statement.rs @@ -277,7 +277,11 @@ impl DriverNoContext for SetGlobal { impl DriverNoContext for StoreAt { fn write(&self, w: &mut dyn Write) -> Result<()> { - write!(w, "store_{}(memory_at_0, ", self.store_type().as_name())?; + let name = self.store_type().as_name(); + let memory = self.memory(); + + write!(w, "store_{name}(memory_at_{memory}, ")?; + self.pointer().write(w)?; if self.offset() != 0 {