home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
sa104os2.zip
/
SATHR104.ZIP
/
SATHER
/
SYSTEM
/
GC
/
README.MAC
< prev
next >
Wrap
Text File
|
1994-06-09
|
2KB
|
55 lines
README.Mac
----------
This is a preliminary version of my port of the collector to the Macintosh.
It passes all tests in the file test.c, but there might be more bugs lurking.
Mac Specific Files
------------------
Since I built the collector under Symantec C++ 7, and it doesn't use Makefile's
in the standard sense, I'm including the file mac_proj.sit.hqx, which contains
a binhexed (similar to uuencoding) copy of the compressed project files you'll
need to build this on the Macintosh. This contains projects for building
the test program, gctest.pi, a project containing just the library sources,
gc.lib.pi, for testing the cord library, cord.pi, and finally a hacked up
version of the cord text editor, de, that runs under the console emulation
library, ANSI++, under Symantec. It has a pretty weak emulation of curses
and only really works if you hack console.c a little bit in ANSI++. However
it works well enough to page through a file and move around editing, etc.
Changes
-------
The biggest changes made to the source was providing a target for MACINTOSH.
Some care had to be taken to fit it in with the rest of the #ifdefs, as usual.
The most most major change was converting the GC_arrays structure from static
data to dynamically allocated, because no file can contain more than 32k of
global data under Symantec C/C++. However; on the non-Macintosh platforms
I still leave it as global data, I just take a pointer to it rather than
dynamically allocating it.
One thing this affects is that it is really a good idea to call GC_init
before using the collector. I don't trust the collector to be able to
do this automatically with these new changes.
Also, since GC_arrays is no longer at a constant location, the static
initialization of the array GC_obj_kinds won't work. So, I added a new
function to mark.c, called C_init_mark() which does the rest of the
initializations of GC_obj_kinds.
Happy garbage collecting!
Patrick Beard, June 6, 1994.
I undid some of Patrick's changes, to keep things as consistent as
possible across platforms. GC_arrays is statically allocated. A few
of its former components are now dynamically allocated separately.
It should not be necessary to call GC_init explicitly.
I replaced the macro MACINTOSH with MACOS, both for consistency with
other platforms, and to better distinguish it from AUX (which is
admittedly less interesting, but was already supported).
Hans-J. Boehm, June 9, 1994