[M3devel] atomic.mg

Jay K jay.krell at cornell.edu
Thu Jun 30 07:28:00 CEST 2016


If you do get time, one of my top requests is cooperative suspend.
This will have a few benefits:

  - remove a bunch of system-specific code 
  - improve portability  
  - make NT386-on-amd64 much more trustworthy  (SuspendThread + GetThreadContext are wonky there) 
  - make PPC_DARWIN on x86 DARWIN probably work where today it always fails (granted, obsolete system and never remotely worked)   
  - not break into debugger due to the signals   

On the other hand, I realize the primitives we are after are "SuspendThread" and "GetThreadContext" and they might exist widely.
I didn't realize what was being attempted before.

I might also get time in the next few months for a bunch of stuff. :)

  - Jay


----------------------------------------
> Subject: Re: atomic.mg
> From: antony.hosking at anu.edu.au
> Date: Thu, 30 Jun 2016 15:11:03 +1000
> CC: m3devel at elegosoft.com
> To: jay.krell at cornell.edu
>
> I may actually have some time for this in the next few months!
>
> Tony Hosking, Professor
> Research School of Computer Science
> The Australian National University
>
>> On 30 Jun 2016, at 2:52 PM, Jay K <jay.krell at cornell.edu> wrote:
>>
>> diff --git a/m3-libs/m3core/src/m3makefile b/m3-libs/m3core/src/m3makefile
>> index 7efc97d..e371499 100644
>> --- a/m3-libs/m3core/src/m3makefile
>> +++ b/m3-libs/m3core/src/m3makefile
>> @@ -52,7 +52,7 @@ include_dir ("main")
>> include_dir ("weakref")
>> include_dir ("word")
>> include_dir ("types")
>> -% include_dir ("atomic") DISABLE UNTIL I CHECK IN THE COMPILER FRONT-END FIXES -- Tony
>> +include_dir ("atomic")
>>
>> % m3_option ("-times")
>>
>>
>> "../I386_DARWIN/AtomicWideChar.m3 2=> ../src/atomic/Atomic.mg", line 53: ********* M3CG_Check ERROR *********** bad stack: expected [ Int32 Int32 Addr ] got [ Int32 Addr Addr ]
>> "../I386_DARWIN/AtomicWideChar.m3 2=> ../src/atomic/Atomic.mg", line 53: ********* M3CG_Check ERROR *********** non-empty stack: [ Int32]**NIL**
>>
>>
>> might be good to finish this up.
>>
>> hey, that is funny, now I see more of what those strings are for.
>>
>> The "2" in "2=>" is a local edit.
>>
>> - Jay
>
 		 	   		  


More information about the M3devel mailing list