Mercurial > hg > graal-compiler
comparison src/cpu/x86/vm/c1_FrameMap_x86.hpp @ 2002:ac637b7220d1
6985015: C1 needs to support compressed oops
Summary: This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh
author | iveresov |
---|---|
date | Tue, 30 Nov 2010 23:23:40 -0800 |
parents | f95d63e2154a |
children | 8a02ca5e5576 |
comparison
equal
deleted
inserted
replaced
1972:f95d63e2154a | 2002:ac637b7220d1 |
---|---|
128 static LIR_Opr caller_save_xmm_reg_at(int i) { | 128 static LIR_Opr caller_save_xmm_reg_at(int i) { |
129 assert(i >= 0 && i < nof_caller_save_xmm_regs, "out of bounds"); | 129 assert(i >= 0 && i < nof_caller_save_xmm_regs, "out of bounds"); |
130 return _caller_save_xmm_regs[i]; | 130 return _caller_save_xmm_regs[i]; |
131 } | 131 } |
132 | 132 |
133 static int adjust_reg_range(int range) { | |
134 // Reduce the number of available regs (to free r12) in case of compressed oops | |
135 if (UseCompressedOops) return range - 1; | |
136 return range; | |
137 } | |
138 | |
139 static int nof_caller_save_cpu_regs() { return adjust_reg_range(pd_nof_caller_save_cpu_regs_frame_map); } | |
140 static int last_cpu_reg() { return adjust_reg_range(pd_last_cpu_reg); } | |
141 static int last_byte_reg() { return adjust_reg_range(pd_last_byte_reg); } | |
142 | |
133 #endif // CPU_X86_VM_C1_FRAMEMAP_X86_HPP | 143 #endif // CPU_X86_VM_C1_FRAMEMAP_X86_HPP |
144 |