Jason Johnson wrote:
On 10/24/07, Jason Johnson <jason.johnson.081@gmail.com> wrote:
  
No, the plan was that since in Smalltalk objects are mutable, I will
have to pay an extra cost for internal message sends and have the VM
do a deep copy for the sent objects.
    

Ack, terminology overload. :)  What I meant here is, obviously if I
sent a message between two literal images there is no choice but to do
a deep copy.  Erlang gains some benefit from sending interprocess
messages where the sender and receiver are in the same literal image
via reference, but I can't because Smalltalk can mutate variables.  So
this means I have to do the deep copy in *every* case.  Unless I make
some changes.


  
Hi,

No, you'd not have to deep copy every time you send the messages. You can send references and when accessing them in the remote image (or image B if you prefer) you can ask the local image (or image A if you prefer) to send the missing data. Now this assumes that the objects in image A didn't change in the meantime. Yikes. Problems are getting worse. You can't avoid them. There is no silver bullet with this attempt at simplifying concurrency. It's a harsh reality.

Cheers,

Peter