Version 4 Scope of Work
Last updated at 12:31 pm UTC on 17 January 2006
Note the following items are all up for discussion. The list is not complete, nor does the presence of an item mean we've decided to include it.
Clean up a number of ugly patches in Version 3
- Combine split fields of primitive index on compiled methods (tpr - Reduce size of field to 9bits? This would cut to 511 prims which I claim is plenty with named prims etc. Would need small change in compiler to drop last few quickreturninstvar codes)
- Combine split fields in object format field in classes
Simplify and generalize a few aspects of Version 3
(tpr- Best do some benchmarking to see if it is advantageuous before relying on this)
- Eliminate the compact class feature and its field in object headers
- Extend the object hash to use the extra 5 bits from above
- Introduce a format for block closures and necessary instructions for full speed execution.
- Other changes to CompiledMethods as appropriate - new compiled method format approximately as per http://sumeru.stanford.edu/tim/pooters/squeak.html
- Remove many obsolete prims and support for old numbering of now named prims
Facilitate a number of anticipated extensions to Squeak
- Convert Form bitmaps to a 64-bit modulus
- Easier ability to subclass CompiledMethod via new format removing special mixed bytes/oops
- Restructure primitives so they can fail and restart in case of a GC.
- Incorporate method-lookup change to support remote message-sending, in anticipation of Squat's support for minimal snapshots and inter-system communication.
- Allocate header format five for Squat's method dictionary marking, version bits in method trailers for Squat's module system.
(Is anyone else interested in an Version 4 Scope of Work a-la VisualWorks 7? -avi) (yes -dph) (yes -cmm) (Yes!! -mrm) (Yes -kjw) (Yes!! Please! -m3r)
The internal representation of a file name is mapped to the OS dependent one. There is a working version, but the mechanism for this in current implementation isn't quite well integrated with URI stuff. –Yoshiki)
- does this affect the VM? (Some little modifications to the VM is helpful. I have those in my mind, but some of the Mac OS X issues sounds pretty bizzare, so I need to talk with who knows it. – Yoshiki) (Yoshiki – e-mail me if you have any OS X questions – I'm on SM2 -kjw)
- error messages
- file names, file prims (The VM should know a little about the file names, but not much.
New sources format
- does this affect the VM? (No. –Yoshiki)
- utf8 ? ("raw" utf8 or Unicode isn't sufficient to store necessary info. We'd like to have UTF-8 and higher level annotations. See http://www.unicode.org/faq/languagetagging.html. – Yoshiki)
- CR / LF / ZERO (to mark it as binary)?
- XML ? (Probably, – Yoshiki)