< prev index next >

src/hotspot/cpu/aarch64/c1_FrameMap_aarch64.cpp

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

Summary: Adding Windows support for AArch64

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

*** 179,189 **** --- 179,192 ---- map_register(i, r13); r13_opr = LIR_OprFact::single_cpu(i); i++; map_register(i, r14); r14_opr = LIR_OprFact::single_cpu(i); i++; map_register(i, r15); r15_opr = LIR_OprFact::single_cpu(i); i++; map_register(i, r16); r16_opr = LIR_OprFact::single_cpu(i); i++; map_register(i, r17); r17_opr = LIR_OprFact::single_cpu(i); i++; + #ifndef _WIN64 + // See comment in aarch64.ad about R18 in non_allocatable_reg32 map_register(i, r18); r18_opr = LIR_OprFact::single_cpu(i); i++; + #endif map_register(i, r19); r19_opr = LIR_OprFact::single_cpu(i); i++; map_register(i, r20); r20_opr = LIR_OprFact::single_cpu(i); i++; map_register(i, r21); r21_opr = LIR_OprFact::single_cpu(i); i++; map_register(i, r22); r22_opr = LIR_OprFact::single_cpu(i); i++; map_register(i, r23); r23_opr = LIR_OprFact::single_cpu(i); i++;
*** 197,206 **** --- 200,214 ---- map_register(i, r30); r30_opr = LIR_OprFact::single_cpu(i); i++; // lr map_register(i, r31_sp); sp_opr = LIR_OprFact::single_cpu(i); i++; // sp map_register(i, r8); r8_opr = LIR_OprFact::single_cpu(i); i++; // rscratch1 map_register(i, r9); r9_opr = LIR_OprFact::single_cpu(i); i++; // rscratch2 + #ifdef _WIN64 + // See comment in aarch64.ad about R18 in non_allocatable_reg32 + map_register(i, r18); r18_opr = LIR_OprFact::single_cpu(i); i++; // TLS for Win + #endif + rscratch1_opr = r8_opr; rscratch2_opr = r9_opr; rscratch1_long_opr = LIR_OprFact::double_cpu(r8_opr->cpu_regnr(), r8_opr->cpu_regnr()); rscratch2_long_opr = LIR_OprFact::double_cpu(r9_opr->cpu_regnr(), r9_opr->cpu_regnr());
*** 225,235 **** --- 233,246 ---- _caller_save_cpu_regs[11] = r13_opr; _caller_save_cpu_regs[12] = r14_opr; _caller_save_cpu_regs[13] = r15_opr; _caller_save_cpu_regs[14] = r16_opr; _caller_save_cpu_regs[15] = r17_opr; + #ifndef _WIN64 + // R18 used for TLS on Windows _caller_save_cpu_regs[16] = r18_opr; + #endif for (int i = 0; i < 8; i++) { _caller_save_fpu_regs[i] = LIR_OprFact::single_fpu(i); }
< prev index next >