Mercurial > hg > truffle
comparison src/cpu/x86/vm/c1_FrameMap_x86.hpp @ 304:dc7f315e41f7
5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
author | never |
---|---|
date | Wed, 27 Aug 2008 00:21:55 -0700 |
parents | a61af66fc99e |
children | 9ee9cf798b59 |
comparison
equal
deleted
inserted
replaced
303:fa4d1d240383 | 304:dc7f315e41f7 |
---|---|
36 | 36 |
37 enum { | 37 enum { |
38 nof_xmm_regs = pd_nof_xmm_regs_frame_map, | 38 nof_xmm_regs = pd_nof_xmm_regs_frame_map, |
39 nof_caller_save_xmm_regs = pd_nof_caller_save_xmm_regs_frame_map, | 39 nof_caller_save_xmm_regs = pd_nof_caller_save_xmm_regs_frame_map, |
40 first_available_sp_in_frame = 0, | 40 first_available_sp_in_frame = 0, |
41 #ifndef _LP64 | |
41 frame_pad_in_bytes = 8, | 42 frame_pad_in_bytes = 8, |
42 nof_reg_args = 2 | 43 nof_reg_args = 2 |
44 #else | |
45 frame_pad_in_bytes = 16, | |
46 nof_reg_args = 6 | |
47 #endif // _LP64 | |
43 }; | 48 }; |
44 | 49 |
45 private: | 50 private: |
46 static LIR_Opr _caller_save_xmm_regs [nof_caller_save_xmm_regs]; | 51 static LIR_Opr _caller_save_xmm_regs [nof_caller_save_xmm_regs]; |
47 | 52 |
63 static LIR_Opr rdi_oop_opr; | 68 static LIR_Opr rdi_oop_opr; |
64 static LIR_Opr rbx_oop_opr; | 69 static LIR_Opr rbx_oop_opr; |
65 static LIR_Opr rax_oop_opr; | 70 static LIR_Opr rax_oop_opr; |
66 static LIR_Opr rdx_oop_opr; | 71 static LIR_Opr rdx_oop_opr; |
67 static LIR_Opr rcx_oop_opr; | 72 static LIR_Opr rcx_oop_opr; |
73 #ifdef _LP64 | |
68 | 74 |
69 static LIR_Opr rax_rdx_long_opr; | 75 static LIR_Opr r8_opr; |
70 static LIR_Opr rbx_rcx_long_opr; | 76 static LIR_Opr r9_opr; |
77 static LIR_Opr r10_opr; | |
78 static LIR_Opr r11_opr; | |
79 static LIR_Opr r12_opr; | |
80 static LIR_Opr r13_opr; | |
81 static LIR_Opr r14_opr; | |
82 static LIR_Opr r15_opr; | |
83 | |
84 static LIR_Opr r8_oop_opr; | |
85 static LIR_Opr r9_oop_opr; | |
86 | |
87 static LIR_Opr r11_oop_opr; | |
88 static LIR_Opr r12_oop_opr; | |
89 static LIR_Opr r13_oop_opr; | |
90 static LIR_Opr r14_oop_opr; | |
91 | |
92 #endif // _LP64 | |
93 | |
94 static LIR_Opr long0_opr; | |
95 static LIR_Opr long1_opr; | |
71 static LIR_Opr fpu0_float_opr; | 96 static LIR_Opr fpu0_float_opr; |
72 static LIR_Opr fpu0_double_opr; | 97 static LIR_Opr fpu0_double_opr; |
73 static LIR_Opr xmm0_float_opr; | 98 static LIR_Opr xmm0_float_opr; |
74 static LIR_Opr xmm0_double_opr; | 99 static LIR_Opr xmm0_double_opr; |
75 | 100 |
101 #ifdef _LP64 | |
102 static LIR_Opr as_long_opr(Register r) { | |
103 return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r)); | |
104 } | |
105 static LIR_Opr as_pointer_opr(Register r) { | |
106 return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r)); | |
107 } | |
108 #else | |
76 static LIR_Opr as_long_opr(Register r, Register r2) { | 109 static LIR_Opr as_long_opr(Register r, Register r2) { |
77 return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r2)); | 110 return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r2)); |
78 } | 111 } |
112 static LIR_Opr as_pointer_opr(Register r) { | |
113 return LIR_OprFact::single_cpu(cpu_reg2rnr(r)); | |
114 } | |
115 #endif // _LP64 | |
79 | 116 |
80 // VMReg name for spilled physical FPU stack slot n | 117 // VMReg name for spilled physical FPU stack slot n |
81 static VMReg fpu_regname (int n); | 118 static VMReg fpu_regname (int n); |
82 | 119 |
83 static XMMRegister nr2xmmreg(int rnr); | 120 static XMMRegister nr2xmmreg(int rnr); |