--- old/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp 2018-04-11 11:32:53.144862662 +0200 +++ new/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp 2018-04-11 11:32:52.937853719 +0200 @@ -50,6 +50,7 @@ #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 @@ -4033,12 +4034,9 @@ 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())); + 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? @@ -4122,10 +4120,8 @@ 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())); + 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(bs);