< 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 >