Hi Tobias,
On Wed, Jul 6, 2016 at 12:23 AM, Tobias Pape Das.Linux@gmx.de wrote:
On 06.07.2016, at 08:17, Eliot Miranda eliot.miranda@gmail.com wrote:
On Tue, Jul 5, 2016 at 10:21 PM, Tobias Pape Das.Linux@gmx.de wrote:
On 06.07.2016, at 01:13, commits@source.squeak.org wrote:
Eliot Miranda uploaded a new version of System to project The Trunk: http://source.squeak.org/trunk/System-eem.835.mcz
==================== Summary ====================
Name: System-eem.835 Author: eem Time: 5 July 2016, 6:13:25.980763 pm UUID: 44354df1-cecb-414c-a705-daa84b7388dd Ancestors: System-eem.834
Fix reading methods from DataStreams on Spur. Old code used pre-Spur
numLits header format, and was not 64-bit aware.
Does that mean that pre-Spur methods on datastreams cannot be read in
Spur images?
That would be a bummer…
It needs some kind of version stamp on the stream. Point me to some
such and we can switch hit.
There is none. I would say, we store the data in the format DataStream already know (which happens to be the Pre-Spur version) and adapt on read. That would ensure backward- and forward-compatibility:
- We could still read CMs serialized in pre-spur.
- We could also read Spur-CMs in pre-spur images.
Ok. -- break -- I just realized that what you changed was the read part. so no problem here. We could change the part to do things differently when running on spur or non-spur.
The thing is that the two header formats are incompatible. The old one allows up to 2^9-1 literals, the new one up to 2^15-1. So staying with the old format limits us. We need some kind of version stamp. Right now DataStream and ImageSegment are extremely version-dependent and hence restrictive formats. It would be good for someone to revisit them and try and add some kind of versioning information, preferably supporting backward compatibility.
Best regards -Tobias
Best regards -Tobias
=============== Diff against System-eem.834 ===============
Item was changed: