[squeak-dev] The Trunk: System-dtl.685.mcz
Bert Freudenberg
bert at freudenbergs.de
Tue Sep 9 09:56:43 UTC 2014
On 09.09.2014, at 04:49, David T. Lewis <lewis at mail.msen.com> wrote:
> On Mon, Sep 08, 2014 at 01:09:17PM -0700, Eliot Miranda wrote:
>> On Mon, Sep 8, 2014 at 11:58 AM, Bert Freudenberg <bert at freudenbergs.de>
>> wrote:
>>
>>> On 08.09.2014, at 20:45, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>>>
>>> Instead of creating an exception handler why not modify the interpreter to
>>> answer nil? I know the answer is that the Interpreter doesn't, and fails.
>>> But we've had years in which we could change the Interpreter to match
>>> vmParameterAt: and instead of doing the good thing (have the Interpreter
>>> answer nil for values answered by Cog VMs), we force the standard system to
>>> waste time. We should optimize the common case (trunk running on Cog) not
>>> penalize it to cover the uncommon case (trunk running on Interpreter VM).
>>>
>
> All of the VMs, including Cog, behave identically in this regard. If you
> request a VM parameter that is not understood by the VM, the primitive fails.
>
>>>
>>> Nah, if performance really was an issue we could just remove the
>>> primitiveFailed in vmParameterAt:. No need to change the VM.
>>>
>>
>> That's a good idea. Change the primitiveFailed to ^nil.
>>
>
> It would be a good idea if performance was actually an issue. It is not.
>
> This is a case where using exceptions makes good sense. If some arbitrary
> VM cannot satisfy a primitive request, it should fail the primitive.
> Answering nil as a flag for primitive failed is bad karma, and should
> not be done unless there is a good reason for doing so. Improving the
> performance of #isRunningCog is not a good reason.
>
> BTW there is another method with the same problem:
>
> isRunningCogit
> "Answers if we're running on the Cog JIT"
>
> There are no senders of #isRunningCogit in the image, so it does not need
> to be fixed. But the #isRunningCog bug was breaking the unit tests, so
> it needed fixing.
>
> Dave
+1
- Bert -
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4142 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140909/1cf0ae5a/smime.bin
More information about the Squeak-dev
mailing list
|