src/cpu/x86/vm/c1_FrameMap_x86.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/cpu/x86/vm/c1_FrameMap_x86.hpp	Thu Nov 25 07:05:57 2010
--- new/src/cpu/x86/vm/c1_FrameMap_x86.hpp	Thu Nov 25 07:05:57 2010

*** 128,133 **** --- 128,144 ---- static LIR_Opr caller_save_xmm_reg_at(int i) { assert(i >= 0 && i < nof_caller_save_xmm_regs, "out of bounds"); return _caller_save_xmm_regs[i]; } + static int adjust_reg_range(int range) { + // Reduce the number of available regs (to free r12) in case of compressed oops + if (UseCompressedOops) return range - 1; + return range; + } + + static int nof_caller_save_cpu_regs() { return adjust_reg_range(pd_nof_caller_save_cpu_regs_frame_map); } + static int last_cpu_reg() { return adjust_reg_range(pd_last_cpu_reg); } + static int last_byte_reg() { return adjust_reg_range(pd_last_byte_reg); } + #endif // CPU_X86_VM_C1_FRAMEMAP_X86_HPP +

src/cpu/x86/vm/c1_FrameMap_x86.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File