[M3devel] Alpha/OSF exception handling

Jay K jay.krell at cornell.edu
Wed Jul 21 18:57:00 CEST 2010


It doesn't seem to "just work".
Will require some debugging.

 - Jay

----------------------------------------
> From: jay.krell at cornell.edu
> To: hosking at cs.purdue.edu
> Date: Mon, 19 Jul 2010 07:31:22 +0000
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] Alpha/OSF exception handling
>
>
> I didn't "remove" it, but I did "disable" it. Similar.
> I didn't want to have to spend any time debugging it if it didn't work any longer.
> I'm sure we have precious few users of this system (2 this month though, quite a surge) and they can probably live with
> an equally bad implementation as all the other platforms (except for Solaris/sparc).
>   Granted, they have slower than average systems, would benefit more perhaps from the optimization.
>
> We can try it out I guess.
>
> I do hope we can improve this across the aboard.
>   Even if we don't use the tree exception handling nodes, we can probably at least use the same runtime support (libunwind in libgcc).
>   Even then, Alpha/OSF won't be important.
>
>  - Jay
>
> ----------------------------------------
> > From: hosking at cs.purdue.edu
> > Date: Sun, 18 Jul 2010 14:22:41 -0400
> > To: jay.krell at cornell.edu
> > CC: m3devel at elegosoft.com
> > Subject: Re: [M3devel] Alpha/OSF exception handling
> >
> > That is a huge shame. Why did you remove it? It used to be there and functional.
> >
> > On 18 Jul 2010, at 09:35, Jay K wrote:
> >
> > >
> > > Modula-3 for ALPHA_OSF historically had the best exception handling implementation.
> > >
> > > With Solaris/sparc32 second best.
> > >
> > > And then everything else equally bad.
> > >
> > >
> > >
> > >
> > >
> > > The current Alpha/osf is now in the "equally bad" category.
> > > Because I'm lazy.
> > >
> > > It might be worth restoring its former glory.
> > >
> > >
> > >
> > > Maybe a small project for someone?
> > >
> > >
> > > The code is still in there. I just tweaked the m3makefiles to avoid trying it.
> > >
> > >
> > > jbook2:runtime jay$ pwd
> > > /dev2/cm3/m3-libs/m3core/src/runtime
> > > jbook2:runtime jay$ find ALPHA_OSF
> > > ALPHA_OSF/m3makefile-old
> > >
> > > Renaming that m3makefile.
> > >
> > > Fiddling with this:
> > >
> > > book2:runtime jay$ grep STACK *
> > > m3makefile:readonly HAS_STACK_WALKER = {
> > > m3makefile:if defined("M3_USE_STACK_WALKER")
> > > m3makefile: if M3_USE_STACK_WALKER and HAS_STACK_WALKER contains TARGET
> > > m3makefile: if HAS_STACK_WALKER{TARGET}
> > >
> > >
> > > and this:
> > >
> > >
> > > jbook2:src jay$ pwd
> > > /dev2/cm3/m3-sys/m3middle/src
> > >
> > >
> > > book2:src jay$ grep -i _stack *m3
> > > Target.m3: Has_stack_walker := FALSE;
> > > Target.m3: Has_stack_walker := TRUE;
> > >
> > >
> > > - Jay
> > >
> >
>
 		 	   		  


More information about the M3devel mailing list