[LLVMdev] Erlang

Álvaro Castro Castilla alvaro.castro.castilla at gmail.com
Fri Jul 25 03:55:20 PDT 2008


2008/7/25 Simon Ask Ulsnes <vinterbleg at gmail.com>:
> 2008/7/24 Owen Anderson <resistor at mac.com>:
>>> * They are isolated and the only way to exchange information is
>>> message passing
>>>
>> This one is hard to guarantee in a compiled context, unless you
>> implement a lot of stuff to track pointer values.  Remember, all of
>> these threads will be sharing an address space.  If you want true
>> protection, you'll want something more like fork(), but that defeats
>> your other two goals.
>
> Couldn't this also be semi-guaranteed by the design of the language?
> For instance, if you completely disallow pointer arithmetics and
> always pass by value when passing messages. Could probably be quite a
> bit of copying, but if the guarantee is important, I'm guessing this
> is cheaper than tracking all pointers. I could easily be completely
> wrong.
>


I'll investigate on how that is achieved in Erlang, so I can ask more
precise questions.

I knew protothreads, but I still have to figure out the limitations
resulting from the fact that local variables are not preserved when
the protothread blocks. Is protothreads library able to keep a bunch
of living threads during program's life that exchange data through
message passing?


Thanks for your suggestions,

.alvaro.castro.



> - Simon
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>



-- 
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> http://www.alvarocastro.es



More information about the llvm-dev mailing list