harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rana Dasgupta (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-4477) [drlvm][gc_gen] Class Unloading support in DRLVM
Date Thu, 09 Aug 2007 22:53:42 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-4477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12518863
] 

Rana Dasgupta commented on HARMONY-4477:
----------------------------------------

Chunrong,
   The implementation looks good. A couple of questions...

1. I understand that you enumerate vtable->jlc as roots ( though not originally intended
in design ) mostly because it is convenient for updating the references since there is no
backward pointer to the vtable. But do the vtable->jlc pointers ever have to be enumerated
as strong roots? Eg...in vm_enumerate_jlc(..)
{
   ...
  if (!b_weak) {
         vm_enumerate_root_reference((void**)c->get_class_handle(), FALSE);
       if(c->get_vtable())
          vm_enumerate_root_reference((void**)&(c->get_vtable()->jlC), FALSE);
     }
...
} 

it seems to me that that the strong root to this class has already been enumerated by the
first line. Really the jlc is an additional reference and not a real root, and maybe it can
be always kept weak?

2. Is it possible to make the commandline options simpler? Options are not only a means to
manage the code and testability, but are user visible and should be simple and direct. 

So, if I understand, the user first needs to set XX:gc.force_major_collect=true since without
major collections, CU will not be active.
Also XX:gc.ignore_vtable_tracing needs to be false/true for the modified VM code to use gc_supports_class_unloading()
correctly and enumerate roots accordingly to cause CU.

Why do we then need another XX:gc.ignore_weak_roots if the VM code works correctly? Is this
temporary for testing only? 

Thanks,
Rana


  

> [drlvm][gc_gen] Class Unloading support in DRLVM
> ------------------------------------------------
>
>                 Key: HARMONY-4477
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4477
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>         Environment: All
>            Reporter: Rana Dasgupta
>         Attachments: ClassUnloading.doc, classunloading.gcv5.classtracing.diff.1, classunloading.options.diff.1,
classunloading.prototype.diff.1, classunloading.weakroots.forgcv5.diff.1, Test_unloading_native_lib.zip
>
>
> This JIRA is intended as a placeholder for functional support for class unloading in
DRLVM. Remaining VM code mods, GC changes, tests, design will be submitted here.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message