This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Tom Tromey wrote:
Tom> I did a little work on the gcjx branch in this area. But it has Tom> never been tested. Anyway the idea was that the compiler could emit Tom> real mark descriptors for Class, by special-casing it a bit in Tom> boehm.c.
I looked at this today. We can't scan Class using a bitmap descriptor yet, because its layout is wrong for this. The descriptor overflows and we have to fall back to procedural scanning.
We could still do better than we do today, I think. For instance we
could scan Class conservatively, and make sure to allocate
Class-related structures via the GC (using conservative scanning or
introducing new mark kinds as desired).
My idea was to rearrange the layout of Class such that all pointers go at the start of the Object, and non-pointers (plus pointers that we never want marked?) go at the end. Then, we should be able to use a length-based descriptor to get precise scanning.
Of course, Class needs to be allocated at runtime before we can make this happen. And, it will break the ABI - perhaps we could come up with some kind of compatibility mode to create a new-Class from the old, however.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |