diff options
Diffstat (limited to '043space.cc')
-rw-r--r-- | 043space.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/043space.cc b/043space.cc index 5b3c6084..33c4bb09 100644 --- a/043space.cc +++ b/043space.cc @@ -258,6 +258,15 @@ void try_reclaim_locals() { /*refcount*/1 + /*array length*/1 + /*number-of-locals*/Name[r][""]); } +//: Reclaiming local variables above requires remembering what name an +//: instruction had before any rewrites or transforms. +:(before "End instruction Fields") +string old_name; +:(before "End instruction Clear") +old_name.clear(); +:(before "End next_instruction(curr)") +curr->old_name = curr->name; // before rewrite rules modify it + :(code) // is this reagent one of the values returned by the current (return) instruction? // is the corresponding ingredient saved in the caller? |