Reflectivity Notes

Loading the Reflection into an existing image

These instructions are quite detailed as I am a newbie to the whole Squeak environment.

currently the following packages are loaded from the squeaksource repository:

Then system preferences are set by the loadPackages method of the ReflectivityLoader:

Then the following packages are loaded

There is a preference set when loading the Reflectivity-packages that makes all new code to be compiled as ReflectiveMethods.

(one error occurs while executing this command: (1) Process should not be redefined. This error can be ignored by pressing 'proceed' in the debugger window.)

PERecompiler new inspect; recompileImage forkAt: 30

PERecompiler is a subclass of Recompiler.

This recompiles all class/instance methods in an image. Methods that cant be recompiled are added to the problemMethods and are not recompiled.

PERecompiler recompiles all the old code in the image. And it does it in a particular way: It generates ReflectiveMethod and CompiledMethod, and then installs the compiledMethod in the classes, so there is no slowdown when executing old code. ( A ReflectiveMethod is the meta-object of the compiled method)

Taking the Reflection image

General Notes