
=============
Código fuente
=============

Este directorio contiene el código fuente de los programas y bibliotecas
utilizados y desarrollados en el trabajo. A continuación se describe el
contenido de los subdirectorios:

dmd-1.063-cdgc
	Contiene el código fuente del compilador DMD, versión 1.063, modificado
	para proveer información sobre la ubicación de punteros para permitir
	escanear el heap de forma precisa.

	Para compilarlo es necesario el compilador GCC (probado con GCC 4.4.5)
	y GNU Make (probado con GNU Make 3.81). El compilador solo funciona en
	arquitecturas i386, por lo tanto si se utiliza un sistema operativo de
	64 bits es necesario instalar las bibliotecas de compatibilidad con 32
	bits.

tango-0.99.9-cdgc
	Contiene el código fuente de la biblioteca runtime Tango, versión 0.99.9
	más algunas modificaciones para aprovechar la información sobre punteros
	que provee el compilador modificado y algunas correcciones de errores.
	Además se agrega un Makefile para incluir el recolector CDGC como
	recolector del runtime al compilar.

	Para compilarlo sólo es necesario compilar el compilador DMD primero.

cdgc
	Contiene el código fuente del recolector desarrollado en este trabajo.
	Se compila como parte de la versión modificada de Tango que se provee.

dgcbench
	Contiene el código fuente del banco de pruebas utilizado en este
	trabajo. Para compilar los programas de prueba basta con ejecutar
	``make``, luego de haber compilado DMD y Tango.

	Para correr las pruebas resultantes y generar gráficos con los
	resultados, basta con correr ``sudo ./run.sh``. Es posible ver un
	ejemplo de los resultados generados (los utilizados en el informe) en el
	directorio ../resultados.

	El código fuente de los programas están dentro del subdirectorio
	``micro`` y cada programa consiste en un solo archivo fuente,
	a excepción de Dil, que reside en el subdirectorio ``dil``, donde está
	el repositorio Git completo de Dil. Para más información sobre Dil,
	consultar su documentación.

informe
	Contiene el código fuente del informe de este trabajo. El informe está
	escrito utilizando Sphinx (probado con la versión 0.6.6) con algunos
	plug-ins desarrollados especialmente para este trabajo. Sphinx a su vez
	genera LaTeX, cuyo código fuente también se incluye.

	Para correr Sphinx para generar el código LaTeX hay que tener instalado
	Sphinx 0.6.6, aafigure 0.5, graphviz 2.26.3, pygments 1.3.1 y Python
	2.5. Basta con ejecutar ``make`` en el directorio ``build/sphinx``.

	Para compilar los fuentes de LaTeX que se proveen, hay que tener
	instalada una distribución completa de LaTeX y hacer ``make`` en el
	directorio ``build/latex``.


.. vim: set filetype=rst spelllang=es :
