The PAMM (Program Adaptive Memory Management) system can be checked out from the compiler group repository at
/p/compiler/repos/pamm and should "just work." You'll have to make a few changes if you would like to use it outside of the URCS environment:
- Install soot in your local environment: Download sootall-2.2.4.jar. Unjar it by
jar xf sootall-2.2.4.jar to produce three packages, jasmin, polyglot, and soot. Add the parent directory to CLASSPATH.
- Install the jikes RVM (aka jalapeno) locally: Download jikes2.9.2. Run
bunzip2 to decompress. Run tar -xf to extract the directory.
- Include the directories of these tools in the
CLASSPATH (I don't know whether the parent dir suffices).
A pre-built Jikes system is in
/p/compiler/JavaTools/jikes/. It should be moved to
/p/compiler/built/ by some public-minded group member. To build Jikes on a new machine, go into the downloaded jikes directory. Edit the .ant.properties file and insert the following lines
ost.name=ia32-osx
config.name=production
dist.dir= where_you_want_to_install
At present (3/10/08), the build fails because it couldn't download asm-3.0.tar from
download.fr2.forge.objectweb.org/asm/.
The
whiteboard system uses the native code interface. Here is the instruction for compiling and running the whiteboard code.
- To compile jni:
cd /home/vax5/u28/zhangchl/workspace/javaAnalysis/src/jni and make A makefile under /home/vax5/u28/zhangchl/workspace/javaAnalysis/src/jni shows more details. After this step, we will get file libWhiteBoard.so and clearandinitshm
- To use the whiteboard, we will have to run
clearandinitshm to initilize the shared memory. This step must be done before any JVM is used.
- To run with jni file:
rvm -Djava.library.path=/u/zhangchl/workspace/javaAnalysis/src/jni/
Usage of the PAMM system is described in the included README file.
Topic revision: r3 - 10 Mar 2008 - 14:37:46 -
ChenDing