mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-22 03:54:33 +02:00
6985015: C1 needs to support compressed oops
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
This commit is contained in:
parent
8006fe8f75
commit
d59d7ffc4a
30 changed files with 493 additions and 429 deletions
|
@ -76,8 +76,8 @@ class FrameMap : public CompilationResourceObj {
|
|||
nof_cpu_regs_reg_alloc = pd_nof_cpu_regs_reg_alloc,
|
||||
nof_fpu_regs_reg_alloc = pd_nof_fpu_regs_reg_alloc,
|
||||
|
||||
nof_caller_save_cpu_regs = pd_nof_caller_save_cpu_regs_frame_map,
|
||||
nof_caller_save_fpu_regs = pd_nof_caller_save_fpu_regs_frame_map,
|
||||
max_nof_caller_save_cpu_regs = pd_nof_caller_save_cpu_regs_frame_map,
|
||||
nof_caller_save_fpu_regs = pd_nof_caller_save_fpu_regs_frame_map,
|
||||
|
||||
spill_slot_size_in_bytes = 4
|
||||
};
|
||||
|
@ -97,7 +97,7 @@ class FrameMap : public CompilationResourceObj {
|
|||
static Register _cpu_rnr2reg [nof_cpu_regs];
|
||||
static int _cpu_reg2rnr [nof_cpu_regs];
|
||||
|
||||
static LIR_Opr _caller_save_cpu_regs [nof_caller_save_cpu_regs];
|
||||
static LIR_Opr _caller_save_cpu_regs [max_nof_caller_save_cpu_regs];
|
||||
static LIR_Opr _caller_save_fpu_regs [nof_caller_save_fpu_regs];
|
||||
|
||||
int _framesize;
|
||||
|
@ -243,7 +243,7 @@ class FrameMap : public CompilationResourceObj {
|
|||
VMReg regname(LIR_Opr opr) const;
|
||||
|
||||
static LIR_Opr caller_save_cpu_reg_at(int i) {
|
||||
assert(i >= 0 && i < nof_caller_save_cpu_regs, "out of bounds");
|
||||
assert(i >= 0 && i < max_nof_caller_save_cpu_regs, "out of bounds");
|
||||
return _caller_save_cpu_regs[i];
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue