[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