Mercurial > hg > graal-jvmci-8
comparison src/share/vm/memory/cardTableModRefBS.hpp @ 14422:2b8e28fdf503
Merge
author | kvn |
---|---|
date | Tue, 05 Nov 2013 17:38:04 -0800 |
parents | d55c004e1d4d |
children | cefad50507d8 3205e78d8193 |
comparison
equal
deleted
inserted
replaced
14421:3068270ba476 | 14422:2b8e28fdf503 |
---|---|
337 | 337 |
338 void mark_card_dirty(size_t card_index) { | 338 void mark_card_dirty(size_t card_index) { |
339 _byte_map[card_index] = dirty_card_val(); | 339 _byte_map[card_index] = dirty_card_val(); |
340 } | 340 } |
341 | 341 |
342 bool is_card_claimed(size_t card_index) { | |
343 jbyte val = _byte_map[card_index]; | |
344 return (val & (clean_card_mask_val() | claimed_card_val())) == claimed_card_val(); | |
345 } | |
346 | |
347 void set_card_claimed(size_t card_index) { | |
348 jbyte val = _byte_map[card_index]; | |
349 if (val == clean_card_val()) { | |
350 val = (jbyte)claimed_card_val(); | |
351 } else { | |
352 val |= (jbyte)claimed_card_val(); | |
353 } | |
354 _byte_map[card_index] = val; | |
355 } | |
356 | |
357 bool claim_card(size_t card_index); | |
358 | |
359 bool is_card_clean(size_t card_index) { | 342 bool is_card_clean(size_t card_index) { |
360 return _byte_map[card_index] == clean_card_val(); | 343 return _byte_map[card_index] == clean_card_val(); |
361 } | 344 } |
362 | |
363 bool is_card_deferred(size_t card_index) { | |
364 jbyte val = _byte_map[card_index]; | |
365 return (val & (clean_card_mask_val() | deferred_card_val())) == deferred_card_val(); | |
366 } | |
367 | |
368 bool mark_card_deferred(size_t card_index); | |
369 | 345 |
370 // Card marking array base (adjusted for heap low boundary) | 346 // Card marking array base (adjusted for heap low boundary) |
371 // This would be the 0th element of _byte_map, if the heap started at 0x0. | 347 // This would be the 0th element of _byte_map, if the heap started at 0x0. |
372 // But since the heap starts at some higher address, this points to somewhere | 348 // But since the heap starts at some higher address, this points to somewhere |
373 // before the beginning of the actual _byte_map. | 349 // before the beginning of the actual _byte_map. |