[Gc] gc on 64-bit machines
hans.boehm at hp.com
Thu Oct 28 12:26:27 PDT 2004
> From: Peter Colson [mailto:pcolson at Connexus.net.au]
> On 28/10/2004, at 4:30 AM, Boehm, Hans wrote:
> > Unfortunately, I expect this problem is quite widespread.
> > I consider these casts to be a bug, and have so for quite
> > a while. But the collector has never been tested on an
> > LLP64 platform (i.e. Windows 64, I presume; I know of no
> > others).
> Platform is AS/400 using ILE/C with teraspace options. I'm going to
> look for compile options that may be able to make it LP64, but am not
Interesting. I had thought that only Microsoft had gone that route.
> What would be your estimate of effort to fix all instances of cast to
> long so that they cast to word?
I did a grep for (long). It mostly doesn't look too bad. The most serious
problem in terms of code changes is the GC_printf stuff, which uses hardcoded
unsigned long or long arguments everywhere, and is spread through the whole
tree. It is fixed in my gc7 tree, but not in gc6.*. It may just break logging,
not the collector itself.
Aside from the GC_printf stuff, I think it would take me about two hours to
make the changes, and anywhere between a day (less if we get really lucky)
and several weeks to debug the result. That presumes familiarity with
collector debugging. It's always very variable, since it depends heavily
on the number of intermittent bugs that show up. It's more likely to be
on the low end of the scale if you don't need thread support.
More information about the Gc