< prev index next >
src/hotspot/cpu/arm/c1_Runtime1_arm.cpp
Print this page
*** 43,52 ****
--- 43,53 ----
#include "utilities/align.hpp"
#include "vmreg_arm.inline.hpp"
#if INCLUDE_ALL_GCS
#include "gc/g1/g1BarrierSet.hpp"
#include "gc/g1/g1CardTable.hpp"
+ #include "gc/g1/g1ThreadLocalData.hpp"
#endif
// Note: Rtemp usage is this file should not impact C2 and should be
// correct as long as it is not implicitly used in lower layers (the
// arm [macro]assembler) and used with care in the other C1 specific
*** 562,577 ****
const Register r_pre_val_0 = R0; // must be R0, to be ready for the runtime call
const Register r_index_1 = R1;
const Register r_buffer_2 = R2;
! Address queue_active(Rthread, in_bytes(JavaThread::satb_mark_queue_offset() +
! SATBMarkQueue::byte_offset_of_active()));
! Address queue_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()));
Label done;
Label runtime;
// Is marking still active?
--- 563,575 ----
const Register r_pre_val_0 = R0; // must be R0, to be ready for the runtime call
const Register r_index_1 = R1;
const Register r_buffer_2 = R2;
! Address queue_active(Rthread, in_bytes(G1ThreadLocalData::satb_mark_queue_active_offset()));
! Address queue_index(Rthread, in_bytes(G1ThreadLocalData::satb_mark_queue_index_offset()));
! Address buffer(Rthread, in_bytes(G1ThreadLocalData::satb_mark_queue_buffer_offset()));
Label done;
Label runtime;
// Is marking still active?
*** 630,643 ****
Label done;
Label recheck;
Label runtime;
! 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()));
AddressLiteral cardtable(ci_card_table_address_as<address>(), relocInfo::none);
// save at least the registers that need saving if the runtime is called
#ifdef AARCH64
--- 628,639 ----
Label done;
Label recheck;
Label runtime;
! Address queue_index(Rthread, in_bytes(G1ThreadLocalData::dirty_card_queue_index_offset()));
! Address buffer(Rthread, in_bytes(G1ThreadLocalData::dirty_card_queue_buffer_offset()));
AddressLiteral cardtable(ci_card_table_address_as<address>(), relocInfo::none);
// save at least the registers that need saving if the runtime is called
#ifdef AARCH64
< prev index next >