On Tue, Apr 26, 2011 at 2:35 PM, Alexandre Bergel <[email protected]>wrote:
> Not using the receiver is indeed misleading. I thought it simply flushes > the cache for a particular class > You are not alone :) That's why I am proposing the change. Of course, a nice comment could be enough (even if I muuuuch prefer to have it in elsewhere), but I think it may be a good moment to reify the VM and delegate a couple of things to it. > > Alexandre > > > On 26 Apr 2011, at 06:34, Mariano Martinez Peck wrote: > > > Hi. As far as I can see, > > > > Behavior >> flushCache > > "Tell the interpreter to remove the contents of its method lookup > cache, if it has > > one. Essential. See Object documentation whatIsAPrimitive." > > > > <primitive: 89> > > self primitiveFailed > > > > > > And primitive 89 does nothing in particular with the receiver (the class > in this case). In both, InterpreterVM and Cog, the WHOLE cache is flushed, > there is NOTHING related to the receiver class. Of course, that's at least > what it looks for me (please tell me if I am wrong). > > So...if this is the case, wouldn't make sense to move it elsewhere? like > Smalltalk flushCache or Smalltalk vm flushCache (and it is a good moment to > reify the VM). So after we can do: Smalltalk vm version. Smalltlak vm > flushCache, Smalltalk vm parameterAt: , etc.... > > > > If you don't like doing "Smalltalk vm" then we can create a VM class with > all class methods, or a singleton and use #current or a singleton and put it > in Smalltalk globals...etc > > > > We will need to fix a couple of senders, thus. > > > > What do you think? For me is really confusing, and you don't understand > it until you see the primitive implementation. > > > > Cheers > > > > -- > > Mariano > > http://marianopeck.wordpress.com > > > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > > > -- Mariano http://marianopeck.wordpress.com
