You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Gregory Shimansky <gs...@gmail.com> on 2006/11/08 23:31:31 UTC

[drlvm][jvmti] Heap iteration bugfix in HARMONY-2112

Salikh

I've applied your patch in HARMONY-2112 but I have a question to you. There is 
a new condition in jvmti_capability.cpp with the following comment:

    // if the global capability can_tag_objects has already been enabled,
    // requested by this environment, but not yet posessed by this 
environment,
    // reject the request
    if (ti->get_global_capability(DebugUtilsTI::TI_GC_ENABLE_TAG_OBJECTS)
            && !posessed.can_tag_objects && capabilities_ptr->can_tag_objects)
        return JVMTI_ERROR_NOT_AVAILABLE;

Does it mean that only one environment at a time can hold and use tag objects 
functionality? Is it a temporary limitation or inherent design restriction? 

I don't think this limitation is serious, but if it exists it is probably 
worth to mention it on the drlvm limitations wiki page.

-- 
Gregory Shimansky, Intel Middleware Products Division

Re: [drlvm][jvmti] Heap iteration bugfix in HARMONY-2112

Posted by Salikh Zakirov <Sa...@Intel.com>.
Gregory Shimansky wrote:
> I've applied your patch in HARMONY-2112 but I have a question to you. There is 
> a new condition in jvmti_capability.cpp with the following comment:
> 
>     // if the global capability can_tag_objects has already been enabled,
>     // requested by this environment, but not yet posessed by this 
> environment,
>     // reject the request
>     if (ti->get_global_capability(DebugUtilsTI::TI_GC_ENABLE_TAG_OBJECTS)
>             && !posessed.can_tag_objects && capabilities_ptr->can_tag_objects)
>         return JVMTI_ERROR_NOT_AVAILABLE;
> 
> Does it mean that only one environment at a time can hold and use tag objects 
> functionality? Is it a temporary limitation or inherent design restriction? 

Yes, your understanding is correct. The design to store tag pointer into each object
implies that object cannot be tagged by more than one environment.
Thus the restriction of only one environment possessing can_tag_objects capability.

I've added a note to KnownNonBugIssuesAndLimitations wiki page.