< prev index next >

src/hotspot/cpu/arm/macroAssembler_arm.cpp

Print this page

        

*** 44,53 **** --- 44,54 ---- #include "runtime/stubRoutines.hpp" #include "utilities/macros.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 // Implementation of AddressLiteral
*** 2172,2187 **** } else { assert (new_val == noreg, "should be"); assert_different_registers(pre_val, tmp1, tmp2, noreg); } ! Address in_progress(Rthread, in_bytes(JavaThread::satb_mark_queue_offset() + ! SATBMarkQueue::byte_offset_of_active())); ! Address index(Rthread, in_bytes(JavaThread::satb_mark_queue_offset() + ! SATBMarkQueue::byte_offset_of_index())); ! Address buffer(Rthread, in_bytes(JavaThread::satb_mark_queue_offset() + ! SATBMarkQueue::byte_offset_of_buf())); // Is marking active? assert(in_bytes(SATBMarkQueue::byte_width_of_active()) == 1, "adjust this code"); ldrb(tmp1, in_progress); cbz(tmp1, done); --- 2173,2185 ---- } else { assert (new_val == noreg, "should be"); assert_different_registers(pre_val, tmp1, tmp2, noreg); } ! Address in_progress(Rthread, in_bytes(G1ThreadLocalData::satb_mark_queue_active_offset())); ! Address index(Rthread, in_bytes(G1ThreadLocalData::satb_mark_queue_index_offset())); ! Address buffer(Rthread, in_bytes(G1ThreadLocalData::satb_mark_queue_buffer_offset())); // Is marking active? assert(in_bytes(SATBMarkQueue::byte_width_of_active()) == 1, "adjust this code"); ldrb(tmp1, in_progress); cbz(tmp1, done);
*** 2258,2271 **** Register new_val, Register tmp1, Register tmp2, Register tmp3) { ! Address queue_index(Rthread, in_bytes(JavaThread::dirty_card_queue_offset() + ! DirtyCardQueue::byte_offset_of_index())); ! Address buffer(Rthread, 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(); Label done; --- 2256,2267 ---- Register new_val, Register tmp1, Register tmp2, Register tmp3) { ! Address queue_index(Rthread, in_bytes(G1ThreadLocalData::dirty_card_queue_index_offset())); ! Address buffer(Rthread, 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(); Label done;
< prev index next >