Lecture Notes in Computer Science vol:4079 pages:433-435
International Conference on Logic Programming (ICLP) edition:22 location:Seattle, WA, USA date:August 17-20, 2006
Region-based memory management is a form of compiletime memory management, well-known from the functional programming world. This paper describes region-based memory management for the Mercury language using some points-to graphs that model the partition of the memory used by a program into separate regions and distribute the values of the program's variables over the regions. First, a region analysis determines the different regions in the program. Second, the liveness of the regions is computed. Finally, a program transformation adds region annotations to the program for region support. Our approach obtains good results for a restricted set of deterministic Mercury programs and is a valid starting point to make region-based memory management work with general Mercury programs.