< prev index next >

src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp

Print this page
8248238: Adding Windows support to OpenJDK on AArch64

Summary: LP64 vs LLP64 changes to add Windows support

Contributed-by: Monica Beckwith <monica.beckwith@microsoft.com>, Ludovic Henry <luhenry@microsoft.com>
Reviewed-by:

*** 166,176 **** ldrh(reg, Address(rbcp, bcp_offset)); rev16(reg, reg); } void InterpreterMacroAssembler::get_dispatch() { ! unsigned long offset; adrp(rdispatch, ExternalAddress((address)Interpreter::dispatch_table()), offset); lea(rdispatch, Address(rdispatch, offset)); } void InterpreterMacroAssembler::get_cache_index_at_bcp(Register index, --- 166,176 ---- ldrh(reg, Address(rbcp, bcp_offset)); rev16(reg, reg); } void InterpreterMacroAssembler::get_dispatch() { ! uint64_t offset; adrp(rdispatch, ExternalAddress((address)Interpreter::dispatch_table()), offset); lea(rdispatch, Address(rdispatch, offset)); } void InterpreterMacroAssembler::get_cache_index_at_bcp(Register index,
*** 763,773 **** // NOTE: the oopMark is in swap_reg %r0 as the result of cmpxchg // NOTE2: aarch64 does not like to subtract sp from rn so take a // copy mov(rscratch1, sp); sub(swap_reg, swap_reg, rscratch1); ! ands(swap_reg, swap_reg, (unsigned long)(7 - os::vm_page_size())); // Save the test result, for recursive case, the result is zero str(swap_reg, Address(lock_reg, mark_offset)); if (PrintBiasedLockingStatistics) { --- 763,773 ---- // NOTE: the oopMark is in swap_reg %r0 as the result of cmpxchg // NOTE2: aarch64 does not like to subtract sp from rn so take a // copy mov(rscratch1, sp); sub(swap_reg, swap_reg, rscratch1); ! ands(swap_reg, swap_reg, (uint64_t)(7 - os::vm_page_size())); // Save the test result, for recursive case, the result is zero str(swap_reg, Address(lock_reg, mark_offset)); if (PrintBiasedLockingStatistics) {
< prev index next >