[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
|