64-bit VMs
Ian Piumarta
ian.piumarta at inria.fr
Mon Apr 4 21:25:18 UTC 2005
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
More information about the Vm-dev
mailing list