mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-18 10:04:42 +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
|
@ -165,15 +165,17 @@ class LIR_Assembler: public CompilationResourceObj {
|
|||
|
||||
void const2reg (LIR_Opr src, LIR_Opr dest, LIR_PatchCode patch_code, CodeEmitInfo* info);
|
||||
void const2stack(LIR_Opr src, LIR_Opr dest);
|
||||
void const2mem (LIR_Opr src, LIR_Opr dest, BasicType type, CodeEmitInfo* info);
|
||||
void const2mem (LIR_Opr src, LIR_Opr dest, BasicType type, CodeEmitInfo* info, bool wide);
|
||||
void reg2stack (LIR_Opr src, LIR_Opr dest, BasicType type, bool pop_fpu_stack);
|
||||
void reg2reg (LIR_Opr src, LIR_Opr dest);
|
||||
void reg2mem (LIR_Opr src, LIR_Opr dest, BasicType type, LIR_PatchCode patch_code, CodeEmitInfo* info, bool pop_fpu_stack, bool unaligned);
|
||||
void reg2mem (LIR_Opr src, LIR_Opr dest, BasicType type,
|
||||
LIR_PatchCode patch_code, CodeEmitInfo* info,
|
||||
bool pop_fpu_stack, bool wide, bool unaligned);
|
||||
void stack2reg (LIR_Opr src, LIR_Opr dest, BasicType type);
|
||||
void stack2stack(LIR_Opr src, LIR_Opr dest, BasicType type);
|
||||
void mem2reg (LIR_Opr src, LIR_Opr dest, BasicType type,
|
||||
LIR_PatchCode patch_code = lir_patch_none,
|
||||
CodeEmitInfo* info = NULL, bool unaligned = false);
|
||||
LIR_PatchCode patch_code,
|
||||
CodeEmitInfo* info, bool wide, bool unaligned);
|
||||
|
||||
void prefetchr (LIR_Opr src);
|
||||
void prefetchw (LIR_Opr src);
|
||||
|
@ -211,7 +213,7 @@ class LIR_Assembler: public CompilationResourceObj {
|
|||
|
||||
void roundfp_op(LIR_Opr src, LIR_Opr tmp, LIR_Opr dest, bool pop_fpu_stack);
|
||||
void move_op(LIR_Opr src, LIR_Opr result, BasicType type,
|
||||
LIR_PatchCode patch_code, CodeEmitInfo* info, bool pop_fpu_stack, bool unaligned);
|
||||
LIR_PatchCode patch_code, CodeEmitInfo* info, bool pop_fpu_stack, bool unaligned, bool wide);
|
||||
void volatile_move_op(LIR_Opr src, LIR_Opr result, BasicType type, CodeEmitInfo* info);
|
||||
void comp_mem_op(LIR_Opr src, LIR_Opr result, BasicType type, CodeEmitInfo* info); // info set for null exceptions
|
||||
void comp_fl2i(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr result, LIR_Op2* op);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue