swarm-support
[Top][All Lists]
Advanced

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

Re: What's all this about Swarm modifying the runtime?


From: Scott Christley
Subject: Re: What's all this about Swarm modifying the runtime?
Date: Mon, 30 Sep 2002 19:38:53 -0700


On Monday, September 30, 2002, at 05:59 AM, Paul Johnson wrote:

I don't even really know what "runtime" means, so take this with a grain of salt.

When I speak about the "runtime", I am generally speaking about all of the bits that are provided by GCC, the GNU compiler. This includes the code which parses/compiles ObjC code as well as the libobjc.a library. A more strict definition of "runtime" is just the libobjc.a library; meaning the functions used by ObjC programs when they are being "run."


Does Swarm really use a different runtime?

The basic answer is Yes, but the details are less clear. In this case, Swarm has its own version of the libobjc.a library. You can see this in the Swarm source code by the libobjc directory which correlates to the libobjc directory in the GCC source code.

From reading the ChangeLog, it appears that Marcus added mframe support from GNUstep, automake/libtool for building libobjc.a, changes to some runtime functions to use mframe support, and various bug fixes. mframe is processor specific code for dynamically constructing/deconstructing stack frames for function calls; GNUstep uses it for its distributed objects.

I'm unsure how Swarm is using the mframe code though; it is referenced a few places with the defobj code. It may just be used for the integration of Java and ObjC, or it may be central to ObjC method calls within Swarm. My guess is the former because you only really need mframe support for proxies and forwarding.

So Paul, when you say that you are able to compile Swarm with the newer GCC; it may be that the libobjc directory within Swarm is being compiled and being used instead of the libobjc.a supplied by GCC. I would guess this has to be the case because when you compile heatbugs, it would complain about not being able to find the mframe functions if GCC's libobjc.a was used.

cheers
Scott


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