[info-mcl] Fwd: Can we get some price quotes?

Ron Garret ron at flownet.com
Sun Oct 14 14:37:42 EDT 2007


On Oct 14, 2007, at 11:15 AM, svspire at sandia.gov wrote:

>> On 10/14/07 9:41 AM, "svspire at sandia.gov" <svspire at sandia.gov> wrote:
>>
>>> There's some good info about exceptions in OpenMCL here:
>>> http://openmcl.clozure.com/Doc/index.html#Threads-and-exceptions
>>>
>>> Much of this information is applicable to MCL as well, with the
>>> notable exception (n.p.i.) that MCL doesn't use native threads.
>>
>> Is this really applicable to MCL? OpenMCL uses Mach exceptions,  
>> and MCL is a
>> CFM application.
>
> Doesn't matter. Both Lisps invoke exceptions for many of the same
> purposes. Remember that they both forked from a common ancestor code
> base. Post-fork, some things changed but a lot remained the same.
>
> At some point, the software exceptions generated by MCL or OpenMCL (at
> whatever abstraction layer) result in a hardware exception on the
> PowerPC processor, and it is these exceptions that Rosetta is bungling
> in its emulation of the PPC hardware.
>
> Fixing this aspect of Rosetta would, for all practical purposes,
> instantly make existing MCL and existing OpenMCL-PPC32 applications
> "just work" on Intel Macs.

But that's not going to happen.

What I don't understand is why it is hard to replace all the software  
exceptions with MCL's own code that emulates the exception.  After  
all, software exceptions just fram the contents of registers  
somewhere and jump to a handler, right?

The hard part, it seems to me, is if Rosetta doesn't handle hardware  
exceptions (like guard pages) properly.  That's much harder to work  
around, but even that seems doable if you don't care about  
efficiency.  You need to add a software check after every instruction  
that could potentially produce an exception.  Ugly, horribly slow,  
but it ought to work.  That's the kind of solution I had envisioned  
when I asked for estimates on the condition that speed is not a concern.

rg




More information about the info-mcl mailing list