Changes to Ibis 1.3: - new package ibis.backend.loader containing class loading and rewriting mechanism for both (ASM, BCEL) frameworks - asm jar file added to 3rdparty/asm-2.2.1.jar - scripts ibis-run.bat and ibis-run adjusted for the rewritting mechanism - changed class ibis.ipl.Ibis - new excluded property prefix - new dir apps/ibis/benchmarks/loader - for my benchmarking stuff - changed build-files/build-config.xml - mechanism for asm library (properties, etc.) - changed build-files/build-properties.xml - - | | - - changed build-files/build-iogen.xml - skipped rewritting mechanism using IOGenerator (so even if call ant build, classes are not rewritten) - changed build.xml - bcel option doesn't compile asm - src/org/objectweb/asm source added - 5 classes changed in src/ibis/io/ - mechanism for loading class changed, all Class.forName calls replaced (in AlternativeTypeInfo.java, Conversion.java, IbisSerializationInputStream.java, IbisSerializationOutputStream.java, SerializationBase.java) and 1 class changed in src/ibis/util (Timer) All changes to original ibis classes are marked ("Pavel Petrek .....") How to: - launching script (ibis-run (.bat)) has new options (-classloader XXX and -noclassloader). Default classloader is the asm one (ibis.backend.loader.ASMClassLoader) - by checking value of NHOSTS I can say whether I have a single machine run or multiple machines run. For single machine I put rewritten core classes jar to IBIS/classlibs/jvm.jar and for multiple machines to /tmp/ibis_jvm_$$.jar - if the classloading is not deactivated, I call ibis.backend.loader.SysGenerator for rewritting core classes and 3 serializable ibis classes, which must be rewritten before start of the application (due to the problem with loader's constraint described in thesis) - then application is launched using selected classloader and using rewritten core classes jar file SysGenerator has two debugging parameters: "-t" for time measurements and "-v" for rich output. For the moment there is "-t" already used in ibis-run Both classloaders have new property: "java.cl.debug" for rich output. If I use /tmp as the output for rewritten core classes, in the end I delete it, but if there is a user break it (CTRL-C), the rm command is not called and the file remains as a garbage.