This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
RE: libgcj and incremental gc
Boehm, Hans writes:
> Thanks for trying this. This was on X86? I wonder if the trampolines
> just lose execute permission?
I don't think so. What seems to happen is that when I jump to a
trampoline, it has turned into a string. It could be, of course, that
some insane piece of code has written a string to the wrong place in
memory, but I reckon that it's a good guess the trampoline has been
reclaimed.
> I would not in general turn this on by default. But it might be a
> useful option. The vague plan I had was to add some mechanism for
> turning this on only if both:
>
> - the user asks, and
> - the page size is equal to HBLKSIZE
>
> It may be that the GC_ENABLE_INCREMENTAL environment variable should
> acquire this meaning. It currently doesn't check the second
> condition.
>
> The second condition is necessary to ensure that pointer-free objects
> are never write protected.
Yes, I can understand that one.
> I think the hard part in making this work is that we would have to
> ensure that system calls only write to pointer-free objects. I
> think that's hard only because I'm not sure there's an easy way to
> find and check all of them.
I can't think of any case in Java where a system call writing to a
Java object that contains pointers would not be a bug.
My interest here is to get some proper numbers about performance
issues.
Andrew.