equal
deleted
inserted
replaced
71 void G1SATBCardTableModRefBS::write_ref_array_pre(oop* dst, int count, bool dest_uninitialized) { |
71 void G1SATBCardTableModRefBS::write_ref_array_pre(oop* dst, int count, bool dest_uninitialized) { |
72 if (!dest_uninitialized) { |
72 if (!dest_uninitialized) { |
73 write_ref_array_pre_work(dst, count); |
73 write_ref_array_pre_work(dst, count); |
74 } |
74 } |
75 } |
75 } |
|
76 |
76 void G1SATBCardTableModRefBS::write_ref_array_pre(narrowOop* dst, int count, bool dest_uninitialized) { |
77 void G1SATBCardTableModRefBS::write_ref_array_pre(narrowOop* dst, int count, bool dest_uninitialized) { |
77 if (!dest_uninitialized) { |
78 if (!dest_uninitialized) { |
78 write_ref_array_pre_work(dst, count); |
79 write_ref_array_pre_work(dst, count); |
79 } |
80 } |
80 } |
81 } |
152 log_trace(gc, barrier)(" &_byte_map[0]: " INTPTR_FORMAT " &_byte_map[_last_valid_index]: " INTPTR_FORMAT, |
153 log_trace(gc, barrier)(" &_byte_map[0]: " INTPTR_FORMAT " &_byte_map[_last_valid_index]: " INTPTR_FORMAT, |
153 p2i(&_byte_map[0]), p2i(&_byte_map[_last_valid_index])); |
154 p2i(&_byte_map[0]), p2i(&_byte_map[_last_valid_index])); |
154 log_trace(gc, barrier)(" byte_map_base: " INTPTR_FORMAT, p2i(byte_map_base)); |
155 log_trace(gc, barrier)(" byte_map_base: " INTPTR_FORMAT, p2i(byte_map_base)); |
155 } |
156 } |
156 |
157 |
157 void |
158 void G1SATBCardTableLoggingModRefBS::write_ref_field_post_slow(volatile jbyte* byte) { |
158 G1SATBCardTableLoggingModRefBS::write_ref_field_work(void* field, |
159 // In the slow path, we know a card is not young |
159 oop new_val, |
160 assert(*byte != g1_young_gen, "slow path invoked without filtering"); |
160 bool release) { |
|
161 volatile jbyte* byte = byte_for(field); |
|
162 if (*byte == g1_young_gen) { |
|
163 return; |
|
164 } |
|
165 OrderAccess::storeload(); |
161 OrderAccess::storeload(); |
166 if (*byte != dirty_card) { |
162 if (*byte != dirty_card) { |
167 *byte = dirty_card; |
163 *byte = dirty_card; |
168 Thread* thr = Thread::current(); |
164 Thread* thr = Thread::current(); |
169 if (thr->is_Java_thread()) { |
165 if (thr->is_Java_thread()) { |