harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiao-Feng Li" <xiaofeng...@gmail.com>
Subject Re: [DRLVM][JIT/GC] Questions on JIRA-1682, incorrect gc enumeration
Date Mon, 16 Oct 2006 04:11:58 GMT
Some of my comments inlined.

On 10/16/06, Weldon Washburn <weldonwjw@gmail.com> wrote:
> It looks like this JIRA has been closed.  I ask the below questions.  It may
> make sense to reopen this JIRA.
> 1)
> Mikhail Fursov said, "With this fix JIT precaches all offsets for mananaged
> pointers in a method before reporting".  Is there a problem if a given live
> reference appears in several different stack frames of the same thread?

When the same reference value appears in multiple frames, the latter
enumerated one will find the updated value.

> 2)
> Does this patch include Jitrino.JET, Jitrino.OPT  and the interpreter?  Have
> all three been tested?

Interior pointer is only an optimization of OPT. So it's not a problem
for JET and interpreter.

> 3)
> Does this patch comprehend "parallel GC" running on a SMP box?  For example,
> 4 CPUs simultaneously enumerating 4 java thread stacks that happen to
> contain live reference pointers to the exact same objects.  Is there a test
> that demonstrates this behavoir?

The potential problem can be avoided by atomic forwarding bit checking
and setting. Since this is an issue with any parallel GCs, it should
have no problem with this patch.

> 4)
> On Oct 6, Mikhail Fursov said, "I'm agree that GC should not move objects
> during the enumeration".    But then provided a patch on October 9.  Was the
> decision to allow objects to move during enumeration documented somewhere?

I read the same thing in the JIRA comments.

> 5)
> Is there any impact of the above on GCV5?

No. GCv5 currently doesn't move objects during enumeration.

> 6)
> Does GCV4 work with jit_gc.diff?

Should have no problem, since the interface is kept.

> 7)
> Instead of applying jit_gc.diff what about applying retrieve_root_set.diff?
> If it is now too hard to rollback SVN, how about reopening JIRA1862 and also
> applying retrieve_root_set.diff also?  The rationale is that there has not
> been adequate discussion on modifying the semantics of JIT/GC interface.

If the GCv4.1 can support non-moving enumeration with the second
patch, it would be useful as an additon, but not necessarily as a fix
to the bug.


> 8)
> Note that retrieve_root_set.diff does not impact JIT/VM/GC interfaces.  It
> is only local to gcv4.1.  Also note retrieve_root_set.diff patch line count
> is 13 and jit_gc.diff line count is 179.
> --
> Weldon Washburn
> Intel Middleware Products Division

Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org

View raw message