[m-rev.] For review: adding region-based memory management (RBMM) analysis

Quan Phan Quan.Phan at cs.kuleuven.be
Tue May 15 17:22:52 AEST 2007


Estimated hours taken: 60 (for integrating into the latest MMC).

The analysis divides the heap used by a program into regions and reasons
about their lifetime, based on those data it then detects the points
where instructions for creating and destroying regions can be added.
Currently it just gathers the information and generates region-annotated
Mercury code that can be used for simulation purpose. The analysis works
for single-module programs only.

compiler/smm_data.m
compiler/smm_utils.m
    Data and procedures that are used in RBMM as well as CTGC. 

compiler/rbmm_utils.m

compiler/rpta_info.m
compiler/rpt_graph.m
compiler/rpt_alpha_mapping.m
    Define data types used in region points-to analysis.

compiler/rpta_fixpoint_table.m
    Fixpoint computation for region points-to analysis.
compiler/rpta_run.m
    Implementation of the region points-to analysis.

compiler/lra_data.m
    Define data types used in live region analysis.

compiler/lra_lva.m
compiler/lra_rules.m
    Implementation of the live region analysis

compiler/region_transform.m
    Introducing region instructions.

compiler/pp_region_annotated_code.m
    Generate region annotated code for simulating purpose.
The above are new files.

compiler/fixpoint_table.m
    re-added but this file is not used before, to perform fixpoint
    computation.
compiler/mercury_compile.m
    Add calls to the region analysis.
compiler/options.m
    add option --region-analysis.

Quan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: diff_rbmm
Type: application/octet-stream
Size: 253083 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20070515/74a383d8/attachment.obj>


More information about the reviews mailing list