Interactive must garbage-collect local variables
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mars |
Triaged
|
Low
|
Matt Giuca |
Bug Description
As of trunk r1058 (due to fixing bug #580487), the interactive environment now assigns a unique variable name to each assignment of a variable (it is SSA). This means that where previously re-assigning a variable actually clobbered its value, internally, values now remain alive even after their variable has been re-assigned -- even temporaries (every temporary that ever existed remains alive).
This behaviour can be seen using :e.
This is much nicer semantics, but it is a minor memory leak. Apply a garbage collection step where any variable which isn't accessible via the st_localtable (look up the SSA name through the st_aststate's def_map) is deleted from the environment.
This is not the same as bug #553758, which relates to backend implementation and requires more work.
Changed in mars: | |
importance: | Medium → Low |