[M3devel] threading on Windows?

Tony Hosking hosking at cs.purdue.edu
Thu Feb 10 21:32:41 CET 2011


Why is it better?  Because rebinding to a different function is just a matter of changing an INTERFACE in the libraries, rather than hacking the compiler.

On Feb 10, 2011, at 6:01 AM, jay.krell at cornell.edu wrote:

> 1. I never understood why this any better.
> 2. It how things are currently.
> 3. Why not m3cg.alloca? (but see #2)
> 
>  - Jay/iPad
> 
> On Feb 9, 2011, at 9:48 PM, Tony Hosking <hosking at cs.purdue.edu> wrote:
> 
>> What happened to fixing this with runtime hooks?
>> 
>> 
>> On Feb 9, 2011, at 11:40 PM, Jay K wrote:
>> 
>>> Of course not.
>>> It is a made-up function that the frontend generates a call to.
>>> That it never previously did.
>>> Using the general function call interface.
>>> You need to add a special case, in the general function call code, to do something different and specific
>>> for this specific function.
>>>  
>>>  
>>>  - Jay 
>>>  
>>> From: rcolebur at SCIRES.COM
>>> To: jay.krell at cornell.edu; m3devel at elegosoft.com
>>> Date: Wed, 9 Feb 2011 22:28:45 -050
>>> Subject: Re: [M3devel] threading on Windows?
>>> 
>>> Jay:
>>>  
>>> I looked thru the 4,618 lines of M3x86.m3, but I don’t see any reference to “m3_alloca” or even “alloc” in this file.
>>>  
>>> Regards,
>>> Randy
>>>  
>>> From: jayk123 at hotmail.com [mailto:jayk123 at hotmail.com] On Behalf Of Jay K
>>> Sent: Wednesday, February 09, 2011 9:01 PM
>>> To: Coleburn, Randy; m3devel
>>> Subject: RE: [M3devel] threading on Windows?
>>>  
>>> In m3back/src/M3x86.m3.
>>>  
>>>  - Jay
>>> 
>>>  
>>> From: rcolebur at SCIRES.COM
>>> To: m3devel at elegosoft.com
>>> Date: Wed, 9 Feb 2011 18:22:56 -0500
>>> Subject: Re: [M3devel] threading on Windows?
>>> 
>>> I am certainly willing to work on the problem, but need more context info about what caused it in order to know how to resolve.
>>> All I know is that everything was working fine until I checked out the HEAD repository.
>>> When you say “special case” calls “m3_alloca”, where do I go about finding this “special case”?
>>> Are we talking Modula-3 code, C code, Assembler, what?  What package/module?
>>> Regards,
>>> Randy
>>>  
>>> From: jayk123 at hotmail.com [mailto:jayk123 at hotmail.com] On Behalf Of Jay K
>>> Sent: Wednesday, February 09, 2011 5:59 PM
>>> To: Coleburn, Randy; Mika Nystrom; m3devel
>>> Subject: RE: [M3devel] threading on Windows?
>>>  
>>> Maybe someone else can do it?
>>> The fix is: special case calls to the function "m3_alloca".
>>> Change it to call "_chkstk" (or maybe "chkstk", whatever works).
>>> The one parameter is an unsigned 32bit quantity, passed in eax, and the return value is a pointer, returned in esp.
>>> To some extent I drag my feet hoping anyone else might become motivated enough to do it and start learning how.
>>>  
>>>  - Jay
>>>  
>>> > From: rcolebur at SCIRES.COM
>>> > To: mika at async.caltech.edu; m3devel at elegosoft.com
>>> > Date: Wed, 9 Feb 2011 17:25:20 -0500
>>> > Subject: Re: [M3devel] threading on Windows?
>>> > 
>>> > Mika:
>>> > 
>>> > Sorry, but my Windows build is broken. Jay seems to indicate he is working on a "fix" and that this fix is relatively simple, but so far no solution has been checked in.
>>> > 
>>> > I've been wanting to run your program ever since you first checked it in, but that was about same time the HEAD branch update introduced a build problem. Problem is an unresolved symbol during link.
>>> > 
>>> > As soon as I can get the build problem resolved, I'll try out your test program.
>>> > 
>>> > Regards,
>>> > Randy Coleburn
>>> > 
>>> > -----Original Message-----
>>> > From: Mika Nystrom [mailto:mika at async.caltech.edu] 
>>> > Sent: Wednesday, February 09, 2011 5:01 PM
>>> > To: m3devel at elegosoft.com
>>> > Subject: [M3devel] threading on Windows?
>>> > 
>>> > Hi m3devel,
>>> > 
>>> > I'm just curious if anyone out there who's running CM3 on Windows has had
>>> > a chance to try my thread testing program yet. Current status on Unix
>>> > (Linux, FreeBSD) appears to be that there are problems in pthreads (but
>>> > I think only under heavy load) and that user threading works perfectly.
>>> > So I now wonder how things are on the third threading platform (Windows).
>>> > The thread testing program is at m3-libs/m3core/tests/thread .
>>> > 
>>> > (Note however that there is a memory leak in TRY-EXCEPT in the current
>>> > head so don't try to update everything to the CVS head. The previous
>>> > release should be OK.)
>>> > 
>>> > Also has anyone else noticed that debugging information has recently
>>> > broken? m3gdb is very unhappy on all platforms for me...
>>> > 
>>> > Mika
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20110210/9135c498/attachment-0002.html>


More information about the M3devel mailing list