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:

   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);
          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? 



> [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.

View raw message