Hello,
<br><br><div class="gmail_quote">On Mon, Jul 7, 2008 at 2:38 PM, Igor Stasenko <<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2008/7/7 Klaus D. Witzel <<a href="mailto:klaus.witzel@cobss.com">klaus.witzel@cobss.com</a>>:<br>
<div><div></div><div class="Wj3C7c">> [sorry for cutting multiple Re's from the subject line]<br>
><br>
> On Mon, 07 Jul 2008 13:11:05 +0200, Igor Stasenko wrote:<br>
><br>
>> 2008/7/7 Klaus D. Witzel:<br>
>>><br>
>>> On Mon, 07 Jul 2008 10:49:06 +0200, Igor Stasenko wrote:<br>
>>><br>
>>>> 2008/7/7 Andreas Raab :<br>
>>>>><br>
>>>>> Peter William Lount wrote:<br>
>>>>>><br>
>>>>>> Why prevent others from having their needed multiple native threads?<br>
>>>>>><br>
>>>>><br>
>>>>> It's not about preventing anything. If you have a proposal for how to<br>
>>>>> do<br>
>>>>> multiple threads per image I will most definitely listen, and if it is<br>
>>>>> a<br>
>>>>> reasonable proposal (i.e., one that can be implemented with bounded<br>
>>>>> resources) I will even try to find funding for it. However, until such<br>
>>>>> a<br>
>>>>> time that there is a proposal I will drop this pointless discussion<br>
>>>>> since,<br>
>>>>> simply put, there is nothing to discuss here. The only available path<br>
>>>>> at<br>
>>>>> this point is by using one native thread per image and consequently<br>
>>>>> that's<br>
>>>>> what's going to happen.<br>
>>>>><br>
>>>><br>
>>>> I have some ideas of using Island/Vat model in future CorruptVM project.<br>
>>>><br>
>>>> I'm not going into deep detail right now, but the essence of model is<br>
>>>> following:<br>
>>>><br>
>>>> - an Island is the group of objects sharing same memory region.<br>
>>><br>
>>> s/memory region/owner/ where owner can be sort of "deputy" of memory/VM<br>
>>> monitor. A very interesting concept indeed, thanks for posting :)<br>
>>><br>
>>> I think that can be addressed with a small trick in Squeak's VM and *no*<br>
>>> extra object header (using one of the Metaclass ideas that Alex+my<br>
>>> discussed in Bern for Goya => coloring of metaclass instances).<br>
>>><br>
>><br>
>> Yes, there is no need in having extra state which indicates to which<br>
>> island belongs object.<br>
>> It is impossible by design to get direct reference to any object which<br>
>> not belongs to same island.<br>
><br>
> I think that, "ref to any object" can be restricted to "any receiver", just<br>
> so when sending something. When not sending something (=> when just peeking<br>
> and poking oops) then belonging to some island is of not so much importance<br>
> (this "receiver detail" is why I suggested s/memory region/owner/).<br>
><br>
> You agree? Of course the "any receiver" detail is relative to SqueakVM;<br>
> CorruptVM's mileage may vary.<br>
><br>
</div></div>of course, a difference lies only in a way how we sending message to<br>
object, wrapped by FarRef.<br>
<div class="Ih2E3d"><br>
>> For referencing objects from different island there will be a FarRef,<br>
>> which will be responsible for handling message sends to object in<br>
>> different island.<br>
><br>
> Hah :) a natural extension of the #doesNotUnderstand: concept (with<br>
> FarMessageSend a subclass of MessageSend :)<br>
><br>
</div>Nah!<br>
You don't need to use DNU pattern, since you free to change a message<br>
sending semantics for FarRef.<br>
In this way, FarRef will act as transparent proxy, and ALL messages to<br>
it will lead to sending message to wrapped object which is located in<br>
different island.<br>
A FarRef could reserve a special selector for itself, like<br>
#performLocal: selector withArguments: args<br>
to send message to a FarRef object, not to wrapped object.<br>
<div><div></div><div class="Wj3C7c"></div></div></blockquote><div><br><br><br>The detailed documentation for current FarRef and Island's implementation could
be found in the Croquet image (look in Island class comments). <br>
Thanks Andreas Raab for that.<br>
<br>
Regards,<br>
Nikolay<br><br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div class="Wj3C7c"><br>
>><br>
><br>
><br>
><br>
<br>
<br>
<br>
--<br>
Best regards,<br>
Igor Stasenko AKA sig.<br>
<br>
</div></div></blockquote></div><br>