]> Repositorios git - scryer-prolog.git/commitdiff
don't mark temp variables as safe through argument_to_value (#2307)
authorMark <[email protected]>
Thu, 25 Jan 2024 19:34:21 +0000 (12:34 -0700)
committerMark <[email protected]>
Thu, 25 Jan 2024 19:34:21 +0000 (12:34 -0700)
src/debray_allocator.rs

index ed905ec0900290982b5e134966f2e285352e4891..d44c36cb69819342891f6e40730f3351499d275a 100644 (file)
@@ -604,16 +604,9 @@ impl DebrayAllocator {
                     Target::unsafe_argument_to_value(r, arg_c)
                 }
             }
-            VarAlloc::Temp { ref mut safety, .. } => {
-                if self
-                    .branch_stack
-                    .safety_unneeded_in_branch(safety, &branch_designator)
-                {
-                    Target::argument_to_value(r, arg_c)
-                } else {
-                    *safety = VarSafetyStatus::GloballyUnneeded;
-                    Target::unsafe_argument_to_value(r, arg_c)
-                }
+            VarAlloc::Temp { .. } => {
+                debug_assert!(matches!(r, RegType::Temp(_)));
+                Target::argument_to_value(r, arg_c)
             }
             _ => {
                 unreachable!()