This is the mail archive of the java@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]

RE: Questions about GC, _Jv_MarkObj() and reflection data.


> From:  Andrew Haley
> Tom Tromey writes:
>  > 
>  > It occurred to me that you could also implement this by 
> having boehm.c  > generate a length descriptor even if the 
> object has non-pointer  > fields.
> 
> Oh, yes!  Easier still...
> 
> Andrew.
> 
That's probably also the fastest.  For testing purposes, the
GC_IGNORE_GCJ_INFO environment variable should revert to conservative
scans for anything that might contain pointers (not just big objects),
which I think should also avoid the _Jv_MarkObj calls.

The down side of any of this is that there is an increased chance of
accidental storage retention.  Usually that won't be an issue.  But if
it is, it might defeat your goal of reducing memory footprint.  As
Andrew pointed out, the solution is to introduce a mark procedure that
understands long bitmaps. Without reordering fields, that's probably the
best you can do.

Hans


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]