\begin{thebibliography}{10}

\bibitem{aho}
Alfred~V. Aho, Ravi Sethi, and Jeffrey~D. Ullman.
\newblock {\em Compilers Principles, Techniques and Tools}.
\newblock Addison-Wesley, 1986.

\bibitem{appel}
Andrew~W. Appel.
\newblock {\em Modern Compiler Implementation in C}.
\newblock Cambridge University Press, New York, 1997.

\bibitem{banerbook3}
Utpal Banerjee.
\newblock {\em Dependence Analysis}.
\newblock Kluwer, Boston, 1997.
\newblock A Book Series on Loop Transformations for Restructuring Compilers.

\bibitem{bikgana}
Aart~J.C. Bik and Dennis~B. Gannon.
\newblock Automatically exploiting implicit parallelism in {J}ava.
\newblock {\em Concurrency, Practice and Experience}, 9(6):579--619, 1997.

\bibitem{bikgan5}
Aart~J.C. Bik and Dennis~B. Gannon.
\newblock {\tt javab} -- a prototype bytecode parallelization tool.
\newblock Technical Report 489, Computer Science Department, Indiana
  University, 1997.
\newblock This report and the complete source of {\tt javab} are made available
  at {\tt http://www.extreme.indiana.edu/hpjava/}.

\bibitem{bikgan4}
Aart~J.C. Bik and Dennis~B. Gannon.
\newblock {\tt javar} -- a prototype java restructuring compiler.
\newblock Technical Report 487, Computer Science Department, Indiana
  University, 1997.
\newblock This manual and the complete source of {\tt javar} are made available
  at {\tt http://www.extreme.indiana.edu/hpjava/}.

\bibitem{budimlic}
Zoran Budimlic and Ken Kennedy.
\newblock Optimizing {Java} -- theory and practice.
\newblock {\em Concurrency, Practice and Experience}, 9(6):445--463, 1997.

\bibitem{carpenter}
Bryan Carpenter, Yuh-Jye Chang, Geoffrey Fox, Donald Leskiw, and Xiaoming Li.
\newblock Experiments with `{HP Java}'.
\newblock {\em Concurrency, Practice and Experience}, 9(6):633--648, 1997.

\bibitem{cierniak}
Michal Cierniak and Wei Li.
\newblock Optimizing {Java} bytecodes.
\newblock {\em Concurrency, Practice and Experience}, 9(6):427--444, 1997.

\bibitem{fisher}
C.N. Fischer and R.J. Le{B}lanc.
\newblock {\em Crafting a Compiler}.
\newblock Benjamin-Cummings, Menlo Park, California, 1988.

\bibitem{fox1}
Geoffrey~C. Fox and Wojtek Furmanski.
\newblock {Java} for parallel computing and as a general language for
  scientific and engineering simulation and modeling.
\newblock {\em Concurrency, Practice and Experience}, 9(6):415--425, 1997.

\bibitem{javalang}
James Gosling, Bill Joy, and Guy Steele.
\newblock {\em {Java} Programming Language}.
\newblock Addison-Wesley, Reading, Massachusetts, 1996.

\bibitem{unix}
Brian~W. Kernighan.
\newblock {\em The {UNIX} Programming Environment}.
\newblock Prentice Hall, Englewood Cliffs, New Jersey, 1984.

\bibitem{c}
Brian~W. Kernighan and Dennis~M. Ritchie.
\newblock {\em The C Programming Language}.
\newblock Prentice Hall, Englewood Cliffs, New Jersey, 1988.

\bibitem{javaconc}
Doug Lea.
\newblock {\em Concurrent Programming in {Java}}.
\newblock Addison-Wesley, Reading, Massachusetts, 1997.

\bibitem{javavm}
Tim Lindholm and Frank Yellin.
\newblock {\em The {Java} {Virtual} {Machine} Specification}.
\newblock Addison-Wesley, Reading, Massachusetts, 1996.

\bibitem{jasmin}
Jon Meyer.
\newblock {\em Jasmin: a {Java} Assembler Interface}.
\newblock This {JVM} bytecode assembler is made available at {\tt
  http://www.cat.nyu.edu/meyer/jasmin/}.

\bibitem{meyer}
Jon Meyer and Troy Downing.
\newblock {\em {Java} Virtual Machine}.
\newblock O'Reilly \& Associates, Sebastopol, CA, 1997.

\bibitem{midkiff}
Samuel~P. Midkiff and David~A. Padua.
\newblock Compiler algorithms for synchronization.
\newblock {\em IEEE Transactions on Computers}, C-36:1485--1495, 1987.

\bibitem{javathreads}
Scott Oaks and Henry Wong.
\newblock {\em {Java} Threads}.
\newblock O'Reilly \& Associates, Sebastopol, CA, 1997.

\bibitem{parsons}
Thomas~W. Parsons.
\newblock {\em Introduction to Compiler Construction}.
\newblock Computer Science Press, New York, 1992.

\bibitem{pol}
Constantine~D. Polychronopoulos.
\newblock {\em Parallel Programming and Compilers}.
\newblock Kluwer, Boston, 1988.

\bibitem{pugh_omega}
William Pugh.
\newblock The {Omega} test: a fast and practical integer programming algorithm
  for dependence analysis.
\newblock {\em Communications of the ACM}, 1992.

\bibitem{wolfe96}
Michael~J. Wolfe.
\newblock {\em High Performance Compilers for Parallel Computers}.
\newblock Addison-Wesley, Redwood City, California, 1996.

\bibitem{zima}
H.~Zima and B.~Chapman.
\newblock {\em Supercompilers for Parallel and Vector Computers}.
\newblock ACM Press, New York, 1990.

\end{thebibliography}
