Attached is a set of unit tests for LargeIntegersPlugin. These tests should pass on any combination of 32 or 64 bit image and virtual machine.
For a 64 bit image, the patches on Mantis 5238 (http://bugs.squeak.org/view.php?id=5238) must be applied. After applying those patches, the LargeIntegersPluginTests must be recompiled so that large integer literals are correctly compiled in the unit tests. Any other methods in the image with large integer literals must also be recompiled.
No changes to the LargeIntegersPlugin are required whatsoever.
With the Mantis 5238 patches, the plugin works for all combinations of 32 and 64 bit image and virtual machine, and passes all tests.
On a 64 bit VM and 64 bit image without the plugin: Time millisecondsToRun: [2000 factorial] ==> 3334
On a 64 bit VM and 64 bit image with the LargeIntegerPlugin: Time millisecondsToRun: [2000 factorial] ==> 51
On a 64 bit VM and 32 bit image without the plugin: Time millisecondsToRun: [2000 factorial] ==> 3454
On a 64 bit VM and 32 bit image with the LargeIntegerPlugin: Time millisecondsToRun: [2000 factorial] ==> 59
I can now vouch for the following plugins as 32/64 bit clean on unix VMs:
- BalloonEnginePlugin - BitBltSimulation - FilePlugin - SocketPlugin - LargeIntegersPlugin - OSProcessPlugin - AioPlugin - XDisplayControlPlugin - AsynchFilePlugin - FileCopyPlugin
Dave