RFR (S): 7080389: G1: refactor marking code in evacuation pause copy closures
Tony Printezis
tony.printezis at oracle.com
Fri Aug 19 17:20:47 UTC 2011
John,
Good observation re: do_mark_forwardee not being quite accurate any more
(the same for the mark_forwardee() method too). I'd be OK with them
getting renamed to do_mark_object().
Tony
On 08/19/2011 01:19 PM, John Cuthbertson wrote:
> Wow. I certainly didn't think the changes were this controversial.
>
> I don't want to change the template parameter name unless it's to
> remove the "forwardee" (to perhaps do_mark_obect[s], or
> should_mark_object[s]) because it's is no longer strictly true that
> its the forwarded object that is marked. Forwarded objects are now
> marked by the code in copy_to_survivor_space. But changing the comment
> to include that do_mark_forwardee is true during an initial mark pause
> for the root scanning closures is fine.
>
> JohnC
>
> On 08/19/11 09:44, Stefan Karlsson wrote:
>> On 2011-08-19 18:23, Tony Printezis wrote:
>>>
>>>
>>> On 08/19/2011 11:58 AM, Stefan Karlsson wrote:
>>>>> Would you like better if John changes the comment to something
>>>>> like "we've been asked to mark the objects" and make sure the
>>>>> place where do_mark_forwardee is set to true describes why it is?
>>>>
>>>> Yes.
>>>>
>>>> I like the parameter name. The thing I'm having a problem with is
>>>> that the parameter name is "generic" in that sense that it doesn't
>>>> convey who's setting it to true.
>>>
>>> Whoever wants to make sure every object visited by the closure is
>>> marked.
>>
>> I see that you're misunderstanding what I'm trying to say. I like the
>> parameter name, but I don't like the comments.
>>
>> StefanK
>>
>>>
>>> Tony
>>>
>>>> But then we have the comment that goes on and reveals that
>>>> information anyway.
>>>>
>>>> StefanK
>>>>
>>>>>
>>>>> Tony
>>>>>
>>>>> On 08/19/2011 10:43 AM, Stefan Karlsson wrote:
>>>>>> On 08/19/2011 04:39 PM, Tony Printezis wrote:
>>>>>>> You think "do_mark_forwardee" is generic?!?!?! It's very
>>>>>>> descriptive on what it does.
>>>>>>
>>>>>> Well, it's more generic than something like
>>>>>> do_mark_forwardee_during_initial_mark_root_scanning, which at
>>>>>> least to me, the comments imply. Anyways, you don't have to
>>>>>> listen to my arguments if you don't want to.
>>>>>>
>>>>>> StefanK
>>>>>>
>>>>>>>
>>>>>>> Tony
>>>>>>>
>>>>>>> On 08/19/2011 10:35 AM, Stefan Karlsson wrote:
>>>>>>>> Tony,
>>>>>>>>
>>>>>>>> On 08/19/2011 04:19 PM, Tony Printezis wrote:
>>>>>>>>> Stefan,
>>>>>>>>>
>>>>>>>>> OK, good point. Maybe John can change the comment to something
>>>>>>>>> like "Need to mark the copied object if we're root scanning
>>>>>>>>> closure during initial mark, ....". Would this address your
>>>>>>>>> concern?
>>>>>>>>
>>>>>>>> I just don't see the reason for giving the parameter such a
>>>>>>>> "generic" name and then having comments about initial marking
>>>>>>>> root scan in the code whenever the parameter is used.
>>>>>>>>
>>>>>>>> StefanK
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Tony
>>>>>>>>>
>>>>>>>>> On 08/19/2011 10:01 AM, Stefan Karlsson wrote:
>>>>>>>>>> But that's not what the comment says:
>>>>>>>>>>
>>>>>>>>>> 4339 // Need to mark the copied object if we're an initial
>>>>>>>>>> 4340 // mark closure, or the object is already marked and
>>>>>>>>>> 4341 // we need to preserve the mark.
>>>>>>>>>> 4342 bool should_mark = do_mark_forwardee ||
>>>>>>>>>> 4343 (_g1->mark_in_progress()&& !_g1->is_obj_ill(obj));
>>>>>>>>>>
>>>>>>>>>> and
>>>>>>>>>>
>>>>>>>>>> 4357 // Object is not in collection set - if we're an
>>>>>>>>>> initial mark
>>>>>>>>>> 4358 // closure then mark the object.
>>>>>>>>>> 4359 if (do_mark_forwardee) {
>>>>>>>>>>
>>>>>>>>>> StefanK
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Tony
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>
>>
>
More information about the hotspot-gc-dev
mailing list