< prev index next >

src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp

Print this page

        

*** 48,57 **** --- 48,58 ---- #include "runtime/sharedRuntime.hpp" #include "runtime/thread.hpp" #if INCLUDE_ALL_GCS #include "gc/g1/g1BarrierSet.hpp" #include "gc/g1/g1CardTable.hpp" + #include "gc/g1/g1ThreadLocalData.hpp" #include "gc/g1/heapRegion.hpp" #endif #ifdef PRODUCT #define BLOCK_COMMENT(str) /* nothing */
*** 4031,4046 **** Label runtime; assert_different_registers(obj, pre_val, tmp, rscratch1); assert(pre_val != noreg && tmp != noreg, "expecting a register"); ! Address in_progress(thread, in_bytes(JavaThread::satb_mark_queue_offset() + ! SATBMarkQueue::byte_offset_of_active())); ! Address index(thread, in_bytes(JavaThread::satb_mark_queue_offset() + ! SATBMarkQueue::byte_offset_of_index())); ! Address buffer(thread, in_bytes(JavaThread::satb_mark_queue_offset() + ! SATBMarkQueue::byte_offset_of_buf())); // Is marking active? if (in_bytes(SATBMarkQueue::byte_width_of_active()) == 4) { ldrw(tmp, in_progress); --- 4032,4044 ---- Label runtime; assert_different_registers(obj, pre_val, tmp, rscratch1); assert(pre_val != noreg && tmp != noreg, "expecting a register"); ! Address in_progress(thread, in_bytes(G1ThreadLocalData::satb_mark_queue_active_offset())); ! Address index(thread, in_bytes(G1ThreadLocalData::satb_mark_queue_index_offset())); ! Address buffer(thread, in_bytes(G1ThreadLocalData::satb_mark_queue_buffer_offset())); // Is marking active? if (in_bytes(SATBMarkQueue::byte_width_of_active()) == 4) { ldrw(tmp, in_progress);
*** 4120,4133 **** assert_different_registers(store_addr, new_val, thread, tmp, tmp2, rscratch1); assert(store_addr != noreg && new_val != noreg && tmp != noreg && tmp2 != noreg, "expecting a register"); ! Address queue_index(thread, in_bytes(JavaThread::dirty_card_queue_offset() + ! DirtyCardQueue::byte_offset_of_index())); ! Address buffer(thread, in_bytes(JavaThread::dirty_card_queue_offset() + ! DirtyCardQueue::byte_offset_of_buf())); BarrierSet* bs = Universe::heap()->barrier_set(); CardTableBarrierSet* ctbs = barrier_set_cast<CardTableBarrierSet>(bs); CardTable* ct = ctbs->card_table(); assert(sizeof(*ct->byte_map_base()) == sizeof(jbyte), "adjust this code"); --- 4118,4129 ---- assert_different_registers(store_addr, new_val, thread, tmp, tmp2, rscratch1); assert(store_addr != noreg && new_val != noreg && tmp != noreg && tmp2 != noreg, "expecting a register"); ! Address queue_index(thread, in_bytes(G1ThreadLocalData::dirty_card_queue_index_offset())); ! Address buffer(thread, in_bytes(G1ThreadLocalData::dirty_card_queue_buffer_offset())); BarrierSet* bs = Universe::heap()->barrier_set(); CardTableBarrierSet* ctbs = barrier_set_cast<CardTableBarrierSet>(bs); CardTable* ct = ctbs->card_table(); assert(sizeof(*ct->byte_map_base()) == sizeof(jbyte), "adjust this code");
< prev index next >