Hi,
The subject says it all. Can variableByteSubclasses have fixed inst vars? The compiler seems to be happy with it but I get all sorts of strange crashes. So the question is: Do we need to fix the compiler or the Interpreter?! ;-)
Andreas
The definition is that only pointer classes can have named instance variables. The CompiledMethod class is a special, fudged case dating from the days when there were a rather limited number of oops available. Word or Byte classes are not supposed to have, indeed should not allow, named instvars.
We could fairly easily 'fix' CompiledMethods, with a minor saving in complexity in various places including the garbage collector.
tim
The definition is that only pointer classes can have named instance variables. The CompiledMethod class is a special, fudged case dating from the days when there were a rather limited number of oops available. Word or Byte classes are not supposed to have, indeed should not allow, named instvars.
Ah! Good to know. Then we should probably adjust Behavior>>variableByteSubclass:... to complain about it. It's so easy to add named inst vars to these classes and in Smalltalk everything that's not explicitly forbidden usually works perfectly (as opposed to say C++ templates ;-))
Bye, Andreas
squeak-dev@lists.squeakfoundation.org