Some of my comments inlined.

On 10/16/06, Weldon Washburn <[EMAIL PROTECTED]> 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.

Thanks,
xiaofeng

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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to