swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Linux to MacOSX port effort.


From: Marcus G. Daniels
Subject: Re: Linux to MacOSX port effort.
Date: 28 Apr 2002 17:56:41 -0600
User-agent: Gnus/5.070084 (Pterodactyl Gnus v0.84) Emacs/20.7

>>>>> "SC" == schristley  <address@hidden> writes:

SC> I believe you are referring to the mframe source code; I recognize
SC> it from gnustep-base, it was the basis for distribute objects.
SC> OSX has a working DO system, so it is just a matter of hooking the
SC> method calls to NSInvocation.

Even if OSX has the means to do what mframe does, there are still
usages of the GNU Objective C runtime in defobj that do the `phase switching'
of objects.  [`Phase switching' is the code in Swarm that creates
method dispatch tables according to the phase or mode that the object is in,
e.g. objects being created have different valid methods from an object
that is fully initialized]

The need for the mframe stuff is to handle situations like when Swarm
sends an Objective C message to some object, and that object turns out
not to be an Objective C object.  For example in the case of a Java
object what happens is that the Objective C message is taken apart
with mframe and then reissued via Java Native Interface (JNI).

I think it would be too much to rework Swarm not to use phase
switching.  Those Swarm APIs are [especially] visible in Java and have
been around for several years now.  However, I haven't looked at the
Apple compiler extensions that merge C++ and Objective C.  It would be
possible to implement a phase switching interface given multiple
inheritance. 

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]