[squeak-dev] The Trunk: Kernel-mt.1012.mcz

Eliot Miranda eliot.miranda at gmail.com
Tue Apr 5 20:50:13 UTC 2016


Hi Tim,


> On Apr 5, 2016, at 11:04 AM, tim Rowledge <tim at rowledge.org> wrote:
> 
> 
>> On 05-04-2016, at 8:23 AM, marcel.taeumel <Marcel.Taeumel at hpi.de> wrote:
>> #releaseActionMap is part of the System package, not Kernel package, where
>> Object belongs to.
>> 
>> Unless we decide to tightly couple both packages, we either require "self
>> respondsTo:" or an override extension from System to Kernel.
> 
> Or we do a proper job of working out an effective way of doing this. I really hate to see (ab)use of #respondsTo:  like this. Surely it must be slower than simply sending the message - allowing the VM to do its normal fast lookups and caching - and occasionally having to catch a dNU: ?

Sure.  The main overhead is in allocating the blocks (& hence contexts) for the on:do: handler for the MNU.  But having an empty method on Object in Kernel and overriding it in System would be ideal if Monticello had robust support for overrides.

> 
> If that is a practical path, then we need to imagine some simple and comprehensible ways to
> a) catch the dNU and do.. whatever
> b) discover that the catching is needed, which seems like some sneaky package analysis stuff well suited to a PhD student
> c) find a way to use a & b without pissing off the general user/coder

IMO we should do d) a simple override manager scheme ;-)

> 
> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Rules for Optimization: 1. Don't; 2. (for experts only) Don't Yet
> 
> 
> 
> 
> 


More information about the Squeak-dev mailing list