*  
*  JVMPI Article for DrDobbs Journal
*  This zip files contains all the files (binaries,c-sources,java sources)
*  that belongs to the jvmpi4ddj project:
*
*  Authors:
*      Christian Hoefig 	<ch@harung.de>
*      Christof Schmalenbach	<schmalenbach@acm.org>
* 
* 


Our source file are platform independent. This is self-evident for java, but also holds
for our simpleprof.c and jvmpi4ddj.cc files.

But our build process - compiling and linking for the jvmpi shared libs 
libsimpleprof.so, libjvmpi4ddj.so (LINUX/UNIX) and simpleprof.dll jvmpi4ddj.dll (WIN32)
is different on both platforms:

*** BOTH PLATFORMS ***
1. Unzip jvmpi4ddj.zip

*** LINUX LINUX LINUX LINUX ***
2. change to the directory jvmpi4ddj_sharedlib

3. Adapt the jvmpi4ddjmakefile.linux:
	3.1 set JDK_HOME to your jdk installation home
	3.2 replace BCEL entries in CLASSPATH_WITH_BCEL and MYBOOTCLASSPATH

4. run make jvmpi4ddjmakefile.linux

This will build both shared libraries and start the test program.


*** WIN32 WIN32 WIN32 WIN32 ***
2. Adapt the batch file setjvmpi4ddjenv.bat:
	2.1 set JAVA_HOME to your jdk installation home
	2.2 set BCEL_JAR to the directory where your bcel classes can be found
	2.3 set JVMPI4DDJ_HOME to the directory where you have unzipped jvmpi4ddj.zip

3. To run the example invoke runsimpleprof.bat or runbcelbasedprof.bat
	from the directory where you have unzipped jvmpi4ddj.zip

4. Invoke the alloc or gc button (in the case of runbcelbasedprof.bat in step 3.)

5. to build the example invoke build.bat from the directory where you have unzipped jvmpi4ddj.zip
	NOTE: We used cygwin (sed utility) and mingw (gcc) for the build process.


***** FILEDESCRIPTION ****

* Complete package
jvmpi4ddj.zip


* Build all C and java sources 
* (mingw and cygwin have to be available in the path environment variable)
build.bat

* Run the bcel based example
runbcelbasedprof.bat

* Run the bcel based example
runsimpleprof.bat

* set the environment for build and run scripts
setjvmpi4ddjenv.bat

* the instrumentation classes for libjvmpi4ddj.so resp. jvmpi4ddj.dll / java contract
jvmpi4ddj\PerfMeasure.class
jvmpi4ddj\PerfMeasure.java
jvmpi4ddj\TimeInstrumentation.class
jvmpi4ddj\TimeInstrumentation.java

* Property file for jvmpi4ddj-profiler control
jvmpi4ddj\jvmpi4ddj.props

* the Example
jvmpi4ddj\samples\MemConsumer$1.class
jvmpi4ddj\samples\MemConsumer$2.class
jvmpi4ddj\samples\MemConsumer$3.class
jvmpi4ddj\samples\MemConsumer.class
jvmpi4ddj\samples\MemConsumer.java

* the c source for simpleprof and jvmpi4ddj example
* NOTE init.cc is only necessary for the WIN32 environment ((C-Runtime properties in WIN32)
*init.cc is under the terms of the GNU General Public License 
jvmpi4ddj_c_sources\init.cc
jvmpi4ddj_c_sources\jvmpi4ddj.cc
jvmpi4ddj_c_sources\simpleprof.c

* shared lib build scripts, makefiles and shared libs
* NOTE : jvmpi4ddj.cc is a C++ module, simpleprof.c is Standard C ; both are supported
* by jvmpi. 
jvmpi4ddj_sharedlib\jvmpi4ddjmakefile
jvmpi4ddj_sharedlib\jvmpi4ddjsimpleprofmakefile
jvmpi4ddj_sharedlib\jvmpi4ddj_build.bat
jvmpi4ddj_sharedlib\jvmpi4ddj_build_simpleprof.bat
jvmpi4ddj_sharedlib\jvmpi4ddj.dll
jvmpi4ddj_sharedlib\simpleprof.dll

* LINUX makefile 
jvmpi4ddjmakefile.linux

* this file
readme.txt


