Hello Ivan,

What would be the criteria for freeing up the garbage collected objects in
new area ?

Wont if lead to performance issues with duplication of memory ?

Just wondering,

- Vikram Mohan

On 8/29/06, Ivan Volosyuk <[EMAIL PROTECTED]> wrote:

Weldon,

I think there are two different tasks:
   1. We need to make sure that GC doesn't break heap consistency.
   2. We need to detect wrong / unreported roots from JIT/VM.

First task is solved by HARMONY-881.
Second task can be addressed with your proposal. The point is, that
java stack can contain some garbage (slots which will never be used),
this can complicate this task.

I have used different approach to locate second problem:
Most likely unreported roots leads to crash or at least unexpected
behaviour of program.
I have written special GC (customized the HARMONY-1269) which moves
all objects after garbage collection to new area. Old area is marked
as inaccessible (hardware protection: pages has neither read nor write
permission). Failing program can be started with the GC implementation
and the exact place with outdated root can be identified.
--
Ivan

On 8/29/06, Weldon Washburn <[EMAIL PROTECTED]> wrote:
> One of the harder GC debugging problems is verifying that all live
> references are indeed reported to the GC.  In other words, verify the
> stuff that happens outside the GC that impacts the GC.  This actually
> complements verifying that GC internals are functioning correctly.
> Both are important for building a product quality JVM.  Perhaps it
> makes sense to build the following tool for Harmony:
>
> Build a stack scanner that scans a given Java thread and compares each
> 4-byte slot to see if it can be interpreted as a ref ptr into the java
> heap.  Put the scan results in a list.  The locations that match what
> the JIT reports are removed from this list.  The assumption is that
> two independent approaches to identifying live references is most
> likely correct.  The remaining (hopefully few) items on the list can
> be manually inspected by JIT and VM developers to determine if somehow
> a live reference was actually overlooked.
>
> The above approach can be refined.  More powerful filters can be
> constructed to reduce the clutter of false positives.  It may even be
> possible to run the JVM in "debug" mode that will do an assert(0); if
> it sees suspicious bit patterns in the stack.
>
> Thoughts?

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
www.FaeLLe.com
www.VikramMohan.com

Reply via email to