CRR (Small-ish): 7088680: G1: Cleanup in the G1CollectorPolicy class
Ramki Ramakrishna
y.s.ramakrishna at oracle.com
Wed Oct 5 16:38:27 UTC 2011
Looks good...
On 10/5/2011 7:43 AM, Tony Printezis wrote:
> Ramki, thanks for the code review! Yes, good observation re: not
> needing sort_end_sec. Changed it to this:
>
> ...
> _collectionSetChooser->sortMarkedHeapRegions();
> double end_sec = os::elapsedTime();
> if (G1PrintParCleanupStats) {
> gclog_or_tty->print_cr(" sorting: %8.3f ms.",
> (end_sec - known_garbage_end_sec) * 1000.0);
> }
>
> double elapsed_time_ms = (end_sec - _mark_cleanup_start_sec) * 1000.0;
> ...
>
> Y. S. Ramakrishna wrote:
>> g1CollectorPolicy.cpp, Lines 2644, 2646 and 2651: you don't need both
>> sort_end_sec and end_sec.
>> Only one of them will do. Rest looks fine.
>>
>> -- ramki
>>
>> On 10/04/11 14:01, Tony Printezis wrote:
>>> Thanks Mikael,
>>>
>>> Yes, I accidentally posted the wrong links. The correct ones are:
>>>
>>> all) http://cr.openjdk.java.net/~tonyp/7088680/webrev.0/webrev.all/
>>>
>>> 1)
>>> http://cr.openjdk.java.net/~tonyp/7088680/webrev.0/webrev.0.G1G1PCleanupFieldMethodRemoval/
>>>
>>>
>>> 2)
>>> http://cr.openjdk.java.net/~tonyp/7088680/webrev.0/webrev.1.G1G1PCleanupMethodRefactoring/
>>>
>>>
>>> 3)
>>> http://cr.openjdk.java.net/~tonyp/7088680/webrev.0/webrev.2.G1G1PCleanupDevirtualize/
>>>
>>>
>>> Apologies!
>>>
>>> Tony
>>>
>>> On 10/4/2011 4:14 PM, Mikael Gerdin wrote:
>>>> Maybe you should upload your webrevs to cr.openjdk.java.net :)
>>>> /mgerdin
>>>>
>>>> On Tuesday 04 October 2011 14.57.10 Tony Printezis wrote:
>>>>> Hi all,
>>>>>
>>>>> I'd like to get a couple of code reviews for some cleanup in the
>>>>> G1CollectorPolicy class. The changes were motivated by code
>>>>> reviewers'
>>>>> comments on a previous CR (thanks John). The webrev for all the
>>>>> changes
>>>>> is here:
>>>>>
>>>>> http://syros.us.oracle.com/local_ws/hs-g1-g1p-cleanup/7088680/webrev.0/webre
>>>>>
>>>>> v.all/
>>>>>
>>>>> I have broken the changes down in three different webrevs in case
>>>>> they
>>>>> are a little easier to code review this way:
>>>>>
>>>>> 1) Remove unnecessary fields and methods:
>>>>>
>>>>> http://syros.us.oracle.com/local_ws/hs-g1-g1p-cleanup/7088680/webrev.0/webre
>>>>>
>>>>> v.0.G1G1PCleanupFieldMethodRemoval/
>>>>>
>>>>> 2) Remove the G1CollectoryPolicy_BestRegionsFirst class and fold its
>>>>> functionality in its superclass, i.e., G1CollectorPolicy.
>>>>> Currently, we
>>>>> only have one policy so there's no point in having the separation.
>>>>> And
>>>>> the separation was done in a very ad-hoc way anyway. If we want to
>>>>> have
>>>>> more than one policy in the future we should really rethink on how
>>>>> it is
>>>>> done. Most of the changes were straightforward, the slightly more
>>>>> involved one was to combine various
>>>>> record_concurrent_mark_cleanup_end*() methods into one and rename
>>>>> some
>>>>> of the variables to make sure their names are consistent. I also
>>>>> changed
>>>>> protected fields into private, given that protected fields again
>>>>> do not
>>>>> make sense any more.
>>>>>
>>>>> http://syros.us.oracle.com/local_ws/hs-g1-g1p-cleanup/7088680/webrev.0/webre
>>>>>
>>>>> v.1.G1G1PCleanupMethodRefactoring/
>>>>>
>>>>> 3) Make several methods in G1CollectorPolicy non-virtual as it
>>>>> makes no
>>>>> sense for them to be virtual:
>>>>>
>>>>> http://syros.us.oracle.com/local_ws/hs-g1-g1p-cleanup/7088680/webrev.0/webre
>>>>>
>>>>> v.2.G1G1PCleanupDevirtualize/
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Tony
More information about the hotspot-gc-dev
mailing list