|
Overview We built region-based memory support into the SSCLI 2.0 environment and added new instructions in the CIL opcode set for supporting region operations. We also implemented a (stand-alone) region inference system that automates the translation of initially garbage collected CLI (.NET) programs to programs using the region instructions and concept. Terms The Common Language Infrastructure (CLI) is an ECMA standard that describes the core of the .NET Framework. The Microsoft Shared Source CLI (SSCLI) is one of the implementations of the ECMA CLI standard, made publicly available for research purposes (while the Microsoft .NET Framework is a commercial implementation of CLI). We modified Microsoft's SSCLI memory system (consisting of a default garbage collector) such that it now also incorporates a region-based memory subsystem. This subsystem is targeted for using a stack of lexically scoped regions in which the last region created is the first deleted. A region is used to give bounds to the lifetime of objects allocated within it. Deallocating a region deletes all its contents in one operation, resulting in better memory utilization regarding certain aspects. Software The pristine SSCLI 2.0 and its details can be found at: Our modified SSCLI 2.0 containing a region-based memory subsystem: The additional region inference F# system is stand-alone: Paper Drafts Short version, APLAS 2007 poster presentation abstract: The more detailed paper draft: People Contributors to Region SSCLI are:
Alexandru Stefan Funding This project is funded by Microsoft Research under the Phoenix/SSCLI initiative. |