equal
deleted
inserted
replaced
3956 void MacroAssembler::card_write_barrier_post(Register store_addr, Register new_val, Register tmp) { |
3956 void MacroAssembler::card_write_barrier_post(Register store_addr, Register new_val, Register tmp) { |
3957 // If we're writing constant NULL, we can skip the write barrier. |
3957 // If we're writing constant NULL, we can skip the write barrier. |
3958 if (new_val == G0) return; |
3958 if (new_val == G0) return; |
3959 CardTableModRefBS* bs = |
3959 CardTableModRefBS* bs = |
3960 barrier_set_cast<CardTableModRefBS>(Universe::heap()->barrier_set()); |
3960 barrier_set_cast<CardTableModRefBS>(Universe::heap()->barrier_set()); |
3961 assert(bs->kind() == BarrierSet::CardTableModRef || |
3961 assert(bs->kind() == BarrierSet::CardTableForRS || |
3962 bs->kind() == BarrierSet::CardTableExtension, "wrong barrier"); |
3962 bs->kind() == BarrierSet::CardTableExtension, "wrong barrier"); |
3963 card_table_write(bs->byte_map_base, tmp, store_addr); |
3963 card_table_write(bs->byte_map_base, tmp, store_addr); |
3964 } |
3964 } |
3965 |
3965 |
3966 void MacroAssembler::load_klass(Register src_oop, Register klass) { |
3966 void MacroAssembler::load_klass(Register src_oop, Register klass) { |