On Apr 1, 2005, at 7:05 AM, Ned Konz wrote:
Do you know which, if any, plugins need special attention / weren't tested?
Here is the current state (as far as I am aware) of plugins w.r.t. 64-bit conversion.
Plugin Status Owner ------ ------ ----- ADPCMCodecPlugin ? ? AsynchFilePlugin ? [ikp] B2DPlugin 1/2 ar?+di? B3DAcceleratorPlugin ? ar? BMPReadWriterPlugin ? ? BitBltPlugin ok? [di] DSAPrims ? ? DropPlugin ? ? FFTPlugin ? ? FileCopyPlugin ? [ikp] FilePlugin ok ikp FloatArrayPlugin ? ? GeniePlugin ? ? JPEGReadWriter2Plugin ? ? JPEGReaderPlugin ? ? JoystickTabletPlugin ? ? Klatt ? ? LargeIntegers ? ? MIDIPlugin ? ? Matrix2x3Plugin ? ? MiscPrimitivePlugin ? [ikp] Mpeg3Plugin ? ? OSPP ? dl? RePlugin ? ? SecurityPlugin ? ? SerialPlugin ? ? SocketPlugin ok ikp SoundCodecPrims ? ? SoundGenerationPlugin ? ? SoundPlugin ? ? StarSqueakPlugin ? ? SurfacePlugin ? ? Squeak3D ? ar? SqueakFFIPrims ? ar?+ikp ZipPlugin ? ?
The 'owner' column shows the initials of the person responsible for the conversion. Initials in [ ] brackets are people who will take charge of conversion if nobody else volunteers. Initials with a trailing ? query point are my best guess at who should take charge. di = Dan, ar = Andreas, dl = Dave Lewis, ikp = me. I have no idea of (or am too lazy to look up) the most likely responsible person for the others.
(If anyone on this list would like to claim responsibility for any of the above plugins [and commit to converting it/them] then please let me know. After a suitable timeout I'll repeat the call on squeak-dev, and after another timeout I'll start giving out 'plugin tokens' to anyone willing to work on anything.)
The 'status' column reflects the state of conversion. '?' means untested (but presumed to require some work), although plugins written exclusively in Slang should require minimal (or no) work (with the probable exception of OSPP). '1/2' means just enough to paint the screen is converted and working, but otherwise severely underconverted and requiring much careful attention from an expert. 'ok?' means compiles without error and appears to work, but could definitely benefit from a once-over from a well-trained and knowledgeable eye. 'ok' means converted and believed to be working fine. (The '?'s may require work in the plugin and/or in obscure corners of the CCodeGenerator and relatives to correct the usual gross 32-bit assumptions.)
The two main 'gotchas' in Slang-based code (so far, at least) are:
1. Things declared to be 'int' that are supposed to contain oops and/or pointers into memory. Every single one of these will need fixing, carefully.
2. 'C' structures stored in ObectMemory as ByteArrays that contain pointers (or anything else that might be 64-bit aligned on 64-bit hardware). These have to be read/written specially to avoid unaligned accesses (e.g., FilePlugin in which the file [pointer] and fileSize [off_t or somesuch] members of SQFile are read/written by memory copy rather than by load/store).
Ian