swarm-support
[Top][All Lists]
Advanced

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

Re: Swarm and GNUstep


From: Marcus G. Daniels
Subject: Re: Swarm and GNUstep
Date: Tue, 01 Oct 2002 11:57:56 -0600
User-agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.2a) Gecko/20020909

Paul E Johnson wrote:

I'm trying to figure why Swarm has its own libobjc. I've compared the header files of Swarm's libobjc files and the gcc-3.0.4 and the differences are minor.

libobjc is in Swarm for three reasons.

1) Historically, Cygwin has not included the Objective C compiler or the runtime. Because it was necessary to pull the runtime into the Java environment, it was going to be necessary to have it on hand in order to link it into a DLL. (Unlike the Unix shared library model, Windows DLLs are fully resolved links.)

2) There have been small but significant fixes for the sake of 64 bit systems like Tru64 in the Swarm copy of the libobjc runtime. Packaging libobjc with Swarm was an easy way to provide control over such things, e.g. when the fix was fragile
      and potentially bounded to known usages in Swarm.

3) At the time, Objective C was pretty much dead. Apple has brought Objective C back to life to some extent, and it would now make sense to identify the fixes and feed them back into the mainline (when there isn't an alternative fix in the modern sources). Note, the mframe code lives in the Swarm copy of libobjc,
      and would need to be merged with GNUstep, if it still has that
(again, there are a number of Swarm-private changes to that code, which was taken from an old, stale codebase). mframe is used for taking apart forwarded call frames
      for resending to Java by FCall.

There should be no problem merging Swarm with GNUstep, since the Objective C data structures are the same. Note, however, that the phase-oriented programming model is different enough that in practice it would be no more `natural' to use GNUstep Objecitve C than Java.


                 ==================================
  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]