Xiao-Feng Li wrote:
On 7/23/07, Alexei Fedotov <[EMAIL PROTECTED]> wrote:
Folks,

> These object references are enumerated as weak

There might be a coincidence with the message Harmony VM continues to print:
The GC did not provide gc_add_weak_root_set_entry()

When we just got GC v4 before Salikh implemented weak roots they
counted as strong ones and were not collectable. Xiaofeng, does it
make sense?

We need discuss if this makes sense to use weak root for tagged
objects, or whether we have better solutions.

It seems to be a convenient way to keep a reference to an object that wouldn't keep it from being collected, so it does make sense to me.

Other solution would be to allocate tags inside of objects themself inside of heap, but there is a big problem with it because spec states that tags are local to JVMTI environment. If an agent creates many environments, or if there is more than JVMTI agent, it may be necessary to associate different environments with the same object.

On 7/23/07, Gregory Shimansky <[EMAIL PROTECTED]> wrote:
> Xiao-Feng Li wrote:
> > Eugene, what are tagged objects? are they non-reachable objects?
>
> Tags are JVMTI attributes that may be assigned to an object using
> SetTag() JVMTI function. These attributes may be used by heap profiler
> to analyze it. Tagged objects may be reachable or not, those that aren't
> reachable should be collected by GC. Take a look at JVMTI spec section
> that describes heap iteration API [2].
>
> In JVMTI code tags to objects are implemented as a pair of jlong and
> object reference. These object references are enumerated as weak (see
> file jvmti_tags.cpp) using gc_add_weak_root_set_entry() so GC should not
> have a problem removing unreachable objects.
>
> [1] http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#SetTag
> [2] http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#Heap
>
> > On 7/21/07, Eugene S. Ostrovsky (JIRA) <[EMAIL PROTECTED]> wrote:
> >> [drlvm][jvmti][gc] GC_gen doesn't collect tagged objects
> >> --------------------------------------------------------
> >>
> >>                  Key: HARMONY-4511
> >> URL: https://issues.apache.org/jira/browse/HARMONY-4511
> >>              Project: Harmony
> >>           Issue Type: Bug
> >>           Components: DRLVM
> >>          Environment: Windows x86
> >>             Reporter: Eugene S. Ostrovsky
> >>
> >>
> >> Objects tagged with SetTag() jvmti function are not collected by GC v5.
> >> I'm not sure whether the bug is in GC or in jvmti heap iteration
> >> implementaion.
> >>
> >>
> >> --
> >> This message is automatically generated by JIRA.
> >> -
> >> You can reply to this email to add a comment to the issue online.
> >>
> >>
> >
> >
>
>
> --
> Gregory
>
>


--
With best regards,
Alexei,
ESSD, Intel





--
Gregory

Reply via email to