[M3devel] atomic operations in cm3 (also fails on AMD64_LINUX)

Dragiša Durić dragisha at m3w.org
Tue Feb 28 15:23:32 CET 2012


LINUXLIBC6 does not have Address.i3, at least my version does not.

But, Atomic("Refany") passess at LINUXLIBC6. But, call to AtomicRefany.IsLockFree() fails - looks like infinite recursion happens inside.

On Feb 28, 2012, at 3:13 PM, Antony Hosking wrote:

> Same error as before.  We need more compile-time type information to be maintained to make sure that we are operating on addresses not integers.
> 
> On Feb 28, 2012, at 9:08 AM, Dragiša Durić wrote:
> 
>> % cm3
>> --- building in ../AMD64_LINUX ---
>> 
>> new source -> compiling AtomicAddress.m3
>> "../AMD64_LINUX/AtomicAddress.m3", line 3:  18 code generation errors
>> 1 error encountered
>> new exporters -> recompiling AtomicAddress.i3
>> compilation failed => not building program "test"
>> Fatal Error: package build failed
>> 
>> % cat m3makefile 
>> import("libm3")
>> 
>> ...
>> 
>> Generic_module("Atomic")
>> template("atomic")
>> Atomic("Address")
>> 
>> program ("test")
>> 
>> On Feb 28, 2012, at 2:25 PM, Antony Hosking wrote:
>> 
>>> Yes, this is a known bug.
>>> 
>>> On Feb 28, 2012, at 8:15 AM, Dragiša Durić wrote:
>>> 
>>>> % cm3
>>>> --- building in ../AMD64_DARWIN ---
>>>> 
>>>> new source -> compiling Proxy.m3
>>>> "../src/Proxy.m3", line 13: warning: not used (JobHandler)
>>>> 1 warning encountered
>>>> new source -> compiling AtomicAddress.i3
>>>> new source -> compiling AtomicAddress.m3
>>>> "../AMD64_DARWIN/AtomicAddress.m3 => ../src/Atomic.mg", line 52: ********* M3CG_Check ERROR *********** bad stack:  expected [ Int64    ] got [ Addr  Int64   ]
>>>> 
>>>> 
>>>> ***
>>>> *** runtime error:
>>>> ***    Segmentation violation - possible attempt to dereference NIL
>>>> ***    pc = 0x1002f0838 = Concat + 0x8a in ../src/text/TextCat.m3
>>>> ***
>>>> 
>>>> zsh: abort      cm3
>>>> 
>>>> On Feb 27, 2012, at 8:15 AM, Dragiša Durić wrote:
>>>> 
>>>>> m3-libs/m3core/src/atomic/Atomic.ig is well commented, also.
>>>>> 
>>>>> 
>>>>> On Feb 27, 2012, at 1:37 AM, Jay K wrote:
>>>>> 
>>>>>> Shows how to use it all.
>>>>>>  
>>>>>> It is disabled. Let's try it..
>>>>> 
>>>> 
>>> 
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20120228/51d7121b/attachment-0002.html>


More information about the M3devel mailing list