review for 7029167: add support for conditional card marks

Tom Rodriguez tom.rodriguez at oracle.com
Wed Mar 30 17:38:57 PDT 2011


On Mar 30, 2011, at 5:35 PM, Igor Veresov wrote:

> On 3/30/11 5:33 PM, Tom Rodriguez wrote:
>> 
>> On Mar 30, 2011, at 5:25 PM, Igor Veresov wrote:
>> 
>>> Looks good.
>> 
>> Thanks!
>> 
>>> Could you use CardTableModRefBS::dirty_card_val() instead of 0? I know we use just zero already in many places, but I'm fresh from barrier experimentation and it would've been much nicer if we used symbolic names.
>> 
>> I'd rather not.  If we really want to use dirty_card_val then it should be done everywhere as its own change instead of just patching part of C2.
>> 
> 
> May be a comment then, saying that ConI(0) represents dirty_card ? Just for the sake of future grepping?

Ok.

  BasicType bt = T_BYTE;
  Node*   zero = __ ConI(0); // Dirty card value                                                                                                     

  if (UseCondCardMark) {

tom

> 
> igor
> 
>> tom
>> 
>>> 
>>> 
>>> igor
>>> 
>>> On 3/30/11 4:46 PM, Tom Rodriguez wrote:
>>>> http://cr.openjdk.java.net/~never/7029167
>>>> 
>>>> 7029167: add support for conditional card marks
>>>> Reviewed-by:
>>>> 
>>>> Repeated updates to the card table can be a source of contention on
>>>> multiprocessor machines that can greatly inhibit scalability.  This
>>>> adds support in C2 for conditional card marks.  Tested with jbb and
>>>> CTW.  At some point this should be turned on automatically when multi
>>>> socket machines are detected but that's covered under another bug as
>>>> is C1 support.
>>>> 
>>> 
>> 
> 



More information about the hotspot-compiler-dev mailing list