< prev index next >

src/hotspot/cpu/arm/c1_Runtime1_arm.cpp

Print this page
rev 49217 : 8199511: Do not generate g1_{pre|post}_barrier_slow_id without CardTable-enabled barrier set
Reviewed-by: XXX

*** 538,547 **** --- 538,555 ---- // Input: // - pre_val pushed on the stack __ set_info("g1_pre_barrier_slow_id", dont_gc_arguments); + BarrierSet* bs = Universe::heap()->barrier_set(); + if (bs->kind() != BarrierSet::G1BarrierSet) { + __ mov(R0, (int)id); + __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, unimplemented_entry), R0); + __ should_not_reach_here(); + break; + } + // save at least the registers that need saving if the runtime is called #ifdef AARCH64 __ raw_push(R0, R1); __ raw_push(R2, R3); const int nb_saved_regs = 4;
*** 610,619 **** --- 618,635 ---- // Input: // - store_addr, pushed on the stack __ set_info("g1_post_barrier_slow_id", dont_gc_arguments); + BarrierSet* bs = Universe::heap()->barrier_set(); + if (bs->kind() != BarrierSet::G1BarrierSet) { + __ mov(R0, (int)id); + __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, unimplemented_entry), R0); + __ should_not_reach_here(); + break; + } + Label done; Label recheck; Label runtime; Address queue_index(Rthread, in_bytes(JavaThread::dirty_card_queue_offset() +
< prev index next >